メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

スタックセットの更新

AWS マネジメントコンソール 内で、または AWS CLI で AWS CloudFormation コマンドを使用することでスタックセットを更新できます。このウォークスルーでは、送信チャネル設定のデフォルトスナップショット送信頻度を、24hours から 12hours に変更します。

AWS マネジメントコンソール を使用してスタックセットを更新するには

  1. https://console.aws.amazon.com/cloudformation で AWS CloudFormation コンソールを開きます。

  2. ページ上部で、[StackSets] を選択します。

  3. StackSets ホームページで、「新しいスタックセットの作成」で作成したスタックセットを選択します。このウォークスルーで、my-awsconfig-stackset という名前のスタックセットを作成しました。

  4. スタックセットを選択した状態で、[Actions] メニューから [Manage stacks in stack set] を選択します。

  5. [Edit stacks]、[Next] の順に選択します。

     [スタックセットのスタックを管理] ページ
  6. [Select template] ページで、現在のテンプレートを更新するか、他のテンプレートに S3 URL を指定するか、AWS CloudFormation に新しいテンプレートをアップロードするかを選択します。このウォークスルーでは、現在のテンプレートを使用しています。[Current template: Update my-aws-config-stackset]、[Next] の順に選択します。

     [テンプレートの選択] ページ
  7. ウィザードの [Specify details] ページで、次の情報を変更します。

    1. プロンプトが表示され、AWS Config に使用されるパラメータの値を指定します。これらのパラメータに関する詳細については、AWS Config Developer Guide の「Setting up AWS Config with the Console」を参照してください。このウォークスルーでは、送信チャネル設定のデフォルトスナップショット送信頻度を、24hours から 12hours に変更します。

       [Change AWS Config] パラメータ
    2. 他のパラメータは変更しないでください。このウォークスルーでは、Amazon SNS の更新は設定しません。

  8. AWS Config の [Delivery snapshot frequency] パラメータを変更したあと、[Next] を選択します。

  9. [Set deployment options] ページで、デフォルト値の [1] および同時アカウントの最大数数値を保持します。つまり、AWS CloudFormation は一度に 1 つのアカウントのみでスタックを更新します。障害耐性 をデフォルトの [0] のままにし、数値 デフォルトオプションをそのままにします。つまり、AWS CloudFormation が現在のリージョンで更新を停止し、残りのリージョンでの更新をキャンセルする前に、最大で 1 つのスタック更新が、指定されたリージョンで失敗できるということを意味します。[Next] を選択します。

    注記

    ここではアカウントとリージョンを変更することはできません。つまり、いくつかのアカウントやリージョンにはスタックセットの変更をデプロイし、他のアカウントやリージョンにはデプロイしない、ということはできません。

     更新頻度の設定
  10. [Tags] ページでは、変更は必要ありませんが、必要に応じてタグの更新、削除、または追加を行うことはできます。AWS でのタグの使用方法に関する詳細については、『AWS Billing and Cost Management ユーザーガイド』の「コスト配分タグの使用」を参照してください。[Next] を選択します。

  11. [Review] ページで、設定とスタックセットのプロパティを確認します。変更するには、プロパティを変更したい領域の右上隅で [Edit] を選択します。スタックセットを更新する前に、[Capabilities] 領域のチェックボックスをオンにし、スタックセットで更新しているリソースの一部が IAM リソースやアクセス権限を必要とする場合があることを認識します。必要となる可能性があるアクセス権限の詳細については、本ガイドの AWS CloudFormation テンプレートで IAM リソースを認識するを参照してください。スタックセットを作成する準備ができたら、[Update stacks] を選択します。

     更新オプションの確認
  12. AWS CloudFormation がスタックセットに更新の適用を開始します。更新の進捗やステータスは、[Update stacks] を選択したあとに開くスタックセットプロパティページで確認できます。AWS Config パラメータで、更新された [Delivery snapshot frequency] の期間が確認できます。

AWS CLI を使用してスタックセットテンプレートを更新するには

update-stack-set AWS CLI コマンドを実行して、スタックセットを変更します。このウォークスルーでは、MaximumExecutionFrequency パラメータの値を更新します。AWS Config ルールを作成または更新するためのパラメータ名および値に関する詳細については、 AWS CLI リファレンスの put-config-rule を参照してください。テンプレートのパラメータ値を変更するには、--parameters パラメータを追加します。 --parametersの値として指定できるものに関する詳細については、AWS CloudFormation API リファレンスの [Parameter] および AWS CLI コマンドリファレンスupdate-stack を参照してください。

ここで示すサンプルコマンドでは、--parameters を使用してスタックセットを更新します。具体的には、送信チャネル設定のデフォルトスナップショット送信頻度を [TwentyFour_Hours] から [Twelve_Hours] に変更します。現在のテンプレートをまだ使用しているため、--use-previous-template パラメータを追加します。

  1. 次のコマンドを実行します。stack set name には、スタックセット名 my-awsconfig-stackset を指定します。

    次の例で示している通り、--operation-preferences パラメータで FailureToleranceCount0 に、MaxConcurrentCount1 に設定することで、障害耐性および同時アカウントの最大数を設定します。代わりに割合を適用するには、FailureTolerancePercentage または MaxConcurrentPercentage を使用します。このウォークスルーでは、割合ではなくカウントを使用します。

    Copy
    aws cloudformation update-stack-set --stack-set-name my-awsconfig-stackset --use-previous-template --parameters ParameterKey=MaximumExecutionFrequency,ParameterValue=TwentyFour_Hours\\,Twelve_Hours --operation-preferences FailureToleranceCount=0,MaxConcurrentCount=1
  2. describe-stack-set-operation コマンドを実行して更新オペレーションのステータスおよび結果を表示し、スタックセットが正常に更新されたことを確認します。--operation-id には、update-stack-set コマンドに返されたオペレーション ID を使用します。

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