Golden AMI...?
Golden image란? 골든 이미지는 OS 영역을 포함해 필수 패키지가 설치된 일종의 표준 이미지 개념입니다.이 표준 이미지를 잘 활용하면 여러가지 이점이 생깁니다. 공통 부분을 미리(패키징) 해둠으로써 인스턴스 프로비저닝 시간을 최소화하고, 새 이미지로 부터 새로운 객체들을 생성하기 때문에 보안 관점에서도 여럴가지 이점이 있습니다.
- 문제점
- 주기적인 이미지를 다시 만들어야하는 번거로움 예시로, 설치된 패키지 중 특정 버전에 취약점이 발견 시 해당 패키지가 업데이트된 이미지를 다시 만들어 줘야한다.
- 더큰 문제는 이미지를 생성한 이후의 작업(테스트,공유)들도 덩달아 공수를 유발한다는 것 또한 부담이다.
Image Builder
- 주요 기능
- OS 이미지 생성, 유지 , 검증 , 배포 작업의 파이프라인 생성
- AWS 및 On-premise 환경의 이미지 생성 및 유지 관리 지원
- 같은 조직(AWS organization) 내에서 생성 이미지 공유
- 대상(`19년 12월 기준)
- Amazon Linux 2, Window Server(2019/2016/2012 R2)만 지원
- 기존 AWS AMI, EBS 스냅샷 이미지 형식만 지원
- 요금
- Image Builder 자체에 대한 과금은 없음
- 로그 저장, 이미지 생성, 저장, 공유에 사용되는 AWS 리소스에 대한 부분만 과금
테스트
image Builder를 사용하여 Apache가 설치된 이미지를 생성하고 생성된 AMI로 인스턴스를 생성하는 과정을 진행
파이프라인을 구성하기 위한 레시피 생성
- 레시피에는 OS,이미지,생성할 이미지에 빌드 및 테스트 할 컴포넌트 선택
- image builder에서 관리하는 ami를 지정 or 기존 생성 ami or 사용자 지정 ami 가능
- 구성 요소아마존에서 기본으로 제공하는 컴포넌트를 선택하거나 사용자가 직접 만들어 사용가능
- 새로 구성요소 생성
- inastll_apache, update_os 구성요소 생성
- 문서 정의 - yaml
코드
install_apache name: install_apache description: This is install_apache testing document. schemaVersion: 1.0 phases: - name: build steps: - name: InstallApache action: ExecuteBash inputs: commands: - sudo yum install httpd -y - sudo systemctl enable httpd - sudo systemctl start httpd - name: validate steps: - name: CheckApache action: ExecuteBash inputs: commands: - rpm -qi httpd - name: test steps: - name: TestApache action: ExecuteBash inputs: commands: - curl localhost ------------------------------------------------------- update_os name: update_os description: This is os_update testing document. schemaVersion: 1.0 phases: - name: build steps: - name: InstallLinuxUpdate action: UpdateOS
- 구성요소 선택
위에서 만들어진 컴포넌트를 추가한다.
- 테스트 구성 요소
-
테스트도 동일하게 amazon 에서 제공하는 컴포넌트를 사용하거나 직접 작성한컴포넌트를 사용할수 있습니다.
-
차이점 : 이미지가 빌드된 후 테스트를 진행합니다.
파이프라인 생성
- 빌드 일정 지정 가능
테스트 진행을 위해 수동으로 설정
- 레시피 선택
- 새 인프라 구성
- iam role 생성
- 기타 설정
추가적인 인스턴스 타입 , sns , vpc ,서브넷,보안그룹, 트러블 슈팅등을 생성가능
- 리전설정
마지막 설정 부분입니다. 생성 이미지에 라이센스를 연결하거나
생성된 이미지의 이름, 해당 리전,시작 권한등을 설정가능합니다.
- 파이프라인 생성
확인 작업
- 생성된 파이프라인을 실행시켜 ami를 확인
- 파이프라인 실행 동작
파이프라인을 실행할시 생성한 리전에서 빌드, 테스트 작업이 이루어지며 AMI가 생성
- AMI 생성
- 인스턴스 생성
- 웹 서버 접속 test
결론
- 이미지 생성, 관리 등 관련 작업이 간편하다
- AWS 에서 이미지 생성, 관리를 해주기 때문에 이미지에 대한 보안의 취약점 감소
- 이미지에 도입하는 구성 요소를 독자적으로 작성하거나 만든 이미지로 테스트도 독자적으로 가능하다.
- 이 모든 과정을 파이프라인으로 구성하여 간편하게 자동화가 가능하다.]
'Automation' 카테고리의 다른 글
SSM Automation을 통한 자동화 (0) | 2022.08.23 |
---|---|
image builder 2 (0) | 2021.06.16 |
auto-scaling scale-out시 run-command동작 (0) | 2021.03.29 |
Lambda Ec2 start / stop Tag기반 (0) | 2021.01.20 |