View a markdown version of this page

AMS CloudFormation の取り込み - AMS Advanced Application Developer's Guide

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

AMS CloudFormation の取り込み

AMS AWS CloudFormation 取り込み変更タイプ (CT) を使用すると、いくつかの変更を加えて既存の CloudFormation テンプレートを使用して、AMS マネージド VPC にカスタムスタックをデプロイできます。

AMS CloudFormation 取り込みプロセスには、以下が含まれます。

  • カスタム CloudFormation テンプレートを準備して S3 バケットにアップロードするか、RFC の作成時にテンプレートをインラインで指定します。署名付き URL で S3 バケットを使用している場合。詳細については、「 署名」を参照してください。

  • CloudFormation の取り込み変更タイプを RFC の AMS に送信します。CFN 取り込み変更タイプのチュートリアルについては、「」を参照してくださいCloudFormation 取り込みスタックを作成する。CFN 取り込みの例については、「」を参照してくださいCloudFormation 取り込み: 例

  • スタックが作成されたら、スタックを更新してドリフトを修正できます。さらに、更新が失敗した場合、明示的に承認して更新を実装できます。これらの手順については、このセクションで説明します。

    CFN ドリフト検出の詳細については、「新しい – CloudFormation ドリフト検出」を参照してください。

注記

  • この変更タイプにはバージョン 2.0 が追加されました。バージョン 2.0 は自動化されており、手動では実行されません。これにより、CT 実行をより迅速に実行できます。このバージョンでは、カスタム CloudFormation テンプレートを RFC に貼り付けることができる CloudFormationTemplate と、AMS マルチアカウントランディングゾーンで CloudFormation 取り込みを使用できるようにする VpcId の 2 つの新しいパラメータが導入されました。 CloudFormation

  • バージョン 1.0 は手動変更タイプです。つまり、AMS 演算子は、変更タイプを正常に終了する前に何らかのアクションを実行する必要があります。少なくとも、レビューが必要です。このバージョンでは、CloudFormationTemplateS3Endpoint パラメータ値を署名付き URL にする必要があります。

CloudFormation 取り込みスタックを作成する

コンソールを使用して CloudFormation 取り込みスタックを作成するには

  1. RFC の作成ページに移動します。AMS コンソールの左側のナビゲーションペインでRFCs をクリックして RFCsリストページを開き、RFC の作成をクリックします。

  2. デフォルトの変更タイプ参照ビューで一般的な変更タイプ (CT) を選択するか、カテゴリ別選択ビューで CT を選択します。

    • 変更タイプ別に参照: クイック作成エリアで一般的な CT をクリックすると、すぐに RFC の実行ページを開くことができます。クイック作成で古い CT バージョンを選択することはできません。

      CTsソートするには、カードビューまたはテーブルビューですべての変更タイプエリアを使用します。どちらのビューでも、CT を選択し、RFC の作成をクリックして RFC の実行ページを開きます。必要に応じて、RFC の作成ボタンの横に古いバージョンで作成オプションが表示されます。

    • カテゴリ別に選択: カテゴリ、サブカテゴリ、項目、オペレーションを選択すると、CT 詳細ボックスが開き、必要に応じて古いバージョンで作成するオプションが表示されます。RFC の作成をクリックして、RFC の実行ページを開きます。

  3. RFC の実行ページで、CT 名エリアを開き、CT の詳細ボックスを表示します。件名は必須です (変更タイプの参照ビューで CT を選択した場合は入力されます)。追加設定エリアを開き、RFC に関する情報を追加します。

    実行設定領域で、使用可能なドロップダウンリストを使用するか、必要なパラメータの値を入力します。オプションの実行パラメータを設定するには、追加設定エリアを開きます。

  4. 完了したら、実行 をクリックします。エラーがない場合、RFC が正常に作成されたページに、送信された RFC の詳細と最初の実行出力が表示されます。

  5. Run parameters エリアを開き、送信した設定を確認します。ページを更新して RFC 実行ステータスを更新します。必要に応じて、RFC をキャンセルするか、ページ上部のオプションを使用してコピーを作成します。

