AWS Proton パラメータ - AWS Proton

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

AWS Proton パラメータ

あなたの infrastructure as Code (IaC) ファイルにパラメータを定義して使用すると、ファイルの柔軟性が高まり、再利用可能になります。IaC ファイル内のパラメータ値を読み取るには、パラメータ AWS Proton 名前空間 内のパラメータ名を参照します。 AWS Proton は、リソースのプロビジョニング中に生成されるレンダリングされた IaC ファイルにパラメータ値を挿入します。 AWS CloudFormation IaC パラメータを処理するには、Jinja AWS Proton を使用します。Terraform IaC パラメータを処理するために、 は Terraform パラメータ値ファイル AWS Proton を生成し、HCL に組み込まれているパラメータ化機能に依存します。

では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

"{{ parameter-name }}"

"{{ environment.inputs.VPC }}"

Terraform

var.parameter-name

var.environment.inputs.VPC

生成された Terraform 変数定義

注記

IaC ファイルでCloudFormation 動的パラメータを使用する場合は、Jinja の誤った解釈エラーを防ぐためにパラメータをエスケープする必要があります。詳細については、「AWS Proton のトラブルシューティング」を参照してください。

次の表に、すべての AWS Proton リソースパラメータの名前空間名を示します。各テンプレートファイルタイプでは、パラメータ名前空間の異なるサブセットを使用できます。

テンプレートファイル パラメータタイプ パラメータ名 説明

環境

リソース

environment.name

環境名

input

environment.inputs.input-name

スキーマ定義の環境入力

サービス

リソース

environment.name

environment.account_id

環境名と AWS アカウント ID

output

environment.outputs.output-name

環境 IaC ファイル出力

リソース

service.branch_name

service.name

service.repository_connection_arn

service.repository_id

サービス名とコードのリポジトリ

リソース

service_instance.name

サービスインスタンス名

input

service_instance.inputs.input-name

スキーマ定義サービスインスタンス入力

リソース

service_instance.components.default.name

アタッチされたデフォルトコンポーネント名

output

service_instance.components.default.outputs.output-name

アタッチされたデフォルトコンポーネント IaC ファイル出力

パイプライン

リソース

service_instance.environment.name

service_instance.environment.account_id

サービスインスタンスの環境名と AWS アカウント ID

output

service_instance.environment.outputs.output-name

サービスインスタンス環境 IaC ファイル出力

input

pipeline.inputs.input-name

スキーマ定義パイプライン入力

リソース

service.branch_name

service.name

service.repository_connection_arn

service.repository_id

サービス名とコードのリポジトリ

input

service_instance.inputs.input-name

スキーマ定義サービスインスタンス入力

collection

{% for service_instance in service_instances %}...{% endfor %}

ループスルーできるサービスインスタンスのコレクション

コンポーネント

リソース

environment.name

environment.account_id

環境名と AWS アカウント アカウント ID

output

environment.outputs.output-name

環境 IaC ファイル出力

リソース

service.branch_name

service.name

service.repository_connection_arn

service.repository_id

サービス名とコードのリポジトリ (アタッチされたコンポーネント)

リソース

service_instance.name

サービスインスタンス名 (アタッチされたコンポーネント)

input

service_instance.inputs.input-name

スキーマ定義のサービスインスタンス入力 (アタッチされたコンポーネント)

リソース

component.name

コンポーネント名

詳細と例については、さまざまなリソースタイプとテンプレート言語の IaC テンプレートファイル内のパラメータに関するサブトピックを参照してください。