EC2 인스턴스를 운영하다 보면 OS 패치나 애플리케이션 업데이트로 인해 새로운 AMI가 계속 생성됩니다. 이때마다 매번 사용자가 새로운 AMI ID를 찾아 입력하거나, 자동화 스크립트를 수정하는 것은 매우 비효율적이고 실수하기 쉬운 작업입니다.
AWS Systems Manager 파라미터 스토어를 활용하여, AMI ID 변경에 유연하게 대처하고 배포 프로세스를 간소화하는 방법을 소개합니다.
핵심 개념: AMI ID를 변수로 관리
기존 방식이 AMI ID라는 상수를 직접 사용하는 것이라면, 이 방식은 Systems Manager 파라미터라는 변수를 사용하는 것입니다.
- Systems Manager 파라미터 스토어 : 설정 데이터나 비밀 값을 저장하는 중앙 저장소입니다.
- 작동 원리 : golden-ami라는 파라미터를 생성하고, 그 값을 실제 최신 AMI ID로 설정합니다. 사용자는 항상 golden-ami라는 이름만 선택하면, AWS가 알아서 현재 연결된 최신 AMI ID로 변환하여 인스턴스를 시작합니다.
- 필수 조건 : 파라미터 생성 시 데이터 유형을 반드시 aws:ec2:image로 지정해야 AWS가 이를 AMI ID로 인식하고 유효성을 검증합니다.
도입 시 얻을 수 있는 이점
사용자의 편의성 및 실수 방지
조직에서 매달 보안 패치가 적용된 Golden Image를 배포한다고 가정해 보면
- AS-IS : 공지사항으로 이번달 최신 AMI ID는 ami-xyz입니다라고 알리고, 사용자가 이를 복사해서 써야합니다.
- TO-BE : 사용자는 항상 golden-ami라는 파라미터만 선택하면 됩니다. 관리자가 파라미터 값만 최신 ID로 업데이트해두면 사용자는 변경 사항을 몰라도 항상 최신 이미지를 사용하게 됩니다.
자동화 코드 유지보수 제로
Terraform이나 CloudFormation같은 IaC 도구에서 AMI ID를 하드코딩하면, 이미지가 바뀔 때마다 코드를 수정하고 배포해야 합니다.
하지만 파라미터를 참조하도록 코드를 짜두면, 코드를 전혀 수정할 필요 없이 파라미터 값만 업데이트하여 배포를 지속할 수 있습니다.
실전 구현 가이드
권한 설정(AMI)
이 기능을 사용하려면 사용자의 IAM 정책에 다음 두 가지 권한이 필수적으로 포함되어야 합니다.
- ssm:DescribeParameters : 파라미터 목록 조회
- ssm:GetParameters : 파라미터에 저장된 실제 AMI ID 값 조회
인스턴스 시작하기
AWS 콘솔에서 파라미터를 사용하여 인스턴스를 시작하는 방법은 다음과 같습니다.
- 인스턴스 시작 마법사 실행
- 애플리케이션 및 OS 이미지 섹션에서 더 많은 AMI 찾아보기 클릭
- 검색창 오른쪽의 화살표 버튼 클릭 후 Systems Manager 파라미터로 검색 선택
- 목록에서 미리 만들어둔 파라미터 선택
- 현재 매핑된 AMI ID가 확인되면 선택을 눌러 진행
프로그래밍 방식 호출 구문
AWS CLI나 SDK에서 파라미터를 참조할때 resolve:ssm 접두사를 사용합니다.
기본 구문
resolve:ssm:parameter-name
특정 버전 지정
resolve:ssm:parameter-name:version
주의사항
- 리전 종속성 : AMI ID와 마찬가지로 Systems Manager 파라미터도 리전별로 독립적입니다. 여러 리전에서 동일한 파라미터 이름을 쓰고 싶다면, 각 리전마다 파라미터를 생성하고 해당 리전의 올바른 AMI ID를 매핑해야 합니다.
- 대소문자 구분 : 파라미터 이름은 대소문자를 구분합니다.
'AWS > AMI' 카테고리의 다른 글
| [AWS] 최적의 AMI 탐색 및 선택 (0) | 2025.12.26 |
|---|---|
| [AWS] AMI 선택 기준과 아키텍처 (0) | 2025.12.26 |