3 minute read

일지

오…

이게진짜 협업인거고
코딩으로 뭔가 만들어내는 거구나

신기하다.
그저 신기하다…

주요 키워드

오늘의 할일

  • 220419 TIL 작성
  • Qwiklab; Introduction to Amazon Elastic Container Service
  • Qwiklab; Introduction to Amazon ElastiCache
  • Ansible 주요 개념정리?
  • 별도 팀프로젝트 Part 진행

추가로 정리해야할 부분

yum httpd랑 yum apache2가 뭐가 다르지
다시말해 apache 랑 apache2랑 무슨차이?

공부 정리

별도프로젝트 진행도

JIRA를 활용한 프로젝트 진행도 관리

JIRA

카카오톡 나에게 메세지 보내기 테스트

KAKAOTALK

ECS

  • Amazon ECS는 컨테이너화된 애플리케이션의 손쉬운 배포, 관리 및 크기 조정을 지원하는 완전관리형 컨테이너 오케스트레이션 서비스.
  • Amazon EC2 인스턴스 클러스터에서 Docker 컨테이너를 손쉽게 실행, 중단 및 관리할 수 있게 해주는 고도로 확장 가능하고 빠른 컨테이너 관리 서비스.
  • Lab 설명
    • Amazon ECS Task Definiton 생성
    • Amazon ECS Cluster 복제
    • Amazon ECS 서비스로의 어플리케이션 배포

    update

  • ECS 컨테이너 생성 후 내용 업데이트(Update, Revision) 설정하는 화면

    steady

  • 설정 업데이트 후 서비스가 안정화 되어가는 기록 조회

    web

  • 업데이트 된 최종 예시 웹페이지 접속 화면

ElastiCache

  • Amazon ElastiCache는 기존의 느린 데이터베이스 기반 웹 서비스 대신, 신속하고 관리가능한 인메모리캐시(In-memory caches)에서 데이터 수신을 통한 웹 어플리케이션의 성능을 향상시킴.
  • 많이 사용되는 오픈소스 엔진인 Memcached와 Redis 두 엔진과 호환됨
  • 담당 주제
    • Amazon ElatiCache cluster 생성
    • 엘라스틱캐시 클러스터로의 접근 허가
    • 엘라스틱캐시 클러스터로의 접속 및 명령어 실행
    • 엘라스틱캐시 클러스터 삭제

    create

  • Redis ElastiCache cluster 생성 검토 화면

    steady

  • 클러스터 생성후, 인스턴스로 접속하여 캐시 테스트

Ansible

  • 반복문
    • 반복적인 작업을 효율적으로 하기 위해 사용
    • loop 구문을 사용해서 각 모듈(작업)에 대한 반복 작업 수행 가능
    • 변수 값을 변경하면서 모듈을 실행 ( item 이라는 이름의 변수 사용 )
    • 조건식과는 다르게 block 단위의 반복작업은 불가
    • 조건식과 함께 사용하는 방식은 가능
    • loop 구문에서 변수 선언 시에 리스트 형태 구성도 가능
    • 중첩 기능도 제공
  • 조건문
    • Ansible은 조건문을 사용하여 특정 조건을 충족하는 작업 또는 플레이를 실행할 수 있음
    • 서비스를 설치하거나 구성하기 전에 관리 호스트에서 사용 가능한 메모리를 확인하는데 조건문을 사용할 수 있음
    • 조건문을 사용하여 관리자가 관리 호스트간의 차이점을 구분하고 충족된 조건을 기반으로 하여 기능 역활을 할당할 수 있음
    • 플레이북 변수, 등록된 변수 및 Ansible 팩트는 모두 조건문을 사용하여 테스트할 수 있음.
    • Ansible은 조건부에서 테스트 및 필터 를 사용
    • 테스트는 표현식을 평가하고 True 와 False를 반환
    • 조건문에서 변수를 참조 하더라도 변수명에 {{ }} 이중 중괄호를 사용하지 않음
  • 템플릿
    • 소개
      • Asible에서 파일을 관리하는 가장 강력한 방법은 템플릿을 만드는 것
      • 템플릿을 사용하면 가능한 변수와 팩트를 사용하여 파일이 배포될 때 관리 호스트에 대해 자동으로 사용자 정의되는 템플릿 구성 파일을 작성할 수 있음
    • Jinja2
      • Python의 매우 강력하고 고급 템플릿 언어
      • 매우 빠르고 안정적이며 동적 데이터를 생성하는 데 널리 사용
      • 텍스트 기반 템플릿 언어이므로 모든 마크업과 소스 코드를 생성하는 데 사용할 수 있음
    • Jinja2 의 특징
      • 제어 구조(루프 및 조건문)
      • 템플릿 상속
      • 사용자 정의 필터 지원
      • 풍부한 내장 필터 세트
      • 구성 가능한 구문
      • Jinja2 기호
      • Python의 매우 강력하고 고급 템플릿 언어
      • 매우 빠르고 안정적이며 동적 데이터를 생성하는 데 널리 사용
      • 텍스트 기반 템플릿 언어이므로 모든 마크업과 소스 코드를 생성하는 데 사용할 수 있음
  • 핸들러
    • 특정 서비스가 실행 중일 경우에만 httpd 서비스 다시 시작
    • 핸들러(Handler)는 작업을 실행하고 시스템의 변경(Changed)이 있을 때에 별도의 작업을 호출하고 실행하는 작업
    • 주로 핸들러를 사용하게 시스템에서 특정 서비스의 구성 파일이 변경된 경우 서비스를 재시작할 때
    • Ansible 모듈은 멱등이 되도록 설계 되어 있음. 즉 제어 노드가 원하는 상태가 되도록 하기 위해 플레이북과 해당 작업을 변경하지 않아도 되는 경우, 적절하게 작성된 플레이북에서 제어노드를 변경하지 않고 플레이북과 해당 작업을 여러번 실행 가능
    • 핸들러는 작업에 변경이 있고, 반드시 알림(Notify)이 있을 때만 실행되는 작업
    • 작업(변경) —> 알림 —> 핸들러
  • 위임(작업 실행 위치 제어)
    • 하나의 플레이를 실행 할 때 작업들은 별도로 설정하지 않는 한 호스트에 실행이 됨
    • 위임(delegation)은 호스트에 정의 되어있는 여러 작업들 중에 일부분의 작업을 다른 호스트에서 실행할 수 있음
    • 위임을 사용하면 상호 관련된 환경을 정확하고 효율적으로 관리할 수 있음
    • 다른 호스트를 참조하여 한 호스트에서 작업을 수행하려면 작업에서 delegate_to키워드를 사용
    • 이는 로드 밸런싱된 풀에서 노드를 관리하거나 중단 기간을 제어하는 데 이상적
    • 직렬 키워드 와 함께 위임을 사용 하여 한 번에 실행되는 호스트 수를 제어할 수 있음

Categories:

Updated:

Leave a comment