시작 구성 생성 - Amazon EC2 Auto Scaling

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

시작 구성 생성

중요

2022년 12월 31일 이후에 릴리스된 새로운 Amazon EC2 인스턴스 유형으로는 CreateLaunchConfiguration을 호출할 수 없습니다. 또한 2023년 6월 1일 이후에 생성된 새 계정에는 이 콘솔을 통해 새 시작 구성을 만들 수 있는 옵션이 없습니다. 2024년 10월 1일부터 새 계정은 콘솔, API, CLI 및 를 사용하여 새 시작 구성을 생성할 수 없습니다. CloudFormation 현재 또는 미래에 새 시작 구성을 만들 필요가 없도록 시작 템플릿으로 마이그레이션하십시오. Auto Scaling 그룹을 위한 시작 템플릿 생성에 대한 자세한 설명은 Auto Scaling 그룹을 마이그레이션하여 템플릿 시작을 참조하세요.

이 항목에서는 시작 구성을 만드는 방법을 설명합니다.

시작 구성을 생성한 후에는 수정할 수 없습니다. 대신 새 시작 구성을 만들어야 합니다.

새 시작 구성을 기존 Auto Scaling 그룹과 연결하려면 을 참조하십시오Auto Scaling 그룹에 대한 시작 구성 변경. 새 Auto Scaling 그룹을 만들려면 을 참조하십시오시작 구성을 사용하여 Auto Scaling 그룹 생성.

시작 구성 생성

시작 구성 생성(콘솔)
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 상단 내비게이션 바에서 AWS 지역을 선택합니다.

  3. 왼쪽 탐색 창의 Auto Scaling에서 Auto Scaling 그룹을 선택합니다.

  4. 페이지 상단에서 시작 구성을 선택합니다. 확인 메시지가 표시되면 시작 구성 보기를 선택하여 시작 구성 페이지를 볼 것인지 확인합니다.

  5. Create launch configuration(시작 구성 생성)을 선택하고 시작 구성의 이름을 입력합니다.

  6. Amazon Machine Image(AMI)에 AMI를 선택합니다. 특정 AMI를 찾으려면 AMI의 ID를 적어둔 다음 해당 ID를 검색 기준으로 입력하여 적합한 AMI를 찾을 수 있습니다.

    Amazon Linux 2 AMI의 ID를 얻으려면:

    1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

    2. 왼쪽 탐색 창의 인스턴스에서 인스턴스를 선택한 후 인스턴스 시작을 선택합니다.

    3. Amazon Machine Image 선택 페이지의 Quick Start(빠른 시작) 탭에서 Amazon Linux 2 AMI(HVM) 옆에 있는 AMI의 ID를 기록해 둡니다.

  7. 인스턴스 유형으로 인스턴스의 하드웨어 구성을 선택합니다.

  8. Additional configuration(추가 구성)에서 다음 필드에 주의하세요.

    1. (옵션) Purchasing option(구매 옵션)의 경우, 온디맨드 가격이 최대 가격으로 제한된 스팟 가격으로 스팟 인스턴스를 요청하려면 Request Spot Instances(스팟 인스턴스 요청)를 선택할 수 있습니다. 경우에 따라 스팟 인스턴스에 인스턴스 시간당 최고 가격을 지정할 수 있습니다.

      참고

      스팟 인스턴스는 애플리케이션이 실행되는 시간을 유연하게 조정할 수 있고 애플리케이션을 중단할 수 있는 경우, 선택할 수 있는 온디맨드 인스턴스에 비해 비용 효과적인 방법입니다. 자세한 설명은 내결함성 및 유연한 애플리케이션을 위한 스팟 인스턴스 요청 섹션을 참조하세요.

    2. (옵션) IAM instance profile(IAM 인스턴스 프로파일)로 인스턴스와 연결할 역할을 선택합니다. 자세한 정보는 Amazon EC2 인스턴스에서 실행되는 애플리케이션에 대한 IAM 역할을 참조하세요.

    3. (선택 사항) 모니터링의 경우 세부 모니터링을 활성화하여 인스턴스가 1분 간격으로 지표 데이터를 CloudWatch Amazon에 게시하도록 할지 여부를 선택합니다. 추가 요금이 발생합니다. 자세한 설명은 Auto Scaling 인스턴스에 대한 모니터링 구성 섹션을 참조하세요.

    4. (옵션) Advanced details(고급 세부 정보), User data(사용자 데이터)에서 시작 중 인스턴스를 구성하거나 인스턴스가 시작된 후 구성 스크립트를 실행할 때 사용할 사용자 데이터를 지정할 수 있습니다.

    5. (옵션) Advanced details(고급 세부 정보),IP address type(IP 주소 유형)에서 퍼블릭 IP 주소를 그룹의 인스턴스에 할당할지 선택합니다. 값을 설정하지 않은 경우, 기본적으로 인스턴스가 시작되는 서브넷의 자동 할당 퍼블릭 IP 설정을 사용합니다.

  9. (옵션)Storage (volumes)(스토리지(볼륨))에서 추가 저장소가 필요하지 않으면 이 섹션을 건너뛸 수 있습니다. 그러지 않으면 AMI에서 지정한 볼륨 외에 인스턴스에 연결할 볼륨을 지정하기 위해 Add new volume(새 볼륨 추가)을 선택합니다. 그런 다음 원하는 옵션을 선택하고 Devices(디바이스),Snapshot(스냅샷), Size(크기), Volume type(볼륨 유형), IOPS, Throughput(처리량), Delete on termination(해지 시 삭제) 및 Encrypted에(암호화됨) 대한 관련 값을 선택합니다.

  10. Security groups(보안 그룹)에서 그룹의 인스턴스와 연결할 보안 그룹을 생성하거나 선택합니다. Create a new security group(새 보안 그룹 생성) 옵션을 선택한 상태로 두면 Linux를 실행하는 Amazon EC2 인스턴스에 대해 기본 SSH 규칙이 구성됩니다. 기본 RDP 규칙은 Windows를 실행하는 Amazon EC2 인스턴스에 대해 구성되어 있습니다.

  11. Key pair (login)(키 페어(로그인))로 Key pair options(키 페어 옵션) 아래에 있는 옵션을 선택합니다.

    Amazon EC2 인스턴스 키 페어를 이미 구성했다면 여기에서 선택할 수 있습니다.

    아직 Amazon EC2 인스턴스 키 페어가 없다면 Create a new key pair(새 키 페어 생성)을 선택하고 식별 가능한 이름을 지정합니다. Download key pair(키 페어 다운로드)를 선택하여 컴퓨터에 키 페어를 다운로드합니다.

    중요

    인스턴스에 연결해야 하는 경우, Proceed without a key pair(키 페어 없이 계속)를 선택하지 마세요.

  12. 승인 확인란을 선택한 다음 Create launch configuration(시작 구성 생성)을 선택합니다.

