AWSPremiumSupport-ChangeInstanceTypeIntelToAMD - AWS Systems Manager 자동화 런북 참조

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

AWSPremiumSupport-ChangeInstanceTypeIntelToAMD

설명

AWSPremiumSupport-ChangeInstanceTypeIntelToAMD 실행서는 Intel 기반 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 동등한 AMD 기반 인스턴스 유형으로의 마이그레이션을 자동화합니다. 이 실행서는 Nitro 시스템에 구축된 범용(M), 버스트 가능 범용(T), 컴퓨팅 최적화(C) 및 메모리 최적화(R) 인스턴스를 지원합니다. 이 실행서는 Systems Manager에서 관리되지 않는 인스턴스에서 사용할 수 있습니다.

데이터 손실 및 가동 중지 시간의 잠재적 위험을 줄이기 위해, 실행서는 인스턴스의 중지 동작, 인스턴스가 Amazon EC2 Auto Scaling 그룹에 속하는지 여부, 인스턴스 상태, 동등한 AMD 구동 인스턴스 유형을 동일한 가용 영역에서 사용할 수 있는지 여부를 확인합니다. 기본적으로, 이 실행서는 인스턴스 스토어 볼륨이 연결되어 있거나 인스턴스가 AWS CloudFormation 스택의 일부인 경우, 인스턴스 유형을 변경하지 않습니다. 이 동작을 변경하려면 AllowInstanceStoreInstancesAllowCloudFormationInstances 파라미터 중 하나에 대해 yes을 지정하세요.

중요

AWSPremiumSupport-* 실행서에 액세스하려면 Enterprise 또는 Business Support Subscription이 필요합니다. 자세한 내용은 AWS Support 플랜 비교를 참조하세요.

고려 사항

  • 이 실행서를 사용하기 전에 인스턴스를 백업해 두는 것이 좋습니다.

  • 인스턴스 유형을 변경하려면 실행서에서 인스턴스를 중지해야 합니다. 인스턴스가 중지되면, RAM 또는 인스턴스 스토어 볼륨에 저장된 모든 데이터가 손실되고 자동 퍼블릭 IPv4 주소가 해제됩니다. 자세한 내용은 인스턴스 중지 및 시작을 참조하세요.

  • 사용자가 TargetInstanceType 파라미터에 대한 값을 지정하지 않으면, 실행서는 동일한 인스턴스 패밀리 내의 가상 CPU 및 메모리 측면에서 동등한 AMD 인스턴스를 식별하려고 시도합니다. 동등한 AMD 인스턴스 유형을 식별할 수 없는 경우, 실행서가 종료됩니다.

  • DryRun 옵션을 사용하면, 인스턴스 유형을 실제로 변경하지 않고도 동등한 AMD 인스턴스 유형을 캡처하고 요구 사항을 검증할 수 있습니다.

이 자동화 실행(콘솔)

문서 유형

자동화

소유자

Amazon

플랫폼

Linux, macOS, Windows

