翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Proton パラメータ
あなたの infrastructure as Code (IaC) ファイルにパラメータを定義して使用すると、ファイルの柔軟性が高まり、再利用可能になります。IaC ファイル内のパラメータ値を読み取るには、パラメータ AWS Proton 名前空間 内のパラメータ名を参照します。 AWS Proton は、リソースのプロビジョニング中に生成されるレンダリングされた IaC ファイルにパラメータ値を挿入します。 AWS CloudFormation IaC パラメータを処理するには、Jinja
ではCodeBuild プロビジョニング、コードがインポートできる入力ファイル AWS Proton を生成します。このファイルは、あなたのテンプレートのマニフェスト内のプロパティに応じて、JSON ファイルか HCL ファイルになります。詳細については、「CodeBuild プロビジョニングパラメータの詳細と例」を参照してください。
あなたの環境、サービス、コンポーネントの IaC ファイルまたはプロビジョニングコードのパラメータは、以下の要件で参照できます。
-
各パラメータ名の長さが 100 文字を超えてはなりません。
-
パラメータの名前空間とリソース名の組み合わせの長さが、リソース名の文字制限を超えてはなりません。
AWS Proton これらのクォータを超えると、 プロビジョニングは失敗します。
パラメータタイプ
AWS Proton IaC ファイルでは、以下のパラメータタイプを参照できます。
- 入力パラメータ
-
環境とサービスインスタンスでは、環境やサービステンプレートに関連付けたスキーマファイル内で定義した入力パラメータを受け取ることができます。リソースの IaC ファイルにあるリソースの入力パラメータを参照できます。コンポーネント IaC ファイルは、コンポーネントがアタッチされているサービスインスタンスの入力パラメータを参照できます。
AWS Proton は、入力パラメータ名をスキーマファイルと照合し、IaC ファイルで参照されているパラメータと照合して、リソースのプロビジョニング中に仕様ファイルで指定した入力値を挿入します。
- 出力パラメータ
-
出力は、あなたのどの IaC ファイルでも定義できます。出力には、テンプレートがプロビジョニングするリソースの名前、ID、ARN の場合もあれば、テンプレートの入力の 1 つを渡す方法である場合もあります。これらの出力は、他のリソースの IaC ファイルで参照できます。
CloudFormation IaC ファイルで、
Outputs:
ブロックの出力パラメータを定義します。Terraform IaC ファイルでは、output
ステートメントを使用して各出力パラメータを定義します。 - リソースパラメータ
-
AWS Proton は AWS Proton リソースパラメータを自動的に作成します。これらのパラメータは、 AWS Proton リソースオブジェクトのプロパティを公開します。リソースパラメータの例は
environment.name
です。
IaC ファイルでの AWS Proton パラメータの使用
IaC ファイル内のパラメータ値を読み取るには、パラメータ名前空間内の AWS Proton パラメータの名前を参照します。 AWS CloudFormation IaC ファイルの場合、Jinja 構文を使用し、 パラメータを中括弧と引用符のペアで囲みます。
以下の表は、サポートされている各テンプレート言語のリファレンス構文と例です。
テンプレート言語 | Syntax | 例:「VPC」という名前の環境入力 |
---|---|---|
CloudFormation |
|
|
Terraform |
|
|
注記
IaC ファイルでCloudFormation 動的パラメータを使用する場合は、Jinja の誤った解釈エラーを防ぐためにパラメータをエスケープ
次の表に、すべての AWS Proton リソースパラメータの名前空間名を示します。各テンプレートファイルタイプでは、パラメータ名前空間の異なるサブセットを使用できます。
テンプレートファイル | パラメータタイプ | パラメータ名 | 説明 |
---|---|---|---|
環境 |
リソース |
|
環境名 |
input |
|
スキーマ定義の環境入力 |
|
サービス |
リソース |
|
環境名と AWS アカウント ID |
output |
|
環境 IaC ファイル出力 |
|
リソース |
|
サービス名とコードのリポジトリ |
|
リソース |
|
サービスインスタンス名 |
|
input |
|
スキーマ定義サービスインスタンス入力 |
|
リソース |
|
アタッチされたデフォルトコンポーネント名 |
|
output |
|
アタッチされたデフォルトコンポーネント IaC ファイル出力 |
|
パイプライン |
リソース |
|
サービスインスタンスの環境名と AWS アカウント ID |
output |
|
サービスインスタンス環境 IaC ファイル出力 |
|
input |
|
スキーマ定義パイプライン入力 |
|
リソース |
|
サービス名とコードのリポジトリ |
|
input |
|
スキーマ定義サービスインスタンス入力 |
|
collection |
|
ループスルーできるサービスインスタンスのコレクション |
|
コンポーネント |
リソース |
|
環境名と AWS アカウント アカウント ID |
output |
|
環境 IaC ファイル出力 |
|
リソース |
|
サービス名とコードのリポジトリ (アタッチされたコンポーネント) |
|
リソース |
|
サービスインスタンス名 (アタッチされたコンポーネント) |
|
input |
|
スキーマ定義のサービスインスタンス入力 (アタッチされたコンポーネント) |
|
リソース |
|
コンポーネント名 |
詳細と例については、さまざまなリソースタイプとテンプレート言語の IaC テンプレートファイル内のパラメータに関するサブトピックを参照してください。