CLI を使用して CloudFormation 取り込みスタックを作成するには

  1. インライン作成 (すべての RFC と実行パラメータを含むcreate-rfcコマンドを発行) またはテンプレート作成 (2 つの JSON ファイルを作成します。1 つは RFC パラメータ用、もう 1 つは実行パラメータ用) のいずれかを使用し、2 つのファイルを入力としてcreate-rfcコマンドを発行します。どちらの方法もここで説明します。

  2. 返された RFC ID を使用して RFC: aws amscm submit-rfc --rfc-id ID コマンドを送信します。

    RFC: aws amscm get-rfc --rfc-id ID コマンドをモニタリングします。

変更タイプのバージョンを確認するには、次のコマンドを使用します。

aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
注記

変更タイプのスキーマの一部であるかどうかにかかわらず、任意の RFC で任意のCreateRfcパラメータを使用できます。たとえば、RFC ステータスが変更されたときに通知を受け取るには、リクエストの RFC パラメータ部分 (実行パラメータではなく) --notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}"にこの行を追加します。すべての CreateRfc パラメータのリストについては、AMS 変更管理 API リファレンスを参照してください。

  1. スタックの作成に使用する CloudFormation テンプレートを準備し、S3 バケットにアップロードします。重要な詳細については、AWS CloudFormation 取り込みガイドライン」、「ベストプラクティス」、および「制限」を参照してください。

  2. RFC を作成して AMS に送信します。

    1. 実行パラメータ JSON ファイルを作成して保存し、必要な CloudFormation テンプレートパラメータを含めます。次の例では、CreateCfnParams.json.

      ウェブアプリケーションスタック CreateCfnParams.json ファイルの例:

      { "Name": "cfn-ingest", "Description": "CFNIngest Web Application Stack", "VpcId": "VPC_ID", "CloudFormationTemplateS3Endpoint": "$S3_URL", "TimeoutInMinutes": 120, "Tags": [ { "Key": "Enviroment Type" "Value": "Dev", }, { "Key": "Application" "Value": "PCS", } ], "Parameters": [ { "Name": "Parameter-for-S3Bucket-Name", "Value": "BUCKET-NAME" }, { "Name": "Parameter-for-Image-Id", "Value": "AMI-ID" } ], }

      SNS トピック CreateCfnParams.json ファイルの例:

      { "Name": "cfn-ingest", "Description": "CFNIngest Web Application Stack", "CloudFormationTemplateS3Endpoint": "$S3_URL", "Tags": [ {"Key": "Enviroment Type", "Value": "Dev"} ], "Parameters": [ {"Name": "TopicName", "Value": "MyTopic1"} ] }
  3. 次の内容の RFC パラメータ JSON ファイルを作成して保存します。次の例では、CreateCfnRfc.json ファイルという名前を付けます。

    { "ChangeTypeId": "ct-36cn2avfrrj9v", "ChangeTypeVersion": "2.0", "Title": "cfn-ingest" }
  4. CreateCfnRfc ファイルと CreateCfnParams ファイルを指定して、RFC を作成します。

    aws amscm create-rfc --cli-input-json file://CreateCfnRfc.json --execution-parameters file://CreateCfnParams.json

    レスポンスで新しい RFC の ID を受け取り、それを使用して RFC を送信およびモニタリングできます。送信するまで、RFC は編集状態のままであり、開始されません。

注記

この変更タイプはバージョン 2.0 であり、自動化されています (手動では実行されません)。これにより、CT 実行がより迅速に実行され、新しいパラメータ CloudFormationTemplate を使用して、カスタム CloudFormation テンプレートを RFC に貼り付けることができます。さらに、このバージョンでは、独自のセキュリティグループを指定した場合、デフォルトの AMS セキュリティグループはアタッチされません。リクエストで独自のセキュリティグループを指定しない場合、AMS は AMS のデフォルトのセキュリティグループをアタッチします。CFN Ingest v1.0 では、独自のセキュリティグループを指定したかどうかにかかわらず、常に AMS のデフォルトのセキュリティグループが追加されています。

AMS では、この変更タイプで使用できるように 17 の AMS セルフプロビジョニングサービスが有効になっています。サポートされているリソースの詳細については、CloudFormation Ingest Stack: Supported Resources」を参照してください。

