State Manager 関連付けのターゲットとレート制御について - AWS Systems Manager

State Manager 関連付けのターゲットとレート制御について

このトピックでは、スケジュールされた時間に関連付けを実行する多くのインスタンスを制御しながら、数十または数百のインスタンスに関連付けをデプロイするのに役立つ State Manager (AWS Systems Manager の一機能) について説明します。

[Targets] (ターゲット)

State Manager 関連付けを作成するときは、ここに示すように Systems Manager コンソールの [Targets (ターゲット)] セクションで、関連付けを設定するインスタンスを選択します。


                        State Manager 関連付けを作成するときにインスタンスをターゲットにするためのさまざまなオプション

AWS Command Line Interface (AWS CLI) などのコマンドラインツールを使用して関連付けを作成する場合は、targets パラメータを指定します。インスタンスをターゲットにすると、個々のインスタンス ID を指定または選択しなくても、関連付けを使用して、数十、数百、数千のインスタンスを設定できます。

State Manager では、関連付けの作成時に以下のターゲットオプションが提供されます。

インスタンスタグを指定する

このオプションを使用して、インスタンスに割り当てられているタグキーと (必要に応じて) タグ値を指定します。関連付けの作成リクエストを実行すると、システムは指定されたタグキーと値に一致するすべてのインスタンスで関連付けの作成を試みます。複数のタグ値を指定した場合、関連付けはそれらのタグ値の少なくとも 1 つを持つすべてのインスタンスを対象とします。システムは、最初に関連付けを作成すると、その関連付けを実行します。この最初の実行後、システムは指定されたスケジュールに従って関連付けを実行します。

新しいインスタンスを作成し、指定したタグキーと値をそれらのインスタンスに割り当てると、システムは関連付けを自動的に適用し、すぐに実行した後、スケジュールに従って実行します。これは、関連付けがコマンドまたはポリシードキュメントを使用する場合に適用され、関連付けが Automation ランブックを使用する場合は適用されません。指定したタグをインスタンスから削除すると、システムはそれらのインスタンスで関連付けを実行しなくなります。

コマンドまたはポリシードキュメントを使用する関連付けを作成する場合は、インスタンスタグを使用することをお勧めします。関連付けが Automation ランブックを使用する場合はこの限りではありません。指定したタグをインスタンスから削除すると、システムはそれらのインスタンスで関連付けを実行しなくなります。

Auto Scaling グループを実行するための関連付けを作成するときは、インスタンスタグを使用することをお勧めします。詳細については、「関連付けで Auto Scaling グループを実行する」を参照してください。

注記

Amazon Elastic Compute Cloud (Amazon EC2) タグを使用する場合は、コンソールで最大 1 つのタグキーを使用できます。複数のタグキーを使用してインスタンスをターゲット設定する場合は、リソースグループオプションを使用します。AWS CLI を使用して複数のタグキーを指定することもできます。この場合、すべてのタグキーはインスタンスをターゲットにするために必要です。

インスタンスへのタグの割り当てについては、Amazon EC2 ユーザーガイドの「Amazon EC2 リソースのタグ付け」を参照してください。

インスタンスを手動で選択する

このオプションを使用して、関連付けを作成するインスタンスを手動で選択します。[Instances (インスタンス)] ペインに、現在の AWS アカウント と AWS リージョン にあるすべての Systems Manager マネージドインスタンスが表示されます。必要な数のインスタンスを手動で選択できます。システムは、最初に関連付けを作成すると、その関連付けを実行します。この最初の実行後、システムは指定されたスケジュールに従って関連付けを実行します。

注記

表示されるはずのマネージドノードが表示されない場合は、トラブルシューティングのヒントについて「マネージドノードの可用性のトラブルシューティング」を参照してください。

リソースグループを選択する

このオプションを使用して、AWS Resource Groups タグベースまたは AWS CloudFormation スタックベースのクエリによって返されるすべてのインスタンスに関連付けを作成します。

関連付けでリソースグループをターゲットにする際の詳細は以下のとおりです。

  • 新しいインスタンスをグループに追加すると、システムは自動的にそのインスタンスを、リソースグループをターゲットにする関連付けにマップします。システムは、変更を検出すると、インスタンスに関連付けを適用します。この最初の実行後、システムは指定されたスケジュールに従って関連付けを実行します。

  • リソースグループをターゲットとする関連付けを作成し、そのグループに AWS::SSM::ManagedInstance リソースタイプが指定されていた場合、関連付けはハイブリッドマシン Amazon Elastic Compute Cloud (Amazon EC2) インスタンス (マネージドインスタンス ID プレフィックスが「mi-」または「i-」) で実行されます。これは仕様です。

  • リソースグループを削除すると、そのグループのすべてのインスタンスで関連付けが実行されなくなります。ベストプラクティスとして、グループをターゲットにする関連付けを削除します。

  • 1 つの関連付けについて、ターゲットにできるのは 1 つのリソースグループだけです。複数のグループまたはネストされたグループはサポートされません。

  • 関連付けを作成した後、State Manager によって関連付けはリソースグループのリソースに関する情報で定期的に更新されます。リソースグループに新しいリソースを追加する場合、システムによって新しいリソースに関連付けが適用されるスケジュールは、いくつかの要因によって異なります。関連付けのステータスは、Systems Manager コンソールの State Manager ページで確認できます。

