EC2 스택 | 생성(추가 볼륨 포함) - AMS 고급 변경 유형 참조

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

EC2 스택 | 생성(추가 볼륨 포함)

최대 5개의 추가 볼륨으로 Amazon Elastic Compute Cloud(EC2) 인스턴스를 생성합니다.

전체 분류: 배포 | 고급 스택 구성 요소 | EC2 스택 | 생성(추가 볼륨 포함)

변경 유형 세부 정보

유형 ID 변경

ct-1aqsjf86w6vxg

현재 버전

5.0

예상 실행 기간

360분

AWS 승인

필수

고객 승인

불필요

실행 모드

자동

추가 정보

스택 생성(추가 볼륨 포함)

다음은 AMS 콘솔에서이 변경 유형을 보여줍니다.

EC2 stack creation details showing ID, execution mode, and version for additional volumes.

작동 방식:

  1. RFC 생성 페이지로 이동합니다. AMS 콘솔의 왼쪽 탐색 창에서 RFCs 클릭하여 RFCs 목록 페이지를 연 다음 RFC 생성을 클릭합니다.

  2. 기본 변경 유형 찾아보기 보기에서 널리 사용되는 변경 유형(CT)을 선택하거나 범주별 선택 보기에서 CT를 선택합니다.

    • 변경 유형별 찾아보기: 빠른 생성 영역에서 인기 있는 CT를 클릭하여 RFC 실행 페이지를 즉시 열 수 있습니다. 빠른 생성으로 이전 CT 버전을 선택할 수 없습니다.

      CTs 정렬하려면 카드 또는 테이블 보기에서 모든 변경 유형 영역을 사용합니다. 어느 보기에서든 CT를 선택한 다음 RFC 생성을 클릭하여 RFC 실행 페이지를 엽니다. 해당하는 경우 RFC 생성 버튼 옆에 이전 버전으로 생성 옵션이 나타납니다.

    • 범주별 선택: 범주, 하위 범주, 항목 및 작업을 선택하면 해당하는 경우 이전 버전으로 생성 옵션이 있는 CT 세부 정보 상자가 열립니다. RFC 생성을 클릭하여 RFC 실행 페이지를 엽니다.

  3. RFC 실행 페이지에서 CT 이름 영역을 열어 CT 세부 정보 상자를 확인합니다. 제목은 필수입니다(변경 유형 찾아보기 보기에서 CT를 선택하면 입력됨). 추가 구성 영역을 열어 RFC에 대한 정보를 추가합니다.

    실행 구성 영역에서 사용 가능한 드롭다운 목록을 사용하거나 필요한 파라미터의 값을 입력합니다. 선택적 실행 파라미터를 구성하려면 추가 구성 영역을 엽니다.

  4. 완료되면 실행을 클릭합니다. 오류가 없는 경우 성공적으로 생성된 RFC 페이지에 제출된 RFC 세부 정보와 초기 실행 출력이 표시됩니다.

  5. 실행 파라미터 영역을 열어 제출한 구성을 확인합니다. 페이지를 새로 고쳐 RFC 실행 상태를 업데이트합니다. 선택적으로 RFC를 취소하거나 페이지 상단의 옵션을 사용하여 RFC 사본을 생성합니다.

작동 방식:

  1. 인라인 생성(모든 RFC 및 실행 파라미터가 포함된 create-rfc 명령을 실행) 또는 템플릿 생성(2개의 JSON 파일을 생성, 하나는 RFC 파라미터용이고 다른 하나는 실행 파라미터용)을 사용하고 두 파일을 입력으로 사용하여 create-rfc 명령을 실행합니다. 두 방법 모두 여기에 설명되어 있습니다.

  2. 반환된 RFC ID로 RFC: aws amscm submit-rfc --rfc-id ID 명령을 제출합니다.

    RFC: aws amscm get-rfc --rfc-id ID 명령을 모니터링합니다.

변경 유형 버전을 확인하려면 다음 명령을 사용합니다.

aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
참고

변경 유형에 대한 스키마의 일부인지 여부에 관계없이 모든 CreateRfc 파라미터를 RFC와 함께 사용할 수 있습니다. 예를 들어 RFC 상태가 변경될 때 알림을 받으려면 요청의 --notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}" RFC 파라미터 부분(실행 파라미터 아님)에이 줄을 추가합니다. 모든 CreateRfc 파라미터 목록은 AMS Change Management API 참조를 참조하세요.

인라인 생성:

인라인으로 제공된 실행 파라미터(실행 파라미터를 인라인으로 제공할 때 이스케이프 따옴표)로 RFC 생성 명령을 실행한 다음 반환된 RFC ID를 제출합니다(예제에서는 필수 파라미터만 표시). 예를 들어 콘텐츠를 다음과 같은 내용으로 바꿀 수 있습니다.

aws amscm create-rfc --change-type-id "ct-1aqsjf86w6vxg" --change-type-version "4.0" --title "EC2-Create-A-V-QC" --execution-parameters "{\"Description\":\"My EC2 stack with addl vol\",\"VpcId\":\"VPC_ID\",\"Name\":\"My Stack\",\"StackTemplateId\":\"stm-nn8v8ffhcal611bmo\",\"TimeoutInMinutes\":60,\"Parameters\":{\"InstanceAmiId\":\"AMI_ID\",\"InstanceSubnetId\":\"SUBNET_ID\"}}

템플릿 생성:

  1. 이 변경 유형의 실행 파라미터를 CreateEC2AVParams.json.

    aws amscm get-change-type-version --change-type-id "ct-1aqsjf86w6vxg" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateEC2AVParams.json
  2. CreateEC2AVParams 파일을 수정하고 저장합니다(예: 대부분의 파라미터 표시). 예를 들어 콘텐츠를 다음과 같은 내용으로 바꿀 수 있습니다.

    { "Description": "EC2-Create-1-Addl-Volumes", "VpcId": "VPC_ID", "StackTemplateId": "stm-nn8v8ffhcal611bmo", "Name": "My-EC2-1-Addl-Volume", "TimeoutInMinutes": 60, "Parameters": { "InstanceAmiId": "AMI_ID", "InstanceSecurityGroupIds": "SECURITY_GROUP_ID", "InstanceCoreCount": 1, "InstanceThreadsPerCore": 2, "InstanceDetailedMonitoring": "true", "InstanceEBSOptimized": "false", "InstanceProfile": "customer-mc-ec2-instance-profile", "InstanceRootVolumeIops": 100, "InstanceRootVolumeName": "/dev/xvda", "InstanceRootVolumeSize": 50, "InstanceRootVolumeType": "io1", "RootVolumeKmsKeyId": "default", "InstancePrivateStaticIp": "10.27.0.100", "InstanceSecondaryPrivateIpAddressCount": 0, "InstanceTerminationProtection": "false", "InstanceType": "t3.large", "CreditSpecification": "unlimited", "InstanceUserData": "echo $", "Volume1Encrypted": "true", "Volume1Iops": "IOPS" "Volume1KmsKeyId": "KMS_MASTER_KEY_ID", "Volume1Name": "xvdh" "Volume1Size": "2 GiB", "Volume1Snapshot": "SNAPSHOT_ID", "Volume1Type": "iol", "InstanceSubnetId": "SUBNET_ID" } }
  3. RFC 템플릿을 현재 폴더의 파일로 출력합니다.이 예제에서는 CreateEC2AVRfc.json:이라는 이름을 지정합니다.

    aws amscm create-rfc --generate-cli-skeleton > CreateEC2AVRfc.json
  4. CreateEC2AVRfc.json 파일을 수정하고 저장합니다. 예를 들어 콘텐츠를 다음과 같은 내용으로 바꿀 수 있습니다.

    { "ChangeTypeVersion": "4.0", "ChangeTypeId": "ct-1aqsjf86w6vxg", "Title": "EC2-Create-1-Addl-Volume-RFC" }
  5. CreateEC2AVRfc 파일과 CreateEC2AVParams 파일을 지정하여 RFC를 생성합니다.

    aws amscm create-rfc --cli-input-json file://CreateEC2AVRfc.json --execution-parameters file://CreateEC2AVParams.json

    응답에서 새 RFC의 ID를 수신하고 이를 사용하여 RFC를 제출하고 모니터링할 수 있습니다. 제출하기 전까지는 RFC가 편집 상태로 유지되고 시작되지 않습니다.

중요

다른 StackTemplateId(stm-nn8v8ffhcal611bmo)를 사용하는이 변경 유형의 새 버전 v 4.0이 있습니다. 이는 명령줄에이 변경 유형의 RFC를 제출하는 경우 중요합니다. 새 버전은 두 개의 새 파라미터(RootVolumeKmsKeyIdCreditSpecification)를 도입하고 하나의 기존 파라미터(InstanceType)의 기본값을 변경합니다.

