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 スタックの一部である場合、インスタンスタイプは変更されません。この動作を変更する場合は、AllowInstanceStoreInstances および AllowCloudFormationInstances パラメータのいずれかに yes を指定してください。

重要

AWSPremiumSupport-* ランブックにアクセスするには、エンタープライズサポートまたはビジネスサポートサブスクリプションが必要です。詳細については、「AWS Support プランの比較」を参照してください。

考慮事項

  • このランブックを使用する前にインスタンスをバックアップすることをおすすめします。

  • インスタンスタイプを変更すると、ランブックでインスタンスを停止する必要があります。インスタンスが停止すると、RAM またはインスタンスストアボリュームに保存されているデータはすべて失われ、自動パブリック IPv4 アドレスは解放されます。詳細については、「インスタンスの停止と起動」を参照してください。

  • TargetInstanceType パラメータに値を指定しない場合、ランブックは同じインスタンスファミリー内の仮想 CPU とメモリの観点から同等の AMD インスタンスを識別しようとします。同等の AMD インスタンスタイプを特定できない場合、ランブックは終了します。

  • DryRun オプションを使用すると、インスタンスタイプを実際に変更しなくても、同等の AMD インスタンスタイプを取得して要件を検証できます。

このオートメーションを実行する (コンソール)

ドキュメントタイプ

Automation

所有者

Amazon

[Platforms] (プラットフォーム)

Linux、macOS、Windows

[Parameters] (パラメータ)

  • AutomationAssumeRole

    型: 文字列

    説明: (オプション) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。

  • 了解

    型: 文字列

    説明: (必須) 現在実行中のターゲットインスタンスが停止することを確認するには yes を入力してください。

  • InstanceId

    型: 文字列

    説明: (必須) タイプを変更する Amazon EC2 インスタンスの ID。

  • TargetInstanceType

    型: 文字列

    デフォルト: 自動

    説明: (オプション) 変更したい 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 インスタンスのステータスがrunningpendingstopped または 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: インスタンスのシャットダウン動作が stop であり、terminateではないことを確認します。

  10. aws:executeScript: 現在のインスタンスをターゲットとするこのランブックの自動化が 1 つしかないことを確認します。同じインスタンスをターゲットとする別の自動化がすでに進行中の場合は、エラーを返して終了します。

  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 インスタンスが起動していた場合、Amazon EC2 インスタンスを起動します。

    2. aws:waitForAwsResourceProperty: Amazon EC2 インスタンスがステータスチェックに合格するのを待ちます。インスタンスがステータスチェックに合格しない場合、インスタンスは元のインスタンスタイプに戻されます。

      1. aws:changeInstanceState: Amazon EC2 インスタンスを停止してから、元のインスタンスタイプに変更します。

      2. aws:changeInstanceState: Amazon EC2 インスタンスが停止状態で停止した場合に、元のインスタンスタイプに変更する前に強制的に Amazon EC2 インスタンスを停止します。

      3. aws:executeAwsApi: Amazon EC2 インスタンスを元のタイプに変更します。

      4. aws:sleep: インスタンスタイプを変更した後、最終的に一貫性が保たれるまで 3 秒間待ちます。

      5. aws:changeInstanceState: インスタンスタイプを変更する前に Amazon EC2 インスタンスが起動していた場合、Amazon EC2 インスタンスを起動します。

      6. aws:waitForAwsResourceProperty: Amazon EC2 インスタンスがステータスチェックに合格するのを待ちます。

  22. aws:sleep: ランブックを終了するまで待ちます。