기존 시작 구성에서 시작 구성을 만들려면 (콘솔)
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 상단 내비게이션 바에서 AWS 지역을 선택합니다.

  3. 왼쪽 탐색 창의 Auto Scaling에서 Auto Scaling 그룹을 선택합니다.

  4. 페이지 상단에서 시작 구성을 선택합니다. 확인 메시지가 표시되면 시작 구성 보기를 선택하여 시작 구성 페이지를 볼 것인지 확인합니다.

  5. 시작 구성을 선택한 다음 Actions(작업), Copy launch configuration(시작 구성 복사)을 선택합니다. 이는 새 시작 구성을 원래 시작 구성과 동일한 옵션으로 설정하지만 이름에는 "Copy"를 추가합니다.

  6. 시작 구성 복사 페이지에서 필요에 따라 구성 옵션을 편집하고 Create launch configuration(시작 구성 생성)을 선택합니다.

명령행을 사용하여 시작 구성을 만들려면

다음 명령 중 하나를 사용할 수 있습니다:

인스턴스 메타데이터 옵션 구성

Amazon EC2 Auto Scaling은 시작 구성에서 인스턴스 메타데이터 서비스(IMDS) 구성을 지원합니다. 따라서 시작 구성을 사용하여 인스턴스 메타데이터를 요청하는 세션 지향 방법인 인스턴스 메타데이터 서비스 버전 2(IMDSv2)를 요구하도록 Auto Scaling 그룹의 Amazon EC2 인스턴스를 구성하는 옵션을 제공합니다. IMDSv2의 이점에 대한 자세한 설명은 EC2 인스턴스 메타데이터 서비스에 심층적인 방어 기능을 추가하기 위한 향상된 기능에 관한 AWS 블로그의 문서를 참조하세요.

