

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# `AWSPremiumSupport-ResizeNitroInstance`
<a name="automation-aws-resizenitroinstance"></a>

 **説明** 

`AWSPremiumSupport-ResizeNitroInstance` ランブックは、Nitro System 上に構築された Amazon Elastic Compute Cloud (Amazon EC2) インスタンスのサイズを変更するための自動化ソリューションを提供します。

データ損失やダウンタイムの潜在的なリスクを軽減するために、ランブックでは以下を検証しています。
+ インスタンス停止動作。
+ インスタンスが Amazon EC2 Auto Scaling グループの一部であり、かつ `standby` モードに入っている場合。
+ インスタンスの状態とテナンシー。
+ 変更したいインスタンスタイプは、インスタンスに現在アタッチされているネットワークインターフェースの数をサポートします。
+ 現在のインスタンスタイプとターゲットインスタンスタイプのプロセッサアーキテクチャと仮想化タイプは同じです。
+ インスタンスが実行中であれば、すべてのステータスチェックに合格しているということです。
+ 変更するインスタンスタイプは、同一のアベイラビリティーゾーンで使用できます。

インスタンスタイプを変更した後に Amazon EC2 がステータスチェックに合格しなかった場合、ランブックは自動的に前のインスタンスタイプにロールバックします。

デフォルトでは、このランブックが実行中でインスタンスストアボリュームがアタッチされている場合、インスタンスタイプは変更されません。インスタンスが AWS CloudFormation スタックの一部である場合、ランブックはインスタンスタイプを変更しません。これらの動作のいずれかを変更する場合は、`AllowInstanceStoreInstances` および `AllowCloudFormationInstances` パラメータに `yes` を指定してください。

ランブックには、変更先のインスタンスタイプを指定する方法が 2 つ用意されています。
+ 1 つのインスタンスを対象とする単純な自動化では、`TargetInstanceTypeFromParameter` パラメータを使用して変更するインスタンスタイプを指定します。
+ 自動化を大規模に実行して複数のインスタンスのインスタンスタイプを変更する場合は、`TargetInstanceTypeFromTagValue` パラメータを使用してインスタンスタイプを指定します。自動化の実行については、「[自動化を大規模に実行](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-working-targets-and-rate-controls.html)」を参照してください。

どちらのパラメータにも値を指定しないと、自動化は失敗します。