注記

バージョン 2.0 は、署名付き URL ではない S3 エンドポイントを受け入れます。

この CT の以前のバージョンを使用する場合、CloudFormationTemplateS3Endpoint パラメータ値は署名付き URL である必要があります。

署名付き S3 バケット URL (Mac/Linux) を生成するためのコマンドの例:

export S3_PRESIGNED_URL=$(aws s3 presign DASHDASHexpires-in 86400 s3://BUCKET_NAME/CFN_TEMPLATE.json)

署名付き S3 バケット URL を生成するためのコマンドの例 (Windows)

for /f %i in ('aws s3 presign DASHDASHexpires-in 86400 s3://BUCKET_NAME/CFN_TEMPLATE.json') do set S3_PRESIGNED_URL=%i

URLs Amazon S3の作成」も参照してください。

注記

S3 バケットが AMS アカウントに存在する場合は、このコマンドに AMS 認証情報を使用する必要があります。例えば、AMS AWS Security Token Service (AWS STS) 認証情報を取得--profile samlした後に を追加する必要がある場合があります。

関連する変更タイプ: CloudFormation 取り込みスタックの変更セットを承認するCloudFormation 取り込みスタックを更新する

AWS CloudFormation の詳細については、「AWS Cloud Formation」を参照してください。CloudFormation テンプレートを表示するには、AWS CloudFormation テンプレートリファレンスを開きます。

テンプレートは、AMS アカウントで作成できることを確認するために検証されます。検証に合格すると、AMS に準拠するために必要なリソースまたは設定が含まれるように更新されます。これには、AMS オペレーションがスタックをモニタリングできるようにするための Amazon CloudWatch アラームなどのリソースの追加が含まれます。

次のいずれかに該当する場合、RFC は拒否されます。

  • RFC JSON 構文が正しくないか、指定された形式に従っていません。

  • 指定された S3 バケットの署名付き URL が無効です。

  • テンプレートは有効な CloudFormation 構文ではありません。

  • テンプレートには、すべてのパラメータ値にデフォルトが設定されているわけではありません。

  • テンプレートは AMS 検証に失敗します。AMS 検証の手順については、このトピックで後述する情報を参照してください。

リソース作成の問題により CloudFormation スタックの作成に失敗すると、RFC は失敗します。

CFN 検証と検証の詳細については、「テンプレート検証CloudFormation 取り込みスタック: CFN 検証の例」を参照してください。

CloudFormation 取り込みスタックを更新する

コンソールを使用して CloudFormation 取り込みスタックを更新するには

  1. RFC の作成ページに移動します。AMS コンソールの左側のナビゲーションペインでRFCs をクリックして RFCsリストページを開き、RFC の作成をクリックします。

  2. デフォルトの変更タイプ参照ビューで一般的な変更タイプ (CT) を選択するか、カテゴリ別選択ビューで CT を選択します。

    • 変更タイプ別に参照: クイック作成エリアで一般的な CT をクリックすると、すぐに RFC の実行ページを開くことができます。クイック作成で古い CT バージョンを選択することはできません。

      CTs をソートするには、カードビューまたはテーブルビューですべての変更タイプ領域を使用します。どちらのビューでも、CT を選択し、RFC の作成をクリックして RFC の実行ページを開きます。必要に応じて、RFC の作成ボタンの横に古いバージョンで作成オプションが表示されます。

    • カテゴリ別に選択: カテゴリ、サブカテゴリ、項目、オペレーションを選択すると、CT 詳細ボックスが開き、必要に応じて古いバージョンで作成するオプションが表示されます。RFC の作成をクリックして、RFC の実行ページを開きます。

  3. RFC の実行ページで、CT 名エリアを開き、CT の詳細ボックスを表示します。件名は必須です (変更タイプの参照ビューで CT を選択した場合は入力されます)。追加設定領域を開き、RFC に関する情報を追加します。

    実行設定領域で、使用可能なドロップダウンリストを使用するか、必要なパラメータの値を入力します。オプションの実行パラメータを設定するには、追加の設定領域を開きます。

  4. 完了したら、実行 をクリックします。エラーがない場合、RFC が正常に作成されたページに、送信された RFC の詳細と最初の実行出力が表示されます。

  5. Run parameters エリアを開き、送信した設定を確認します。ページを更新して RFC 実行ステータスを更新します。必要に応じて、RFC をキャンセルするか、ページ上部のオプションを使用して RFC のコピーを作成します。

CLI を使用して CloudFormation 取り込みスタックを更新するには

  1. インライン作成 (すべての RFC と実行パラメータを含むcreate-rfcコマンドを発行) またはテンプレート作成 (2 つの JSON ファイルを作成し、1 つは RFC パラメータ用、もう 1 つは実行パラメータ用) のいずれかを使用し、2 つのファイルを入力としてcreate-rfcコマンドを発行します。どちらの方法もここで説明します。

  2. 返された RFC ID を使用して RFC: aws amscm submit-rfc --rfc-id ID コマンドを送信します。

    RFC: aws amscm get-rfc --rfc-id ID コマンドをモニタリングします。

変更タイプのバージョンを確認するには、次のコマンドを使用します。

aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
注記

変更タイプのスキーマの一部であるかどうかにかかわらず、任意の RFC で任意のCreateRfcパラメータを使用できます。たとえば、RFC ステータスが変更されたときに通知を受け取るには、リクエストの RFC パラメータ部分 (実行パラメータではなく) --notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}"にこの行を追加します。すべての CreateRfc パラメータのリストについては、AMS 変更管理 API リファレンスを参照してください。

  1. スタックの更新に使用する CloudFormation テンプレートを準備し、S3 バケットにアップロードします。重要な詳細については、AWS CloudFormation 取り込みガイドライン」、「ベストプラクティス」、および「制限」を参照してください。

  2. RFC を作成して AMS に送信します。

    1. 実行パラメータ JSON ファイルを作成して保存し、必要な CloudFormation テンプレートパラメータを含めます。この例では、UpdateCfnParams.json.

      インラインパラメータ更新を含む UpdateCfnParams.json ファイルの例:

      { "StackId": "stack-yjjoo9aicjyqw4ro2", "VpcId": "VPC_ID", "CloudFormationTemplate": "{\"AWSTemplateFormatVersion\":\"2010-09-09\",\"Description\":\"Create a SNS topic\",\"Parameters\":{\"TopicName\":{\"Type\":\"String\"},\"DisplayName\":{\"Type\":\"String\"}},\"Resources\":{\"SnsTopic\":{\"Type\":\"AWS::SNS::Topic\",\"Properties\":{\"TopicName\":{\"Ref\":\"TopicName\"},\"DisplayName\":{\"Ref\":\"DisplayName\"}}}}}", "TemplateParameters": [ { "Key": "TopicName", "Value": "TopicNameCLI" }, { "Key": "DisplayName", "Value": "DisplayNameCLI" } ], "TimeoutInMinutes": 1440 }

      更新された CloudFormation テンプレートを含む S3 バケットエンドポイントを含む UpdateCfnParams.json ファイルの例:

      { "StackId": "stack-yjjoo9aicjyqw4ro2", "VpcId": "VPC_ID", "CloudFormationTemplateS3Endpoint": "s3_url", "TemplateParameters": [ { "Key": "TopicName", "Value": "TopicNameCLI" }, { "Key": "DisplayName", "Value": "DisplayNameCLI" } ], "TimeoutInMinutes": 1080 }
  3. 次の内容の RFC パラメータ JSON ファイルを作成して保存します。この例では、UpdateCfnRfc.json ファイルという名前を付けます。

    { "ChangeTypeId": "ct-361tlo1k7339x", "ChangeTypeVersion": "1.0", "Title": "cfn-ingest-template-update" }
  4. RFC を作成し、UpdateCfnRfc ファイルと UpdateCfnParams ファイルを指定します。

    aws amscm create-rfc --cli-input-json file://UpdateCfnRfc.json --execution-parameters file://UpdateCfnParams.json

    レスポンスで新しい RFC の ID を受け取り、それを使用して RFC を送信およびモニタリングできます。送信するまで、RFC は編集状態のままであり、開始されません。

  • この変更タイプはバージョン 2.0 になりました。変更には、この CT のバージョン 1.0 で使用された AutoApproveUpdateForResources パラメータの削除と、AutoApproveRiskyUpdatesBypassDriftCheck の 2 つの新しいパラメータの追加が含まれます。

  • S3 バケットが AMS アカウントに存在する場合は、このコマンドに AMS 認証情報を使用する必要があります。例えば、AMS AWS Security Token Service (AWS STS) 認証情報を取得--profile samlした後に を追加する必要がある場合があります。

  • CloudFormation テンプレートのリソースのすべてのParameter値には、デフォルトまたは CT のパラメータセクションのカスタム値のいずれかの値が必要です。CloudFormation テンプレートリソースを構造化して Parameters キーを参照することで、パラメータ値を上書きできます。その方法を示す例については、CloudFormation 取り込みスタック: CFN 検証の例」を参照してください。

    重要: フォームに明示的に指定されていないパラメータがありません。デフォルトでは、既存のスタックまたはテンプレートで現在設定されている値になります。

  • Ingest CloudFormation を使用して追加できるセルフプロビジョニングサービスのリストについては、CloudFormation Ingest Stack: Supported Resources」を参照してください。

    詳細については CloudFormation、「AWS Cloud Formation」を参照してください。

