Developer MJ

[AWS] 시스템 운영 - 배포 자동화 본문

AWS

[AWS] 시스템 운영 - 배포 자동화

MIN JOON 2019. 1. 25. 14:34

배포 자동화
  • 인스턴스 생성 시점
    • User Data - 각 인스턴스 생성할 때, 최초 1회 실행되는 스크립트
    • AMI - 생성된 인스턴스를 이미지로 저장하여 저장된 이미지를 가지고 세팅된 인스턴스 생성
    • 사용자 정의 AMI
      • Windows AMI 생성시 인스턴스 고유 네트워킹 정보를 제거하기 위해 Sysprep을 실행해야한다.
  • 인스턴스 운영 시점
    • OpsWorks - 관리형 구성관리 소프트웨어를 제공
      • 인스턴스에 에이전트를 설치해야한다.
        ( 구성관리 소프트웨어 > Puppet, Chef )
    • CloudFormation - 템플릿 형태의 구성관리 서비스
      • 템플릿 - 생성할 AWS 리소스의 기본 정보를 정의
    • 템플릿 수정을 통해 기존 배포에도 변경사항 적용이 쉽다.
    • 템플릿으로 스택을 생성할 때, 오류가 발생하면 기본적으로 모든 리소스 롤백
    • Parameters - 템플릿의 사용자 입력값
      • 스택 생성 시, 동적으로 구성을 변경하고자 할 때 사용
    • Mappings - 스택을 생성할 때 필요할 것으로 예상되는 값을 미리 세팅
    • Resources - 생성할 AWS 리소스
      • init - 배포 프로세스의 일환으로 인스턴스에 어플리케이션, 파일 및 리소스 배포 정보
      • WaitCondition - init 완료여부를 CloudFormation에 전송하기 위해 사용
    • 스택 - 템플릿을 통해 생성된 AWS 리소스의 모음을 인스턴스화 한 것
      • 스택을 삭제하면 리소스 롤백
    • 기존 구성된 환경을 다른 리전에 적용하기 위해서는 Former를 통해 템플릿을 생성하여, CloudFormation에서 사용
    • CloudFormation을 사용하기 위해서는 템플릿을 S3에 업로드 해야하고
      인스턴스는 그에 맞는 권한을 가지고 있어야 실행 가능하다.