**重要**  
`AWSPremiumSupport-*` ランブックにアクセスするには、Business \+ Support、Enterprise Support、または Unified Operations Subscription が必要です。詳細については、[「 AWS サポート プランの比較」](https://aws.amazon.com/premiumsupport/plans/)を参照してください。

 **考慮事項** 
+ このランブックを使用する前にインスタンスをバックアップすることをおすすめします。
+ インスタンスタイプを変更する際の互換性については、[「インスタンスタイプ変更の互換性」](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resize-limitations.html)を参照してください。
+ 自動化が失敗して元のインスタンスタイプにロールバックする場合は、[「インスタンスタイプを変更する場合のトラブルシューティング」](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/troubleshoot-change-instance-type.html)を参照してください。
+ インスタンスタイプを変更すると、ランブックでインスタンスを停止する必要があります。インスタンスが停止すると、メモリまたはインスタンスストアボリュームに保存されているすべてのデータは失われます。また、自動的に割り当てられたパブリック IPv4 アドレスはすべて解放されます。インスタンスを停止するとどうなるかについては、「[インスタンスの停止と開始](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html)」を参照してください。
+ `SkipInstancesWithTagKey` パラメータを使用すると、特定の Amazon EC2 タグキーが適用されているインスタンスをスキップできます。

 [このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSPremiumSupport-ResizeNitroInstance) 

**ドキュメントタイプ**

オートメーション

**[所有者]**

Amazon

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

Linux、Windows

**パラメータ**
+ AutomationAssumeRole

  タイプ: 文字列

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

  タイプ: 文字列

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

  タイプ: 文字列

  有効な値: no \| yes

  デフォルト: いいえ

  説明: (オプション) `yes` を指定すると、インスタンスストアボリュームがアタッチされているインスタンスでランブックを実行できるようになります。
+ AllowCloudFormationInstances

  タイプ: 文字列

  有効な値: no \| yes

  デフォルト: いいえ

  説明: (オプション) を指定した場合`yes`、ランブックは CloudFormation スタックの一部であるインスタンスで実行されます。
+ DryRun

  タイプ: 文字列

  有効な値: no \| yes

  デフォルト: いいえ

  説明: (オプション) `yes` を指定すると、ランブックはインスタンスタイプを変更せずにサイズ変更要件を検証します。
+ InstanceId

  タイプ: 文字列

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

  タイプ: 文字列

  説明: (オプション) 指定したタグキーがインスタンスに適用されている場合、自動化はターゲットインスタンスをスキップします。
+ SleepTime

  タイプ: 文字列

  デフォルト: 3

  説明: (オプション) 完了後、このランブックがスリープ状態になる秒数。
+ TagInstance

  タイプ: 文字列

  説明: (オプション){{「Key=ChangingType,Value=True」}}の形式を使用して、インスタンスに任意のキーと値をタグ付けします。このオプションにより、このランブックのターゲットとなったインスタンスを追跡できます。タグのキーと値では、大文字と小文字が区別されます。
+ TargetInstanceTypeFromParameter

  タイプ: 文字列

  説明: (オプション) 変更したいインスタンスのタイプ。`TargetInstanceTypeFromTagValue` パラメータに指定されたタグキーの値を使用する場合は、このパラメータを空のままにしてください。
+ TargetInstanceTypeFromTagValue

  タイプ: 文字列

  説明: (オプション) 変更したいインスタンスタイプが値に含まれているターゲットインスタンスに適用されるタグキー。この `TargetInstanceTypeFromParameter` パラメータ値を指定すると、このパラメータに指定した任意の値はオーバーライドされます。

**必要な IAM アクセス許可**

`AutomationAssumeRole` パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。
+  `autoscaling:DescribeAutoScalingInstances` 
+  `cloudformation:DescribeStackResources` 
+  `ssm:GetAutomationExecution` 
+  `ssm:DescribeAutomationExecutions` 
+  `ec2:DescribeInstanceAttribute` 
+  `ec2:DescribeInstances` 
+  `ec2:DescribeInstanceStatus` 
+  `ec2:DescribeInstanceTypeOfferings` 
+  `ec2:DescribeInstanceTypes` 
+  `ec2:DescribeTags` 
+  `ec2:ModifyInstanceAttribute` 
+  `ec2:StartInstances` 
+  `ec2:StopInstances` 

 **ドキュメントステップ** 

1. `aws:assertAwsResourceProperty`: Amazon EC2 インスタンスが、`SkipInstancesWithTagKey`パラメータで指定されたリソースタグキーでタグ付けされていないことを確認します。タグキーがインスタンスに適用されていることが判明した場合、ステップは失敗し、自動化は終了します。

1. `aws:assertAwsResourceProperty`: ターゲット Amazon EC2 インスタンスのステータスが`running`、`pending`、`stopped` または `stopping` であることを確認します。それ以外の場合、自動化は終了します。

1. `aws:executeAwsApi`: Amazon EC2 インスタンスからプロパティを収集します。

1. `aws:executeAwsApi`: 現在の Amazon EC2 インスタンスタイプに関する詳細を収集します。

1. `aws:branch`: 現在のインスタンスタイプと `TargetInstanceTypeFromParameter` パラメータで指定されたインスタンスタイプが同じかどうかを確認します。一致する場合、自動化は終了します。

1. `aws:assertAwsResourceProperty`: インスタンスが Nitro System で実行されていることを確認します。

1. `aws:branch`: Amazon EC2 インスタンスのルートボリュームタイプが、Amazon Elastic Block Store (Amazon EBS) ボリュームであることを確認します。

1. `aws:assertAwsResourceProperty`: インスタンスのシャットダウン動作が `stop` であり、`terminate`ではないことを確認します。

1. `aws:branch`: Amazon EC2 インスタンスがスポットインスタンスではないことを確認します。

1. `aws:branch`: Amazon EC2 インスタンスのテナンシーがデフォルトであり、専有ホストや専有インスタンスではないことを確認します。

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

1. `aws:branch`: Amazon EC2 インスタンスの状態に基づいて自動化を分岐します。

   1. `stopped` または `stopping` の場合、Amazon EC2 インスタンスが完全に停止するまで自動化が `aws:waitForAwsResourceProperty` を実行します。

   1. `running` または `pending` の場合、Amazon EC2 インスタンスがステータスチェックに合格するまで自動化が `aws:waitForAwsResourceProperty` を実行します。

1. `aws:assertAwsResourceProperty`: `DescribeAutoScalingInstances` API オペレーションを呼び出して、Amazon EC2 インスタンスが Auto Scaling グループの一部ではないことを確認します。インスタンスが Auto Scaling グループの一部である場合、Amazon EC2 インスタンスは `standby` モードに入っています。

1. `aws:branch`: Amazon EC2 インスタンスが CloudFormation スタックの一部であるかどうかをオートメーションで確認するかどうかに応じて、オートメーションを分岐します。

   1. `aws:executeScript` `DescribeStackResources` API オペレーションを呼び出して、Amazon EC2 インスタンスが CloudFormation スタックに含まれていないことを確認します。

1. `aws:executeAwsApi`: プロセッサアーキテクチャタイプ、仮想化タイプが同じで、ターゲットインスタンスに現在アタッチされているネットワークインターフェイスの数をサポートするインスタンスタイプのリストを返します。

1. `aws:executeAwsApi`: `TargetInstanceTypeFromTagValue` パラメータで指定されたタグキーからターゲットインスタンスタイプ値を取得します。

1. `aws:executeScript`: 現在のインスタンスタイプとターゲットインスタンスタイプに互換性があることを確認します。ターゲットインスタンスタイプが同じサブネットで利用可能であることを確認します。ランブックを起動したプリンシパルに、インスタンスタイプを変更する権限があり、実行中の場合はインスタンスを停止して起動する権限があることを確認します。

1. `aws:branch`: `DryRun` パラメータ値が `yes` に設定されているかどうかに基づいて自動化を分岐させます。`yes` の場合、自動化は終了します。

1. `aws:branch`: 元のインスタンスタイプとターゲットインスタンスタイプが同じかどうかを確認します。一致する場合、自動化は終了します。

1. `aws:executeAwsApi`: 現在のインスタンスの状態を取得します。

1. `aws:changeInstanceState`: Amazon EC2 インスタンスを停止します。

1. `aws:changeInstanceState`: インスタンスが `stopping` の状態で動かなくなった場合、強制的に停止します。

1. `aws:executeAwsApi`: インスタンスタイプをターゲットインスタンスタイプに変更します。

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

1. `aws:branch`: 前のインスタンスの状態に基づいて自動化を分岐します。`running` であった場合、インスタンスが起動されます。

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

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

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

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

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

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

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

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

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