テンプレートは、AMS アカウントで作成できることを確認するために検証されます。検証に合格すると、AMS に準拠するために必要なリソースまたは設定が含まれるように更新されます。これには、AMS オペレーションがスタックをモニタリングできるようにするための Amazon CloudWatch アラームなどのリソースの追加が含まれます。

次のいずれかに該当する場合、RFC は拒否されます。

  • RFC JSON 構文が正しくないか、指定された形式に従っていません。

  • 指定された S3 バケットの署名付き URL が無効です。

  • テンプレートは有効な CloudFormation 構文ではありません。

  • テンプレートには、すべてのパラメータ値にデフォルトが設定されているわけではありません。

  • テンプレートは AMS 検証に失敗します。AMS 検証の手順については、このトピックで後述する情報を参照してください。

リソース作成の問題により CloudFormation スタックの作成に失敗すると、RFC は失敗します。

CFN 検証と検証の詳細については、「テンプレート検証CloudFormation 取り込みスタック: CFN 検証の例」を参照してください。

CloudFormation 取り込みスタックの変更セットを承認する

コンソールを使用して CloudFormation 取り込みスタックを承認および更新するには

  1. RFC の作成ページに移動します。AMS コンソールの左側のナビゲーションペインでRFCs をクリックして RFCsリストページを開き、RFC の作成をクリックします。

  2. デフォルトの変更タイプ参照ビューで一般的な変更タイプ (CT) を選択するか、カテゴリ別選択ビューで CT を選択します。

    • 変更タイプ別に参照: クイック作成エリアで一般的な CT をクリックすると、すぐに RFC の実行ページを開くことができます。クイック作成で古い CT バージョンを選択することはできません。

      CTs をソートするには、カードビューまたはテーブルビューですべての変更タイプ領域を使用します。どちらのビューでも、CT を選択し、RFC の作成をクリックして RFC の実行ページを開きます。必要に応じて、RFC の作成ボタンの横に古いバージョンで作成オプションが表示されます。

    • カテゴリ別に選択: カテゴリ、サブカテゴリ、項目、オペレーションを選択すると、CT 詳細ボックスが開き、必要に応じて古いバージョンで作成するオプションが表示されます。RFC の作成をクリックして、RFC の実行ページを開きます。

  3. RFC の実行ページで、CT 名エリアを開き、CT の詳細ボックスを表示します。件名は必須です (変更タイプの参照ビューで CT を選択した場合は入力されます)。追加設定エリアを開き、RFC に関する情報を追加します。

    実行設定領域で、使用可能なドロップダウンリストを使用するか、必要なパラメータの値を入力します。オプションの実行パラメータを設定するには、追加設定エリアを開きます。

  4. 完了したら、実行 をクリックします。エラーがない場合、RFC が正常に作成されたページに、送信された RFC の詳細と最初の実行出力が表示されます。

  5. Run parameters エリアを開き、送信した設定を確認します。ページを更新して RFC 実行ステータスを更新します。必要に応じて、RFC をキャンセルするか、ページ上部のオプションを使用して RFC のコピーを作成します。

