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 IDs 없이 Auto Scaling 그룹을 업데이트하여 새 를 사용할 수 있습니다. AMI 가 최신 운영 체제 또는 소프트웨어 업데이트로 업데이트되는 경우와 같이 이러한 사항은 정기적으로 변경될 IDs 수 있습니다.

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

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

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

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

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

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

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

  4. 애플리케이션 및 OS 이미지(Amazon Machine Image)에서 자세히 찾아보기 AMIs를 선택합니다.

  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에서 제공하는 퍼블릭 파라미터를 사용하여 프로필에 구성된 AMI 의 최신 Amazon Linux 2를 사용하여 인스턴스 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 파라미터 이름입니다.

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

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" }

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

다음 예제에서는 의 특정 버전을 참조합니다.골든-아미 파라미터. 이 예제에서는 버전을 사용합니다.3골든-아미 유효한 버전 번호를 사용할 수 있습니다.

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

다음 유사한 예제에서는 파라미터 레이블을 참조합니다.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-ARNresolve:ssm는 표준 접두사이고 parameter-ARN는 Systems Manager 파라미터ARN의 입니다.

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

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 파라미터의 특정 버전을 참조합니다. 이 예제에서는 버전을 사용합니다.3 MyParameter 유효한 버전 번호를 사용할 수 있습니다.

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

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

{ "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 } }

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

시작 템플릿이 올바른 AMI ID를 가져오는지 확인

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

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

이 예제는 의 AMI ID를 반환합니다ImageId. 이 시작 템플릿을 사용하여 인스턴스를 시작하면 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은 파라미터AMIIDs로 지정만 지원합니다.

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

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

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