IMDSv2 및 IMDSv1(기본값)을 둘 다 지원하거나 IMDSv2 사용을 요구하도록 IMDS를 구성할 수 있습니다. 하나 AWS CLI 또는 SDK 중 하나를 사용하여 IMDS를 구성하는 경우, IMDSv2를 사용하도록 요구하려면 최신 버전의 AWS CLI 또는 SDK를 사용해야 합니다.

다음에 대해 시작 구성을 구성할 수 있습니다.

  • 인스턴스 메타데이터를 요청할 때 IMDSv2를 사용해야 하도록 설정

  • PUT 응답 홉 제한 지정

  • 인스턴스 메타데이터에 대한 액세스 비활성화

인스턴스 메타데이터 서비스 구성에 대한 자세한 내용은 Amazon EC2 사용 설명서의 인스턴스 메타데이터 서비스 구성 주제를 참조하십시오.

시작 구성에서 IMDS 옵션을 구성하려면 다음 절차를 따르세요. 시작 구성을 생성했으면 Auto Scaling 그룹과 연결할 수 있습니다. 시작 구성을 기존 Auto Scaling 그룹과 연결하면 기존 시작 구성이 Auto Scaling 그룹에서 분리되고, 새 시작 구성에서 지정한 IMDS 옵션을 사용하기 위해 기존 인스턴스를 교체해야 합니다. 자세한 설명은 Auto Scaling 그룹에 대한 시작 구성 변경 섹션을 참조하세요.

시작 구성에서 IMDS를 구성하려면(콘솔)
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 상단 탐색 표시줄에서 AWS 지역을 선택합니다.

  3. 왼쪽 탐색 창의 Auto Scaling에서 Auto Scaling 그룹을 선택합니다.

  4. 페이지 상단에서 시작 구성을 선택합니다. 확인 메시지가 표시되면 시작 구성 보기를 선택하여 시작 구성 페이지를 볼 것인지 확인합니다.

  5. Create launch configuration(시작 구성 생성)을 선택하고 일반적인 방법으로 시작 구성을 생성합니다. Amazon Machine Image(AMI)의 ID, 인스턴스 유형 그리고 선택적으로 키 페어, 하나 이상의 보안 그룹, 인스턴스의 추가 EBS 볼륨 또는 인스턴스 스토어 볼륨을 포함하세요.

  6. 이 시작 구성과 연결된 모든 인스턴스에 대해 인스턴스 메타데이터 옵션을 구성하려면 Additional configuration(추가 구성)의 Advanced details(고급 세부 정보)에서 다음을 수행하십시오:

    1. Metadata accessible(메타데이터 액세스 가능)에서 인스턴스 메타데이터 서비스의 HTTP 엔드포인트에 대한 액세스를 활성화할지 또는 비활성화할지를 선택합니다. 기본적으로 HTTP 엔드포인트는 활성화되어 있습니다. 엔드포인트를 비활성화하도록 선택하면 인스턴스 메타데이터에 대한 액세스가 해제됩니다. HTTP 엔드포인트가 활성화된 경우에만 IMDSv2를 요구하도록 조건을 지정할 수 있습니다.

    2. Metadata version(메타데이터 버전)에서 인스턴스 메타데이터를 요청하는 경우, 인스턴스 메타데이터 서비스 버전 2(IMDSv2)의 사용을 요구하도록 선택할 수 있습니다. 값을 지정하지 않으면 기본적으로 IMDSv1 및 IMDSv2를 둘 다 지원합니다.

    3. Metadata token response hop limit(메타데이터 토큰 응답 홉 제한)에서 인스턴스 메타데이터 토큰에 허용되는 네트워크 홉 수를 설정할 수 있습니다. 값을 지정하지 않으면 기본값은 1입니다.

  7. 모두 마쳤으면 Create launch configuration(시작 구성 생성)을 선택합니다.

AWS CLI를 사용하여 시작 구성에서 IMDSv2 사용 요구