인스턴스 유형
  • 코어 또는 스레드 수를 지정하도록 선택한 경우 둘 다에 대한 값을 지정해야 합니다. InstanceCoreCount 및 파라미터를 사용합니다InstanceThreadsPerCore. 코어/스레드의 유효한 조합을 찾으려면 인스턴스 유형별 CPU 코어 및 CPU 코어당 스레드를 참조하세요.

  • AMS는 t2.micro/t3.micro 또는 t2.nano/t3.nano 인스턴스 유형을 권장하지 않습니다. 이는 비즈니스 워크로드 외에도 EPS, SSM 및 Cloudwatch와 같은 AMS 도구를 지원하기에 너무 작습니다. 자세한 내용은 애플리케이션에 적합한 EC2 인스턴스 유형 선택을 참조하세요.

  • 버전 4.0에서는 기본 유형이 t2.large에서 t3.large로 증가했습니다. T3 인스턴스는 기본적으로 '무제한 크레딧'으로 시작됩니다. 인스턴스가 모든 CPU 크레딧을 소비하더라도 CPU 제한이 발생하지는 않습니다. 대신 T2 인스턴스를 선택하고 CreditSpecification 무제한 옵션을 사용할 수 있습니다.

  • 크기 권장 사항을 포함하여 Amazon EC2에 대한 자세한 내용은 Amazon Elastic Compute Cloud 설명서를 참조하세요.

볼륨이 생성된 후 추가 볼륨으로 EC2 스택을 업데이트하려면 EC2 인스턴스 스택: 업데이트(추가 볼륨 포함)를 참조하세요.

실행 입력 파라미터

실행 입력 파라미터에 대한 자세한 내용은 섹션을 참조하세요변경 유형 ct-1aqsjf86w6vxg에 대한 스키마.

예: 필수 파라미터

{ "Description" : "Test description", "VpcId" : "vpc-12345678901234567", "Name" : "TestStack", "StackTemplateId" : "stm-nn8v8ffhcal611bmp", "TimeoutInMinutes" : 60, "Parameters" : { "InstanceAmiId" : "ami-1234567890abcdef0", "InstanceSubnetId" : "subnet-1234567890abcdef0", "EnforceIMDSV2": "true" } }

예: 모든 파라미터

{ "Description": "This is a test description", "VpcId": "vpc-12345678", "Name": "Test Stack", "Tags": [ { "Key": "key1", "Value": "value1" }, { "Key": "key2", "Value": "value2" } ], "Parameters": { "InstanceAmiId": "ami-12345678", "InstanceCoreCount": 0, "InstanceThreadsPerCore": 0, "InstanceRootVolumeName": "/dev/xvda", "InstanceRootVolumeSize": 100, "InstanceSubnetId": "subnet-12345678", "InstanceDetailedMonitoring": "false", "InstanceEBSOptimized": "false", "InstanceProfile": "customer-mc-ec2-instance-profile", "InstanceRootVolumeIops": 1000, "InstanceRootVolumeType": "io1", "InstancePrivateStaticIp": "172.16.0.10", "InstanceSecondaryPrivateIpAddressCount" : 1, "InstanceTerminationProtection" : "true", "InstanceType": "t2.small", "InstanceUserData": "#!/bin/bash\\npwd\\nls -ltrh\\necho \"Hello, World\"", "Volume1Iops": 100, "Volume1KmsKeyId": "12345678-1234-1234-1234-1234567890ab", "Volume1Name": "/dev/sdf", "Volume1Size": 100, "Volume1Type": "io1", "Volume2Iops": 100, "Volume2KmsKeyId": "12345678-1234-1234-1234-1234567890ab", "Volume2Name": "/dev/sdg", "Volume2Size": 100, "Volume2Type": "io1", "Volume3Iops": 100, "Volume3KmsKeyId": "12345678-1234-1234-1234-1234567890ab", "Volume3Name": "/dev/sdh", "Volume3Size": 100, "Volume3Type": "io1", "Volume4Iops": 100, "Volume4KmsKeyId": "12345678-1234-1234-1234-1234567890ab", "Volume4Name": "/dev/sdi", "Volume4Size": 100, "Volume4Type": "io1", "Volume5Iops": 100, "Volume5KmsKeyId": "12345678-1234-1234-1234-1234567890ab", "Volume5Name": "/dev/sdj", "Volume5Size": 100, "Volume5Type": "io1", "EnforceIMDSV2": "true" }, "TimeoutInMinutes": 60, "StackTemplateId": "stm-nn8v8ffhcal611bmp" }