220419 Today I Learned
일지
오…
이게진짜 협업인거고
코딩으로 뭔가 만들어내는 거구나
신기하다.
그저 신기하다…
주요 키워드
오늘의 할일
- 220419 TIL 작성
- Qwiklab; Introduction to Amazon Elastic Container Service
- Qwiklab; Introduction to Amazon ElastiCache
- Ansible 주요 개념정리?
- 별도 팀프로젝트 Part 진행
추가로 정리해야할 부분
yum httpd랑 yum apache2가 뭐가 다르지
다시말해 apache 랑 apache2랑 무슨차이?
공부 정리
별도프로젝트 진행도
JIRA를 활용한 프로젝트 진행도 관리
카카오톡 나에게 메세지 보내기 테스트
ECS
- Amazon ECS는 컨테이너화된 애플리케이션의 손쉬운 배포, 관리 및 크기 조정을 지원하는 완전관리형 컨테이너 오케스트레이션 서비스.
- Amazon EC2 인스턴스 클러스터에서 Docker 컨테이너를 손쉽게 실행, 중단 및 관리할 수 있게 해주는 고도로 확장 가능하고 빠른 컨테이너 관리 서비스.
- Lab 설명
- Amazon ECS Task Definiton 생성
- Amazon ECS Cluster 복제
- Amazon ECS 서비스로의 어플리케이션 배포
-
ECS 컨테이너 생성 후 내용 업데이트(Update, Revision) 설정하는 화면
-
설정 업데이트 후 서비스가 안정화 되어가는 기록 조회
- 업데이트 된 최종 예시 웹페이지 접속 화면
ElastiCache
- Amazon ElastiCache는 기존의 느린 데이터베이스 기반 웹 서비스 대신, 신속하고 관리가능한 인메모리캐시(In-memory caches)에서 데이터 수신을 통한 웹 어플리케이션의 성능을 향상시킴.
- 많이 사용되는 오픈소스 엔진인 Memcached와 Redis 두 엔진과 호환됨
- 담당 주제
- Amazon ElatiCache cluster 생성
- 엘라스틱캐시 클러스터로의 접근 허가
- 엘라스틱캐시 클러스터로의 접속 및 명령어 실행
- 엘라스틱캐시 클러스터 삭제
-
Redis ElastiCache cluster 생성 검토 화면
- 클러스터 생성후, 인스턴스로 접속하여 캐시 테스트
Ansible
- 반복문
- 반복적인 작업을 효율적으로 하기 위해 사용
- loop 구문을 사용해서 각 모듈(작업)에 대한 반복 작업 수행 가능
- 변수 값을 변경하면서 모듈을 실행 ( item 이라는 이름의 변수 사용 )
- 조건식과는 다르게 block 단위의 반복작업은 불가
- 조건식과 함께 사용하는 방식은 가능
- loop 구문에서 변수 선언 시에 리스트 형태 구성도 가능
- 중첩 기능도 제공
- 조건문
- Ansible은 조건문을 사용하여 특정 조건을 충족하는 작업 또는 플레이를 실행할 수 있음
- 서비스를 설치하거나 구성하기 전에 관리 호스트에서 사용 가능한 메모리를 확인하는데 조건문을 사용할 수 있음
- 조건문을 사용하여 관리자가 관리 호스트간의 차이점을 구분하고 충족된 조건을 기반으로 하여 기능 역활을 할당할 수 있음
- 플레이북 변수, 등록된 변수 및 Ansible 팩트는 모두 조건문을 사용하여 테스트할 수 있음.
- Ansible은 조건부에서 테스트 및 필터 를 사용
- 테스트는 표현식을 평가하고 True 와 False를 반환
- 조건문에서 변수를 참조 하더라도 변수명에 {{ }} 이중 중괄호를 사용하지 않음
- 템플릿
- 소개
- Asible에서 파일을 관리하는 가장 강력한 방법은 템플릿을 만드는 것
- 템플릿을 사용하면 가능한 변수와 팩트를 사용하여 파일이 배포될 때 관리 호스트에 대해 자동으로 사용자 정의되는 템플릿 구성 파일을 작성할 수 있음
- Jinja2
- Python의 매우 강력하고 고급 템플릿 언어
- 매우 빠르고 안정적이며 동적 데이터를 생성하는 데 널리 사용
- 텍스트 기반 템플릿 언어이므로 모든 마크업과 소스 코드를 생성하는 데 사용할 수 있음
- Jinja2 의 특징
- 제어 구조(루프 및 조건문)
- 템플릿 상속
- 사용자 정의 필터 지원
- 풍부한 내장 필터 세트
- 구성 가능한 구문
- Jinja2 기호
- Python의 매우 강력하고 고급 템플릿 언어
- 매우 빠르고 안정적이며 동적 데이터를 생성하는 데 널리 사용
- 텍스트 기반 템플릿 언어이므로 모든 마크업과 소스 코드를 생성하는 데 사용할 수 있음
- 소개
- 핸들러
- 특정 서비스가 실행 중일 경우에만 httpd 서비스 다시 시작
- 핸들러(Handler)는 작업을 실행하고 시스템의 변경(Changed)이 있을 때에 별도의 작업을 호출하고 실행하는 작업
- 주로 핸들러를 사용하게 시스템에서 특정 서비스의 구성 파일이 변경된 경우 서비스를 재시작할 때
- Ansible 모듈은 멱등이 되도록 설계 되어 있음. 즉 제어 노드가 원하는 상태가 되도록 하기 위해 플레이북과 해당 작업을 변경하지 않아도 되는 경우, 적절하게 작성된 플레이북에서 제어노드를 변경하지 않고 플레이북과 해당 작업을 여러번 실행 가능
- 핸들러는 작업에 변경이 있고, 반드시 알림(Notify)이 있을 때만 실행되는 작업
- 작업(변경) —> 알림 —> 핸들러
- 위임(작업 실행 위치 제어)
- 하나의 플레이를 실행 할 때 작업들은 별도로 설정하지 않는 한 호스트에 실행이 됨
- 위임(delegation)은 호스트에 정의 되어있는 여러 작업들 중에 일부분의 작업을 다른 호스트에서 실행할 수 있음
- 위임을 사용하면 상호 관련된 환경을 정확하고 효율적으로 관리할 수 있음
- 다른 호스트를 참조하여 한 호스트에서 작업을 수행하려면 작업에서 delegate_to키워드를 사용
- 이는 로드 밸런싱된 풀에서 노드를 관리하거나 중단 기간을 제어하는 데 이상적
- 직렬 키워드 와 함께 위임을 사용 하여 한 번에 실행되는 호스트 수를 제어할 수 있음
Leave a comment