--metadata-options 설정된 상태에서 다음 create-launch-configuration명령을 사용합니다HttpTokens=required. 또한 HttpTokens의 값을 지정할 때 HttpEndpoint를 enabled로 설정해야 합니다. 메타데이터 검색 요청에 대해 보안 토큰 헤더가 required로 설정되어 있으므로 인스턴스 메타데이터를 요청할 때 인스턴스가 IMDSv2를 사용해야 합니다.

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc-with-imdsv2 \ --image-id ami-01e24be29428c15b2 \ --instance-type t2.micro \ ... --metadata-options "HttpEndpoint=enabled,HttpTokens=required"
인스턴스 메타데이터에 대한 액세스를 끄려면

다음 create-launch-configuration명령을 사용하여 인스턴스 메타데이터에 대한 액세스를 끕니다. 나중에 modify-instance-metadata-options명령을 사용하여 액세스를 다시 활성화할 수 있습니다.

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc-with-imds-disabled \ --image-id ami-01e24be29428c15b2 \ --instance-type t2.micro \ ... --metadata-options "HttpEndpoint=disabled"

EC2 인스턴스를 사용하여 시작 구성 생성

실행 중인 EC2 인스턴스의 속성을 사용하여 시작 구성을 생성할 수도 있습니다.

처음부터 시작 구성을 새로 만드는 것과 기존 EC2 인스턴스에서 시작 구성을 만드는 것 사이에는 차이점이 있습니다. 처음부터 시작 구성을 새로 만드는 경우, 이미지 ID, 인스턴스 유형, 선택적 리소스(스토리지 디바이스 등) 및 옵션 설정(모니터링 등)을 지정합니다. 실행 중인 인스턴스에서 시작 구성을 생성할 경우, Amazon EC2 Auto Scaling은 지정된 인스턴스에서 시작 구성에 대한 속성을 가져옵니다. 또한 속성은 인스턴스가 시작된 AMI에 대한 블록 디바이스 매핑에서도 파생되며, 실행 후 추가된 추가 블록 디바이스는 무시합니다.

실행 중인 인스턴스를 사용하여 시작 구성을 만들 때 해당 속성을 동일한 요청의 일부로 지정하여 AMI, 블록 디바이스, 키 페어, 인스턴스 프로파일, 인스턴스 유형, 커널, 인스턴스 모니터링, 배치 테넌시, ramdisk, 보안 그룹, 스팟(최대) 가격, 사용자 데이터, 해당 인스턴스에 퍼블릭 IP 주소가 있는지, 해당 인스턴스가 EBS에 최적화되어 있는지 등의 속성을 재정의할 수 있습니다.

참고

지정된 인스턴스에 현재 시작 구성에서 지원되지 않는 속성이 있는 경우, Auto Scaling 그룹에서 시작하는 인스턴스는 기존 EC2 인스턴스와 동일하지 않을 수도 있습니다.

중요

지정된 인스턴스를 시작할 때 사용될 AMI가 늘 존재해야 합니다.

EC2 인스턴스에서 시작 구성 생성(AWS CLI)

다음 create-launch-configuration명령을 사용하여 인스턴스와 동일한 속성을 사용하는 인스턴스에서 시작 구성을 생성합니다. 시작 후 추가된 블록 디바이스는 무시됩니다.

aws autoscaling create-launch-configuration --launch-configuration-name my-lc-from-instance --instance-id i-a8e09d9c

다음 describe-launch-configurations명령을 사용하여 시작 구성을 설명하고 해당 속성이 인스턴스의 속성과 일치하는지 확인할 수 있습니다.

aws autoscaling describe-launch-configurations --launch-configuration-names my-lc-from-instance

다음은 응답의 예입니다.

{ "LaunchConfigurations": [ { "UserData": null, "EbsOptimized": false, "LaunchConfigurationARN": "arn", "InstanceMonitoring": { "Enabled": false }, "ImageId": "ami-05355a6c", "CreatedTime": "2014-12-29T16:14:50.382Z", "BlockDeviceMappings": [], "KeyName": "my-key-pair", "SecurityGroups": [ "sg-8422d1eb" ], "LaunchConfigurationName": "my-lc-from-instance", "KernelId": "null", "RamdiskId": null, "InstanceType": "t1.micro", "AssociatePublicIpAddress": true } ] }

