テンプレートの検証 - AMS Advanced Application デベロッパーガイド

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

テンプレートの検証

CloudFormation テンプレートは、AMS に送信する前に自己検証できます。

AMS CloudFormation 取り込みに送信されたテンプレートは、AMS アカウント内にデプロイしても安全であることを確認するために検証されます。検証プロセスは以下をチェックします。

  • サポートされているリソース – AMS CloudFormation 取り込みがサポートされているリソースのみが使用されます。詳細については、「サポートされているリソース」を参照してください。

  • サポートされている AMIs – テンプレートの AMI は AMS がサポートする AMI です。AMS AMIs「」を参照してくださいAMS Amazon マシンイメージ (AMIs)

  • AMS 共有サービスサブネット – テンプレートは、AMS 共有サービスサブネットへのリソースの起動を試みません。

  • リソースポリシー – パブリックに読み取り可能な S3 バケットポリシーや書き込み可能な S3 バケットポリシーなど、過度に許可されたリソースポリシーはありません。AMS は、パブリックに読み取り可能または書き込み可能な S3 バケットを許可しません AWS アカウント。

CloudFormation Linter ツールを使用して、AMS に送信する前に CloudFormation テンプレートを自己検証できます。

CloudFormation Linter ツールは、リソース/プロパティ名、データ型、関数の検証を提供するため、CloudFormation テンプレートを検証する最善の方法です。詳細については、「aws-cloudformation/cfn-python-lint」を参照してください。

前述のテンプレートの CloudFormation Linter 出力は次のとおりです。

$ cfn-lint -t ./testtmpl.json E3002 Invalid Property Resources/SNSTopic/Properties/Name ./testtmpl.json:6:9

CloudFormation テンプレートのオフライン検証を支援するために、AMS は CloudFormation Linter ツール用のプラグイン可能なカスタム検証ルールのセットを開発しました。これらは、AMS コンソールの開発者リソースページにあります。

取り込み CloudFormation 前検証スクリプトを使用するには、次の手順に従います。

  1. CloudFormation Linter ツールをインストールします。インストール手順については、「aws-cloudformation / cfn-lint」を参照してください。

  2. 検証スクリプトを含む .zip ファイルをダウンロードします。

    CFN Lint カスタムルール

  3. アタッチされたルールを任意のディレクトリに解凍します。

  4. 次のコマンドを実行して CloudFormation テンプレートを検証します。

    cfn-lint --template {TEMPLATE_FILE} --append-rules {DIRECTORY_WITH_CUSTOM_RULES}