시작 템플릿에서 AMI IDs 대신 AWS Systems Manager 파라미터 사용 - Amazon EC2 Auto Scaling

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

시작 템플릿에서 AMI IDs 대신 AWS Systems Manager 파라미터 사용

이 섹션에서는 Amazon Machine Image(AMI) ID를 참조하는 AWS Systems Manager 파라미터를 지정하는 시작 템플릿을 생성하는 방법을 보여줍니다. 동일한에 저장된 파라미터 AWS 계정, 다른에서 공유된 파라미터 AWS 계정또는에서 유지 관리하는 퍼블릭 AMI에 대한 퍼블릭 파라미터를 사용할 수 있습니다 AWS.

Systems Manager 파라미터를 사용하면 AMI ID가 변경될 때마다 새 시작 템플릿 또는 새 버전의 시작 템플릿을 생성할 필요 없이 새 AMI ID를 사용하도록 Auto Scaling 그룹을 업데이트할 수 있습니다. 이러한 ID는 정기적으로 변경할 수 있습니다(예: 최신 운영 체제 또는 소프트웨어 업데이트로 AMI가 업데이트되는 경우).

의 기능인 Parameter Store를 사용하여 자체 Systems Manager 파라미터를 생성, 업데이트 또는 삭제할 수 있습니다 AWS Systems Manager. 시작 템플릿에 사용하려면 먼저 Systems Manager 파라미터를 생성해야 합니다. 시작하려면 aws:ec2:image 데이터 유형을 사용하여 파라미터를 생성하고 해당 값에 AMI의 ID를 입력할 수 있습니다. AMI ID의 형식은 ami-<identifier>(예: ami-123example456)입니다. 올바른 AMI ID는 Auto Scaling 그룹을 시작하는 인스턴스 유형과 AWS 리전 에 따라 다릅니다.

AMI ID에 유효한 파라미터를 생성하는 방법에 대한 자세한 내용은 Systems Manager 파라미터 생성을 참조하세요.

AMI의 파라미터를 지정하는 시작 템플릿 생성

AMI의 파라미터를 지정하는 시작 템플릿을 생성하려면 다음 방법 중 하나를 사용합니다.

Console
AWS Systems Manager 파라미터를 사용하여 시작 템플릿을 생성하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 시작 템플릿을 선택한 다음 시작 템플릿 생성을 선택합니다.

  3. Launch template name에 대해 시작 템플릿의 설명이 포함된 이름을 입력하십시오.

  4. Application and OS Images (Amazon Machine Image)(애플리케이션 및 OS 이미지(Amazon Machine Image))에서 Browse more AMIs(더 많은 AMI 찾아보기)를 선택하세요.

  5. 검색 창 오른쪽에 있는 화살표 버튼을 선택한 다음 사용자 지정 값/Systems Manager 파라미터 지정을 선택하세요.

  6. 사용자 지정 값 또는 Systems Manager 파라미터 지정 대화 상자에서 다음을 수행합니다.

    1. AMI ID 또는 Systems Manager 파라미터 문자열에 다음 형식 중 하나를 사용하여 Systems Manager 파라미터 이름을 입력합니다.

      공용 파라미터 참조:

      • resolve:ssm:public-parameter

      동일한 계정에 저장된 파라미터 참조:

      • resolve:ssm:parameter-name

      • resolve:ssm:parameter-name:version-number

      • resolve:ssm:parameter-name:label

      다른 AWS 계정에서 공유된 파라미터 참조:

      • resolve:ssm:parameter-ARN

      • resolve:ssm:parameter-ARN:version-number

      • resolve:ssm:parameter-ARN:label

    2. 저장(Save)을 선택합니다.

  7. 필요에 따라 다른 시작 템플릿 설정을 구성하고 시작 템플릿 생성을 선택합니다. 자세한 내용은 Auto Scaling 그룹에 대한 시작 템플릿 생성 단원을 참조하십시오.

AWS CLI