警告

Amazon EC2 インスタンスのリソースグループをターゲットにする関連付けを作成するアクセス許可を有する AWS Identity and Access Management (IAM) ユーザー、グループ、またはロールは、自動的にグループ内のすべてのインスタンスのルートレベルを制御することができます。信頼された管理者のみが関連付けの作成を許可されるようにしてください。

Resource Groups の詳細については、AWS Resource Groups ユーザーガイドの「AWS Resource Groups とは」を参照してください。

すべてのインスタンスを選択する

このオプションを使用して、現在の AWS アカウント および AWS リージョン のすべてのインスタンスをターゲットにします。このリクエストを実行すると、システムは現在の AWS アカウント および AWS リージョン のすべてのインスタンスで関連付けの作成を試みます。システムは、最初に関連付けを作成すると、その関連付けを実行します。この最初の実行後、システムは指定されたスケジュールに従って関連付けを実行します。新しいインスタンスを作成すると、システムは自動的に関連付けを適用し、すぐに実行した後、スケジュールに従って実行します。

レート制御

同時実行値とエラーしきい値を指定することで、インスタンスでの関連付けの実行を制御できます。同時実行値は、関連付けを同時に実行できるインスタンスの数を指定します。エラーのしきい値には、その関連付けが設定された各インスタンスに、Systems Manager が関連付けの実行を停止するコマンドを送信するまでに失敗できる、関連付けの実行数を指定します。このコマンドは、次のスケジュールされた実行まで関連付けの実行を停止します。同時実行数とエラーのしきい値機能は、まとめてレート制御と呼ばれます。


                        State Manager 関連付けの作成時のさまざまなレート制御オプション

同時実行

同時実行数は、一度に特定の数のインスタンスだけが関連付けを処理できるよう指定することで、インスタンスへの影響を抑えるのに役立ちます。インスタンスの絶対数 (20 など) またはインスタンスのターゲットセットのパーセント数 (10% など) を指定できます。

State Manager 同時実行数には次の制限と制約があります。

  • ターゲットを使用して関連付けを作成することを選択した場合は、同時実行数の値を指定しない場合、State Manager は 50 個のインスタンスの最大同時実行数を自動的に適用します。

  • 同時実行を使用する関連付けが実行されているときに、ターゲット基準に一致する新しいインスタンスがオンラインになると、同時実行の値を超えていない場合、新しいインスタンスは関連付けを実行します。同時実行数の値を超えた場合、インスタンスは、現在の関連付けの実行間隔中、無視されます。インスタンスでは、次のスケジュールされた間隔中に同時実行の要件に準拠している間は、関連付けが実行されます。

  • 同時実行を使用する関連付けを更新する場合に、1 つ以上のインスタンスが更新されたときに関連付けの処理を実行しているときは、関連付けを実行しているすべてのインスタンスが完了を許可されます。開始されていない関連付けは停止されます。実行中の関連付けが完了すると、すべてのターゲットインスタンスが更新されたため、すぐに関連付けが再実行されます。関連付けが再び実行されると、同時実行数の値が適用されます。

エラーしきい値

エラーしきい値には、Systems Manager がその関連付けを使用して設定される各インスタンスにコマンドを送信するまでに失敗できる、関連付け実行の数を指定します。このコマンドは、次のスケジュールされた実行まで関連付けの実行を停止します。エラーの絶対数 (10 など) またはターゲットセットのパーセント数 (10% など) を指定できます。

たとえば、エラーの絶対数として 3 を指定した場合、4 番目のエラーが返されると、State Manager は停止コマンドを送信します。0 を指定すると、最初のエラー結果が返された後に State Manager は停止コマンドを送信します。

50 件の関連付けに対して 10% のエラーしきい値を指定した場合、6 番目のエラーが返されると、State Manager は停止コマンドを送信します。エラーのしきい値に達したときにすでに実行中の関連付けについては完了されますが、これらの関連付けのいくつかは失敗する可能性があります。エラーしきい値に指定された数より多くのエラーが発生しないようにするには、[同時実行数] 値を 1 に設定して、関連付けを 1 つずつ進めるようにします。

State Manager エラーしきい値には以下の制限と制約があります。

  • エラーしきい値は、現在の間隔で適用されます。

  • ステップレベルの詳細を含む各エラーに関する情報は、関連付け履歴に記録されます。

  • ターゲットを使用して関連付けを作成することを選択したがエラーしきい値を指定しない場合、State Manager は 100% のエラーのしきい値を自動的に適用します。