인스턴스에서 시작 구성을 만들고 블록 디바이스 재정의(AWS CLI)

기본적으로 Amazon EC2 Auto Scaling은 시작 구성을 만들기 위해 사용자가 지정한 EC2 인스턴스의 속성을 사용합니다. 하지만 블록 디바이스는 인스턴스가 아니라 인스턴스를 시작하는 데 사용된 AMI에서 파생됩니다. 시작 구성에 블록 디바이스를 추가하려면 시작 구성에서 블록 디바이스 매핑을 재정의해야 합니다.

다음 create-launch-configuration명령을 사용하여 EC2 인스턴스를 사용하지만 사용자 지정 블록 디바이스 매핑이 포함된 시작 구성을 만들 수 있습니다.

aws autoscaling create-launch-configuration --launch-configuration-name my-lc-from-instance-bdm --instance-id i-a8e09d9c \ --block-device-mappings "[{\"DeviceName\":\"/dev/sda1\",\"Ebs\":{\"SnapshotId\":\"snap-3decf207\"}},{\"DeviceName\":\"/dev/sdf\",\"Ebs\":{\"SnapshotId\":\"snap-eed6ac86\"}}]"

다음 describe-launch-configurations명령을 사용하여 시작 구성을 설명하고 사용자 지정 블록 디바이스 매핑을 사용하는지 확인하십시오.

aws autoscaling describe-launch-configurations --launch-configuration-names my-lc-from-instance-bdm

다음 예 응답은 시작 구성에 대한 내용입니다.

{ "LaunchConfigurations": [ { "UserData": null, "EbsOptimized": false, "LaunchConfigurationARN": "arn", "InstanceMonitoring": { "Enabled": false }, "ImageId": "ami-c49c0dac", "CreatedTime": "2015-01-07T14:51:26.065Z", "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "SnapshotId": "snap-3decf207" } }, { "DeviceName": "/dev/sdf", "Ebs": { "SnapshotId": "snap-eed6ac86" } } ], "KeyName": "my-key-pair", "SecurityGroups": [ "sg-8637d3e3" ], "LaunchConfigurationName": "my-lc-from-instance-bdm", "KernelId": null, "RamdiskId": null, "InstanceType": "t1.micro", "AssociatePublicIpAddress": true } ] }

시작 구성 생성 및 인스턴스 유형 재정의(AWS CLI)

기본적으로 Amazon EC2 Auto Scaling은 시작 구성을 만들기 위해 사용자가 지정한 EC2 인스턴스의 속성을 사용합니다. 요건에 따라 해당 인스턴스의 속성을 재정의하여 사용자가 요구하는 값을 사용하고자 할 수 있습니다. 예를 들면 사용자는 인스턴스 유형을 재정의할 수 있습니다.

다음 create-launch-configuration명령을 사용하여 EC2 인스턴스를 사용하지만 인스턴스 유형 (예:t2.medium) 이 인스턴스와는 다른 시작 구성을 생성합니다 (예:t2.micro).

aws autoscaling create-launch-configuration --launch-configuration-name my-lc-from-instance-changetype \ --instance-id i-a8e09d9c --instance-type t2.medium

다음 describe-launch-configurations명령을 사용하여 시작 구성을 설명하고 인스턴스 유형이 재정의되었는지 확인합니다.

aws autoscaling describe-launch-configurations --launch-configuration-names my-lc-from-instance-changetype

다음 예 응답은 시작 구성에 대한 내용입니다.

{ "LaunchConfigurations": [ { "UserData": null, "EbsOptimized": false, "LaunchConfigurationARN": "arn", "InstanceMonitoring": { "Enabled": false }, "ImageId": "ami-05355a6c", "CreatedTime": "2014-12-29T16:14:50.382Z", "BlockDeviceMappings": [], "KeyName": "my-key-pair", "SecurityGroups": [ "sg-8422d1eb" ], "LaunchConfigurationName": "my-lc-from-instance-changetype", "KernelId": "null", "RamdiskId": null, "InstanceType": "t2.medium", "AssociatePublicIpAddress": true } ] }