파라미터

  • AutomationAssumeRole

    유형: 문자열

    설명: (선택 사항) 사용자를 대신하여 Systems Manager Automation을 통해 작업을 수행할 수 있도록 허용하는 AWS Identity and Access Management(IAM) 역할의 Amazon 리소스 이름(ARN)입니다. 역할을 지정하지 않은 경우, Systems Manager Automation에서는 이 실행서를 시작하는 사용자의 권한을 사용합니다.

  • 확인

    유형: 문자열

    설명: (필수) yes을 입력하여 대상 인스턴스가 실행 중인 경우 중지될 것임을 확인합니다.

  • InstanceId

    유형: 문자열

    설명: (필수) 유형을 변경하려는 Amazon EC2 인스턴스의 ID입니다.

  • TargetInstanceType

    유형: 문자열

    기본값: automatic

    설명: (선택 사항) 인스턴스를 변경하려는 AMD 인스턴스 유형입니다. 기본 automatic 값은 가상 CPU 및 메모리 측면에서 동등한 인스턴스 유형을 사용합니다. 예를 들어, m5.large는 m5a.large로 변경됩니다.

  • AllowInstanceStoreInstances

    유형: 문자열

    유효한 값: no | yes

    기본값: 아니요

    설명: (선택 사항) 사용자가 yes을 지정하는 경우, 실행서는 인스턴스 스토어 볼륨이 연결된 인스턴스에서 실행됩니다.

  • AllowCloudFormationInstances

    유형: 문자열

    유효한 값: no | yes

    기본값: 아니요

    설명: (선택 사항) yes로 설정하면 AWS CloudFormation 스택의 일부인 인스턴스에서 실행서가 실행됩니다.

  • AllowCrossGeneration

    유형: 문자열

    유효한 값: no | yes

    기본값: 아니요

    설명: (선택 사항) yes로 설정하면 실행서는 동일한 인스턴스 패밀리 내에서 동등한 최신 AMD 인스턴스 유형을 찾으려고 시도합니다.

  • DryRun

    유형: 문자열

    유효한 값: no | yes

    기본값: 아니요

    설명: (선택 사항) yes로 설정하면 실행서는 동등한 AMD 인스턴스 유형을 반환하고 인스턴스 유형을 변경하지 않고도 마이그레이션 요구 사항을 검증합니다.

  • SleepWait

    유형: 문자열

    기본값: PT3S

    설명: (선택 사항) 새 자동화를 시작하기 전에 실행서가 대기해야 하는 시간입니다. 이 파라미터에 제공하는 값은 ISO 8601 표준과 일치해야 합니다. ISO 8601 문자열 생성에 대한 자세한 내용은 Systems Manager의 날짜 및 시간 문자열 형식 지정을 참조하세요.

필수 IAM 권한

실행서를 성공적으로 사용하려면 AutomationAssumeRole 파라미터에 다음 작업이 필요합니다.

  • ssm:DescribeAutomationExecutions

  • ssm:GetAutomationExecution

  • ssm:StartAutomationExecution

  • ec2:GetInstanceTypesFromInstanceRequirements

  • ec2:DescribeInstanceAttribute

  • ec2:DescribeInstances

  • ec2:DescribeInstanceStatus

  • ec2:DescribeInstanceTypeOfferings

  • ec2:DescribeInstanceTypes

  • ec2:DescribeTags

  • ec2:ModifyInstanceAttribute

  • ec2:StartInstances

  • ec2:StopInstances