CLI を使用して CloudFormation 取り込みスタックを承認および更新するには

  1. インライン作成 (すべての RFC と実行パラメータを含むcreate-rfcコマンドを発行) またはテンプレート作成 (2 つの JSON ファイルを作成し、1 つは RFC パラメータ用、もう 1 つは実行パラメータ用) のいずれかを使用し、2 つのファイルを入力としてcreate-rfcコマンドを発行します。どちらの方法もここで説明します。

  2. 返された RFC ID を使用して RFC: aws amscm submit-rfc --rfc-id ID コマンドを送信します。

    RFC: aws amscm get-rfc --rfc-id ID コマンドをモニタリングします。

変更タイプのバージョンを確認するには、次のコマンドを使用します。

aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
注記

変更タイプのスキーマの一部であるかどうかにかかわらず、任意の RFC で任意のCreateRfcパラメータを使用できます。たとえば、RFC ステータスが変更されたときに通知を受け取るには、リクエストの RFC パラメータ部分 (実行パラメータではなく) --notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}"にこの行を追加します。すべての CreateRfc パラメータのリストについては、AMS 変更管理 API リファレンスを参照してください。

  1. この変更タイプの実行パラメータ JSON スキーマを現在のフォルダ内のファイルに出力します。この例では、CreateAsgParams.json:

    aws amscm create-rfc --change-type-id "ct-1404e21baa2ox" --change-type-version "1.0" --title "Approve Update" --execution-parameters file://PATH_TO_EXECUTION_PARAMETERS --profile saml
  2. スキーマを次のように変更して保存します。

    { "StackId": "STACK_ID", "VpcId": "VPC_ID", "ChangeSetName": "UPDATE-ef81e2bc-03f6-4b17-a3c7-feb700e78faa", "TimeoutInMinutes": 1080 }
