AWS Organizations で StackSets の自動デプロイを有効または無効にする - AWS CloudFormation

AWS Organizations で StackSets の自動デプロイを有効または無効にする

StackSets は、新しい AWS Organizations アカウントがターゲットの組織または組織単位 (OU) に追加されると、そのアカウントに追加のスタックを自動的にデプロイします。自動デプロイを有効にして、アカウントがターゲット OU から削除されたときにスタックおよび関連するリソースを削除するか保持するかを選択することができます。これらの設定は、サービスマネージド型のアクセス許可を使用する StackSets ではいつでも変更できます。

自動デプロイの仕組み

自動デプロイを有効にすると、アカウントがターゲット組織または OU に追加されたとき、ターゲット組織または OU から削除されたとき、ターゲット OU 間で移動したときに、トリガーされます。

例えば、us-east-1 リージョンの OU1 をターゲットにする StackSet1 と、us-east-1 リージョンの OU2 をターゲットにする StackSet2 がある場合、OU1 には AccountA が含まれます。

自動デプロイを有効にして AccountAOU1 から OU2 に移動すると、StackSets は自動的に削除オペレーションを実行して StackSet1 スタックを AccountA から削除し、StackSet2 スタックを AccountA に追加する作成オペレーションをキューに入れます。

考慮事項

自動デプロイを使用する際の考慮事項を次に示します。

  • 自動デプロイ機能はスタックセットレベルで設定されます。OU、アカウント、リージョンを選択して自動デプロイを調整することはできません。

  • 上書きされたパラメータ値は、ターゲット OU とその子 OU に現在存在するアカウントにのみ適用されます。今後ターゲット OU とその子 OU に追加されるアカウントでは、スタックセットのデフォルト値が使用され、オーバーライドされた値は使用されません。

  • アカウントレベルのターゲットを使用し、自動デプロイを有効にすると、StackSets は前回のデプロイで定義したアカウントレベルのフィルターの使用を継続し、デプロイされた組織内の新しく追加されたアカウントにもデプロイします。新しく追加されたアカウントへのデプロイを防ぐには、自動デプロイを無効にします。アカウントレベルのターゲットの使用について詳しくは、「Account level targets for service-managed StackSets」を参照してください。

自動デプロイを有効または無効にする (コンソール)

  1. AWS Management Console にサインインし、AWS CloudFormation コンソール (https://console.aws.amazon.com/cloudformation) を開きます。

  2. 画面の上部のナビゲーションバーで、スタックセットを作成した AWS リージョン を選択します。

  3. ナビゲーションペインから [StackSets] を選択します。

  4. StackSets のページで、スタックセットの名前の横にある選択肢を選択し、更新します。

  5. 右上の [アクション] メニューで [自動デプロイを編集] を選択します。

  6. 開いたダイアログボックスで、次の操作を行います。

    1. [自動デプロイ] で、[アクティブ化済み] または [非アクティブ化済み] を選択します。

    2. [アカウント削除の動作] で、[スタックを削除] または [スタックを保持] を選択します。保持されたリソースは現在の状態のままですが、スタックセットには含まれなくなります。

  7. [保存] を選択します。

自動デプロイを有効または無効にする (AWS CLI)

  1. update-stack-set コマンドで --auto-deployment オプションを使用します。

    次のコマンドを実行すると、自動デプロイが有効になります。

    aws cloudformation update-stack-set --stack-set-name my-stackset \ --use-previous-template --auto-deployment Enabled=true,RetainStacksOnAccountRemoval=true

    自動デプロイを無効にしたい場合は、次の例のように、Enabled=false--auto-deployment オプションの値として指定します。

    aws cloudformation update-stack-set --stack-set-name my-stackset \ --use-previous-template --auto-deployment Enabled=false
  2. update-stack-set 出力の一部として返されたオペレーション ID を使用して、describe-stack-set-operation を実行し、スタックセットが正常に更新されたことを確認します。

    aws cloudformation describe-stack-set-operation --operation-id operation_ID