문서 단계

  1. aws:assertAwsResourceProperty: 대상 Amazon EC2 인스턴스의 상태가running, pending, stopped 또는 stopping인지 확인합니다. 그렇지 않으면, 자동화가 종료됩니다.

  2. aws:executeAwsApi: 대상 Amazon EC2 인스턴스에서 속성을 수집합니다.

  3. aws:branch: Amazon EC2 인스턴스의 상태를 기반으로 자동화를 분기합니다.

    1. stopped 또는 stopping인 경우, Amazon EC2 인스턴스가 완전히 중지될 때까지 자동화가 aws:waitForAwsResourceProperty을 실행합니다.

    2. running 또는 pending인 경우, Amazon EC2 인스턴스가 상태 검사를 통과할 때까지 자동화가 aws:waitForAwsResourceProperty을 실행합니다.

  4. aws:assertAwsResourceProperty: aws:autoscaling:groupName 태그가 적용되었는지 확인하여 Amazon EC2 인스턴스가 Auto Scaling 그룹의 일부가 아닌지 확인합니다.

  5. aws:executeAwsApi: 현재 인스턴스 유형 속성을 수집하여 동등한 AMD 인스턴스 유형을 찾습니다.

  6. aws:assertAwsResourceProperty: AWS Marketplace 제품 코드가 Amazon EC2 인스턴스와 연결되어 있지 않음을 확인합니다. 일부 제품은 일부 인스턴스 유형에서는 사용할 수 없습니다.

  7. aws:branch: 자동화를 통해 Amazon EC2 인스턴스가 AWS CloudFormation 스택의 일부인지 확인하려는지 여부에 따라 자동화를 분기합니다.

    1. aws:cloudformation:stack-name 태그를 인스턴스에 적용하면 자동화가 aws:assertAwsResourceProperty를 실행하여 인스턴스가 AWS CloudFormation 스택의 일부가 아님을 확인합니다.

  8. aws:branch: 인스턴스 루트 볼륨 유형이 Amazon Elastic Block Store(Amazon EBS)인지 여부에 따라 자동화를 분기합니다.

  9. aws:assertAwsResourceProperty: 인스턴스 종료 동작이 terminate이 아닌 stop인지 확인합니다.

  10. aws:executeScript: 현재 인스턴스를 대상으로 하는 이 실행서의 자동화가 하나만 존재한다는 점을 확인합니다. 동일한 인스턴스를 대상으로 하는 다른 자동화가 이미 진행 중인 경우 오류를 반환하고 종료합니다.

  11. aws:executeAwsApi: 메모리 및 vCPU 용량이 같은 AMD 인스턴스 유형 목록을 반환합니다.

  12. aws:executeScript: 현재 인스턴스 유형이 지원되는지 확인하고 동등한 AMD 인스턴스 유형을 반환합니다. 동등한 항목이 없는 경우 자동화를 종료합니다.

  13. aws:executeScript: AMD 인스턴스 유형이 동일한 가용 영역에서 사용 가능한지 확인하고, 제공된 IAM 권한을 확인합니다.

  14. aws:branch: DryRun 파라미터 값이 yes인지 여부에 따라 자동화를 분기합니다.

  15. aws:branch: 원본 인스턴스 유형과 대상 인스턴스 유형이 동일한 내용인지 확인합니다. 동일하면, 자동화가 종료됩니다.

  16. aws:executeAwsApi: 현재 인스턴스 상태를 가져옵니다.

  17. aws:changeInstanceState: Amazon EC2 인스턴스를 중지합니다.

  18. aws:changeInstanceState: 중지 상태에서 멈춘 경우, 인스턴스를 강제로 중지합니다.

  19. aws:executeAwsApi: 인스턴스 유형을 대상 AMD 인스턴스 유형으로 변경합니다.

  20. aws:sleep: 최종 일관성을 위해 인스턴스 유형을 변경한 후 3초 동안 기다립니다.

  21. aws:branch: 이전 인스턴스 상태를 기반으로 자동화를 분기합니다. 해당 내용이 running이었을 경우, 인스턴스가 시작됩니다.

    1. aws:changeInstanceState: 인스턴스 유형을 변경하기 전에 Amazon EC2 인스턴스가 실행 중이었다면, 해당 인스턴스를 시작합니다.

    2. aws:waitForAwsResourceProperty: Amazon EC2 인스턴스가 상태 검사를 통과할 때까지 기다립니다. 인스턴스가 상태 확인을 통과하지 못하면, 원래 인스턴스 유형으로 다시 변경됩니다.

      1. aws:changeInstanceState: 원래 인스턴스 유형으로 변경하기 전에 Amazon EC2 인스턴스를 중단합니다.

      2. aws:changeInstanceState: 중지 상태에서 멈출 경우를 대비하여 해당 내용을 원래 인스턴스 유형으로 변경하기 전에 Amazon EC2 인스턴스를 강제로 중지합니다.

      3. aws:executeAwsApi: Amazon EC2 인스턴스를 해당하는 원래 유형으로 변경합니다.

      4. aws:sleep: 최종 일관성을 위해 인스턴스 유형을 변경한 후 3초 동안 기다립니다.

      5. aws:changeInstanceState: 인스턴스 유형을 변경하기 전에 Amazon EC2 인스턴스가 실행 중이었다면, 해당 인스턴스를 시작합니다.

      6. aws:waitForAwsResourceProperty: Amazon EC2 인스턴스가 상태 검사를 통과할 때까지 기다립니다.

  22. aws:sleep: 실행서를 종료하기 전에 기다립니다.