注記

スタックに複数のリソースがあり、スタックリソースのサブセットのみを削除する場合は、CloudFormation Update CT を使用します。CloudFormation Ingest Stack: Update」を参照してください。また、サービスリクエストケースを送信することもできます。AMS エンジニアは、必要に応じて変更セットの作成を支援します。

詳細については AWS CloudFormation、「」を参照してくださいAWS CloudFormation

CloudFormation スタック終了保護を更新する

AMS コンソールでこの変更タイプを以下に示します。

仕組み:

  1. RFC の作成ページに移動します。AMS コンソールの左側のナビゲーションペインでRFCs をクリックして RFCsリストページを開き、RFC の作成をクリックします。

  2. デフォルトの変更タイプ参照ビューで一般的な変更タイプ (CT) を選択するか、カテゴリ別選択ビューで CT を選択します。

    • 変更タイプ別に参照: クイック作成エリアで一般的な CT をクリックすると、すぐに RFC の実行ページを開くことができます。クイック作成で古い CT バージョンを選択することはできません。

      CTs をソートするには、カードビューまたはテーブルビューですべての変更タイプ領域を使用します。どちらのビューでも、CT を選択し、RFC の作成をクリックして RFC の実行ページを開きます。必要に応じて、RFC の作成ボタンの横に古いバージョンで作成オプションが表示されます。

    • カテゴリ別に選択: カテゴリ、サブカテゴリ、項目、オペレーションを選択すると、CT 詳細ボックスが開き、必要に応じて古いバージョンで作成するオプションが表示されます。RFC の作成をクリックして、RFC の実行ページを開きます。

  3. RFC の実行ページで、CT 名エリアを開き、CT の詳細ボックスを表示します。件名は必須です (変更タイプの参照ビューで CT を選択した場合は入力されます)。追加設定エリアを開き、RFC に関する情報を追加します。

    実行設定領域で、使用可能なドロップダウンリストを使用するか、必要なパラメータの値を入力します。オプションの実行パラメータを設定するには、追加設定エリアを開きます。

  4. 完了したら、実行 をクリックします。エラーがない場合、RFC が正常に作成されたページに、送信された RFC の詳細と最初の実行出力が表示されます。

  5. Run parameters エリアを開き、送信した設定を確認します。ページを更新して RFC 実行ステータスを更新します。必要に応じて、RFC をキャンセルするか、ページ上部のオプションを使用して RFC のコピーを作成します。