Systems Manager 파라미터를 지정하는 시작 템플릿을 생성하려면 다음 예제 명령 중 하나를 사용할 수 있습니다. user input placeholder를 사용자의 정보로 바꿉니다.

예: AWS소유 퍼블릭 파라미터를 지정하는 시작 템플릿 생성

resolve:ssm:public-parameter 구문을 사용합니다. 여기서 resolve:ssm은 표준 접두사이고 public-parameter는 퍼블릭 파라미터의 경로와 이름입니다.

이 예제에서 시작 템플릿은 AWS제공된 퍼블릭 파라미터를 사용하여 프로파일에 대해 구성된의 최신 Amazon Linux 2 AMI를 사용하여 인스턴스 AWS 리전 를 시작합니다.

aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \ --launch-template-data file://config.json

config.json의 콘텐츠:

{ "ImageId":"resolve:ssm:/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2", "InstanceType":"t2.micro" }

다음은 응답의 예입니다.

{ "LaunchTemplate": { "LaunchTemplateId": "lt-089c023a30example", "LaunchTemplateName": "my-template-for-auto-scaling", "CreateTime": "2022-12-28T19:52:27.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "DefaultVersionNumber": 1, "LatestVersionNumber": 1 } }
예: 동일한 계정에 저장된 파라미터를 지정하는 시작 템플릿 생성

resolve:ssm:parameter-name 구문을 사용합니다. 여기서 resolve:ssm은 표준 접두사이고 parameter-name은 Systems Manager 파라미터 이름입니다.

다음 예제에서는 golden-ami라는 기존 시스템 관리자 파라미터에서 AMI ID를 가져오는 시작 템플릿을 생성합니다.

aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling \ --launch-template-data file://config.json

config.json의 콘텐츠:

{ "ImageId":"resolve:ssm:golden-ami", "InstanceType":"t2.micro" }

지정되지 않은 경우 파라미터의 기본 버전은 최신 버전입니다.

다음 예제에서는 golden-ami 파라미터의 특정 버전을 참조합니다. 이 예제에서는 golden-ami 파라미터의 버전 3을 사용하지만 유효한 버전 번호는 무엇이든 사용할 수 있습니다.

{ "ImageId":"resolve:ssm:golden-ami:3", "InstanceType":"t2.micro" }

다음의 유사한 예제에서는 golden-ami 파라미터의 특정 버전에 매핑되는 파라미터 레이블 prod를 참조합니다.

{ "ImageId":"resolve:ssm:golden-ami:prod", "InstanceType":"t2.micro" }

출력의 예시는 다음과 같습니다.

{ "LaunchTemplate": { "LaunchTemplateId": "lt-068f72b724example", "LaunchTemplateName": "my-template-for-auto-scaling", "CreateTime": "2022-12-27T17:11:21.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "DefaultVersionNumber": 1, "LatestVersionNumber": 1 } }
예: 다른에서 공유된 파라미터를 지정하는 시작 템플릿 생성 AWS 계정

resolve:ssm:parameter-ARN 구문을 사용합니다. 여기서 resolve:ssm은 표준 접두사이고 parameter-ARN은 Systems Manager 파라미터의 ARN입니다.

다음 예제에서는 arn:aws:ssm:us-east-2:123456789012:parameter/MyParameter라는 ARN이 있는 기존 Systems Manager 파라미터에서 AMI ID를 가져오는 시작 템플릿을 생성합니다.

aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \ --launch-template-data file://config.json

config.json의 콘텐츠:

{ "ImageId":"resolve:ssm:arn:aws:ssm:us-east-2:123456789012:parameter/MyParameter", "InstanceType":"t2.micro" }

지정되지 않은 경우 파라미터의 기본 버전은 최신 버전입니다.

다음 예제에서는 MyParameter 파라미터의 특정 버전을 참조합니다. 이 예제에서는 MyParameter 파라미터의 버전 3을 사용하지만 유효한 버전 번호는 무엇이든 사용할 수 있습니다.

{ "ImageId":"resolve:ssm:arn:aws:ssm:us-east-2:123456789012:parameter/MyParameter:3", "InstanceType":"t2.micro" }

다음의 유사한 예제에서는 MyParameter 파라미터의 특정 버전에 매핑되는 파라미터 레이블 prod를 참조합니다.

{ "ImageId":"resolve:ssm:arn:aws:ssm:us-east-2:123456789012:parameter/MyParameter:prod", "InstanceType":"t2.micro" }

다음은 응답의 예입니다.

{ "LaunchTemplate": { "LaunchTemplateId": "lt-00f93d4588example", "LaunchTemplateName": "my-template-for-auto-scaling", "CreateTime": "2024-01-08T12:43:21.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "DefaultVersionNumber": 1, "LatestVersionNumber": 1 } }

시작 템플릿의 Parameter Store에서 파라미터를 지정하려면 지정된 파라미터에 대한 ssm:GetParameters 권한이 있어야 합니다. 시작 템플릿을 사용하는 모든 사용자는 파라미터 값을 검증하기 위해 ssm:GetParameters 권한도 필요합니다. 자세한 내용은 AWS Systems Manager 사용 설명서의 IAM 정책을 사용하여 Systems Manager 파라미터에 대한 액세스 제한을 참조하세요.

시작 템플릿에 올바른 AMI ID가 있는지 확인

describe-launch-template-versions 명령을 사용하고 파라미터를 실제 AMI ID로 확인하는 --resolve-alias 옵션을 포함합니다.

aws ec2 describe-launch-template-versions --launch-template-name my-template-for-auto-scaling \ --versions 1 --resolve-alias

이 예제에서는 ImageId에 대한 AMI ID를 반환합니다. 이 시작 템플릿을 사용하여 인스턴스를 시작하면 AMI ID가 ami-0ac394d6a3example로 확인됩니다.

{ "LaunchTemplateVersions": [ { "LaunchTemplateId": "lt-089c023a30example", "LaunchTemplateName": "my-template-for-auto-scaling", "VersionNumber": 1, "CreateTime": "2022-12-28T19:52:27.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "DefaultVersion": true, "LaunchTemplateData": { "ImageId": "ami-0ac394d6a3example", "InstanceType": "t2.micro", } } ] }

시작 템플릿에서 Systems Manager 파라미터를 지정하는 방법에 대한 자세한 내용은 Amazon EC2 사용 설명서AMI ID 대신 Systems Manager 파라미터 사용을 참조하세요.

Systems Manager 파라미터 작업에 대한 자세한 내용은 Systems Manager 설명서의 다음 참조 자료에서 확인할 수 있습니다.

제한 사항

Systems Manager 파라미터를 사용할 때는 다음 제한 사항에 유의하세요.

  • Amazon EC2 Auto Scaling은 AMI ID를 파라미터로 지정하는 것만 지원합니다.

  • Systems Manager 파라미터를 지정하는 시작 템플릿을 사용하여 속성 기반 인스턴스 유형 선택으로 혼합 인스턴스 그룹을 생성하거나 업데이트하는 것은 지원되지 않습니다.

  • Auto Scaling 그룹이 Systems Manager 파라미터를 지정하는 시작 템플릿을 사용하는 경우 원하는 구성으로 또는 매칭 건너뛰기를 사용하여 인스턴스 새로 고침을 시작할 수 없습니다.

  • Auto Scaling 그룹이 Systems Manager 파라미터를 지정하는 시작 템플릿을 사용하는 경우 웜 풀은 지원되지 않습니다.

  • Auto Scaling 그룹을 생성하거나 업데이트하기 위해 호출할 때마다 Amazon EC2 Auto Scaling은 시작 템플릿에서 Systems Manager 파라미터를 확인합니다. 고급 파라미터 또는 더 높은 처리량 제한을 사용하는 경우 Parameter Store(즉, GetParameters 작업)를 자주 호출하면 Parameter Store API 상호 작용당 요금이 발생하기 때문에 Systems Manager에 대한 비용이 증가할 수 있습니다. 자세한 내용은 AWS Systems Manager 요금을 참조하세요.