CloudFormation コンソールまたは AWS CLI を使用してスタックセットを更新する
CloudFormation コンソールまたは AWS CLI を使用してスタックセットを更新できます。
注記
スタックインスタンスのパラメータ値を上書きするには、「スタックインスタンスのパラメータを上書きする」を参照してください。スタックセットからアカウントとリージョンを追加および削除するには、「スタックをスタックセットに追加する」および「スタックセットからのスタックインスタンスの削除」を参照してください。
CloudFormation コンソールを使用してスタックセットを更新する
AWS Management Console にサインインし、AWS CloudFormation コンソール (https://console.aws.amazon.com/cloudformation
) を開きます。 -
画面の上部のナビゲーションバーで、スタックセットを作成した AWS リージョン を選択します。
-
ナビゲーションペインから [StackSets] を選択します。
-
[StackSets] ページで、更新するスタックセットを選択します。
-
スタックセットを選択した状態で、[アクション] メニューから [StackSet 詳細の編集] を選択します。
-
[テンプレートの選択] ページで、必要に応じて[アクセス許可] セクションを更新するか、次のステップに進みます。
-
前提条件 - テンプレートを準備するには、[現在のテンプレートを使用する] を選択して現在のテンプレートを使用するか、[現在のテンプレートを置き換える] を選択して別のテンプレートに S3 URL を指定するか、新しいテンプレートをアップロードします。
-
[Next] を選択します。
-
[StackSet の詳細を指定] ページの [StackSet の説明] で、必要に応じてスタックセットの説明を更新します。
-
パラメータ の場合、必要に応じてパラメータ値を更新します。
-
[Next] を選択します。
-
[StackSet オプションの設定] ページの [タグ] で、タグを必要に応じて変更します。タグを追加、更新、または削除できます。AWS でのタグの使用方法に関する詳細については、AWS Billing and Cost Management ユーザーガイドの「AWS コスト配分タグを使用してコストを整理および追跡する」を参照してください。
-
[実行設定] では、必要に応じて実行設定を更新できます。
注記
既に実行中のオペレーションまたはキューに入っているオペレーションがある場合、StackSets はオペレーションが競合しない場合でもすべての受信オペレーションをキューに入れます。
そのスタックセットに実行中のオペレーションまたはキューに入っているオペレーションがある間は、スタックセットの実行構成を変更することはできません。
-
テンプレートに IAM リソースが含まれる場合は、[機能] で[I acknowledge that this template may create IAM resources (このテンプレートが IAM リソースを作成する可能性を認識しています)] を選択して、テンプレート内の IAM リソースを使用することを指定します。詳細については、「CloudFormation テンプレートでの IAM リソースの承認」を参照してください。
-
[Next] を選択します。
-
[デプロイオプションの設定] ページで、更新用のアカウントとリージョンを指定します。
CloudFormation は、リージョンのデプロイ失敗が指定された障害耐性を超えない限り、最初のリージョン内の指定されたアカウントにスタック更新をデプロイし、次のリージョンに移行し、それが繰り返されます。
-
[セルフマネージド型のアクセス許可] [アカウント] の[Deployment locations (デプロイ先)] で [Deploy stacks in accounts (スタックをアカウントにデプロイ)] を選択します。スタックセットの作成に使用したターゲットアカウント ID をテキストボックスに貼り付け、複数の数字をカンマで区切ります。
[サービスマネージド型のアクセス許可] 次のいずれかを実行します。
-
[Deploy to organizational units (OUs) (組織単位 (OU) にデプロイ)] を選択します。スタックセットの作成に使用したターゲット OU を入力します。
-
[Deploy to accounts (アカウントにデプロイ)] を選択します。スタックセットの作成に使用したターゲット OU ID またはアカウント ID を貼り付けます。
-
-
[Specify regions (リージョンの指定)] では、CloudFormation で更新をデプロイする順序を指定します。
-
[Deployment options (デプロイメントオプション)] で次のようにします。
-
[Maximum concurrent accounts (同時アカウントの最大数)] では、必要に応じて最大同時アカウント数を変更します。
-
[Failure tolerance (障害耐性)] では、必要に応じて障害耐性を変更します。
-
[Region concurrency (リージョンの同時実行)] では、必要に応じてリージョンの同時実行数を変更します。
-
[Concurrency mode (同時実行モード)] では、必要に応じて同時実行モードを変更します。
-
-
[次へ] を選択して続行します。
-
-
[確認] ページで選択内容を確認します。変更するには、関連セクションで [編集] をクリックします。
-
続行する準備ができたら、[送信] を選択します。
CloudFormation によってスタックセットへの更新の適用が開始され、スタックセット詳細ページの [オペレーション] タブが表示されます。[オペレーション] タブで更新オペレーションの進捗と状況を確認できます。
AWS CLI を使用してスタックセットを更新する
委任された管理者として行動する場合は、StackSets コマンドを実行するたびに --call-as
オプションを DELEGATED_ADMIN
に設定する必要があります。
--call-as
DELEGATED_ADMIN
-
update-stack-set コマンドを実行して、スタックセットを変更します。
次のコマンド例では、
--parameters
を使用してスタックセットを更新します。特に、送信チャネル設定のデフォルトスナップショット送信頻度を、[TwentyFour_Hours
] から [Twelve_Hours
] に変更します。現在のテンプレートをまだ使用しているため、--use-previous-template
オプションを追加します。[セルフマネージド型のアクセス許可]
--accounts
オプションでは、更新のターゲットにするアカウント ID を指定します。aws cloudformation update-stack-set --stack-set-name
my-awsconfig-stackset
\ --use-previous-template --parametersParameterKey=MaximumExecutionFrequency,ParameterValue=Twelve_Hours
\ --accounts'["account_ID_1","account_ID_2"]'
\ --regions'["us-west-2","us-east-1"]'
[サービスマネージド型のアクセス許可]
--deployment-targets
オプションでは、更新のターゲットにする組織 (ルート) ID、OU ID、AWS Organizations のアカウント ID のいずれかを指定します。aws cloudformation update-stack-set --stack-set-name
my-stackset
\ --use-previous-template \ --parametersParameterKey=MaximumExecutionFrequency,ParameterValue=Twelve_Hours
\ --deployment-targets OrganizationalUnitIds='["ou-rcuk-1x5j1lwo", "ou-rcuk-slr5lh0a"]'
\ --regions'["us-west-2","us-east-1"]'
CloudFormation がこのスタックセット操作を実行する方法の設定を指定するには、次の例のように
--operation-preferences
プションを指定します。この例では、割合ではなくカウントを使用します。代わりに割合を適用するには、FailureTolerancePercentage
またはMaxConcurrentPercentage
を使用します。--operation-preferences
FailureToleranceCount=0,MaxConcurrentCount=1
注記
MaxConcurrentCount
の値は、FailureToleranceCount
の値に依存します。MaxConcurrentCount
は、最大でFailureToleranceCount
より 1 だけ多くなります。 -
describe-stack-set-operation コマンドを実行して更新オペレーションのステータスおよび結果を表示し、スタックセットが正常に更新されたことを確認します。
--operation-id
には、update-stack-set コマンドに返されたオペレーション ID を使用します。aws cloudformation describe-stack-set-operation \ --operation-id
operation_ID