仕組み:

  1. インライン作成 (すべての RFC と実行パラメータを含むcreate-rfcコマンドを発行) またはテンプレート作成 (2 つの JSON ファイルを作成し、1 つは RFC パラメータ用、もう 1 つは実行パラメータ用) のいずれかを使用し、2 つのファイルを入力としてcreate-rfcコマンドを発行します。どちらの方法もここで説明します。

  2. 返された RFC ID を使用して RFC: aws amscm submit-rfc --rfc-id ID コマンドを送信します。

    RFC: aws amscm get-rfc --rfc-id ID コマンドをモニタリングします。

変更タイプのバージョンを確認するには、次のコマンドを使用します。

aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
注記

変更タイプのスキーマの一部であるかどうかにかかわらず、任意の RFC で任意のCreateRfcパラメータを使用できます。たとえば、RFC ステータスが変更されたときに通知を受け取るには、リクエストの RFC パラメータ部分 (実行パラメータではなく) --notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}"にこの行を追加します。すべての CreateRfc パラメータのリストについては、AMS 変更管理 API リファレンスを参照してください。

変更するパラメータのみを指定します。パラメータがない場合、既存の値は保持されます。

インライン作成:

インラインで指定された実行パラメータ (インラインで実行パラメータを指定する場合は引用符をエスケープ) を指定して create RFC コマンドを発行し、返された RFC ID を送信します。たとえば、コンテンツを次のような内容に置き換えることができます。

aws amscm create-rfc \ --change-type-id "ct-2uzbqr7x7mekd" \ --change-type-version "1.0" \ --title "Enable termination protection on CFN stack" \ --execution-parameters "{\"DocumentName\":\"AWSManagedServices-ManageResourceTerminationProtection\",\"Region\":\"us-east-1\",\"Parameters\":{\"ResourceId\":[\"stack-psvnq6cupymio3enl\"],\"TerminationProtectionDesiredState\":[\"enabled\"]}}"

テンプレートの作成:

  1. この変更タイプの実行パラメータを JSON ファイルに出力します。この例では EnableTermProCFNParams.json:

    aws amscm get-change-type-version --change-type-id "ct-2uzbqr7x7mekd" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > EnableTermProCFNParams.json
  2. EnableTermProCFNParams ファイルを変更して保存し、変更するパラメータのみを保持します。たとえば、コンテンツを次のような内容に置き換えることができます。

    { "DocumentName": "AWSManagedServices-ManageResourceTerminationProtection", "Region": "us-east-1", "Parameters": { "ResourceId": ["stack-psvnq6cupymio3enl"], "TerminationProtectionDesiredState": ["enabled"] } }
  3. RFC テンプレートを現在のフォルダのファイルに出力します。この例では EnableTermProCFNRfc.json:

    aws amscm create-rfc --generate-cli-skeleton > EnableTermProCFNRfc.json
  4. EnableTermProCFNRfc.json ファイルを変更して保存します。たとえば、コンテンツを次のような内容に置き換えることができます。

    { "ChangeTypeId": "ct-2uzbqr7x7mekd", "ChangeTypeVersion": "1.0", "Title": "Enable termination protection on CFN instance" }
  5. EnableTermProCFNRfc ファイルと EnableTermProCFNParams ファイルを指定して、RFC を作成します。

    aws amscm create-rfc --cli-input-json file://EnableTermProCFNRfc.json --execution-parameters file://EnableTermProCFNParams.json

    レスポンスで新しい RFC の ID を受け取り、それを使用して RFC を送信およびモニタリングできます。送信するまで、RFC は編集状態のままであり、開始されません。

終了保護の詳細については、「スタックが削除されないように保護する」を参照してください。