サービス CloudFormation IaC ファイルパラメータの詳細と例 - AWS Proton

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

サービス CloudFormation IaC ファイルパラメータの詳細と例

パラメータは、あなたのサービスとパイプラインの Infrastructure as Code (IaC)ファイルで定義し、参照することができます。パラメータ、パラメータタイプ、 AWS Proton パラメータ名前空間、およびあなたの IaC ファイル内のパラメータの使用方法の詳細については、AWS Proton パラメータ を参照してください。

サービスパラメータを定義する

サービス IaC ファイルには、入力パラメータと出力パラメータの両方を定義できます。

  • 入力パラメータ — サービスインスタンスの入力パラメータをあなたのスキーマファイルに定義します。

    以下に挙げるのは、一般的なユースケースのサービス入力パラメータの例です。

    • ポート

    • タスクサイズ

    • イメージ

    • 必要数

    • Docker ファイル

    • ユニットテストコマンド

    サービスを作成するときに、入力パラメータの値を指定できます。

    • コンソールを使用して、 AWS Proton が提供するスキーマベースのフォームに入力します。

    • 値を含む仕様を CLI で指定します。

  • 出力パラメータ — あなたのサービス IaC ファイル内のサービスインスタンス出力を定義します。その後、他のリソースの IaC ファイルでこれらの出力を参照できます。

サービス IaC ファイル内のパラメータ値を読み取ります。

サービス IaC ファイル内のサービスや他のリソースに関連するパラメータを読み取ることができます。パラメータ値を読み取るには、パラメータ名前空間の AWS Proton パラメータ名を参照します。

  • 入力パラメータservice_instance.inputs.input-name を参照してサービスインスタンスの入力値を読み込む。

  • リソースパラメータservice.name、、 などの名前を参照してservice_instance.nameリソース AWS Proton パラメータを読み取りますenvironment.name

  • 出力パラメータenvironment.outputs.output-name または service_instance.components.default.outputs.output-name を参照して他のリソースの出力を読み取ります。

パラメータのあるサービス IaC ファイルの例

次の例は、サービス CloudFormation IaC ファイルのスニペットです。environment.outputs. 名前空間は、環境 IaC ファイルからの出力を参照します。service_instance.inputs. 名前空間はサービスインスタンスの入力パラメータを参照します。service_instance.name プロパティは、 AWS Proton リソースパラメータを参照します。

Resources: StoreServiceInstanceInputValue: Type: AWS::SSM::Parameter Properties: Type: String Value: "{{ service.name }} {{ service_instance.name }} {{ service_instance.inputs.my_sample_service_instance_required_input }} {{ service_instance.inputs.my_sample_service_instance_optional_input }} {{ environment.outputs.MySampleInputValue }} {{ environment.outputs.MyOtherSampleInputValue }}" # resource parameter references # input parameter references # output references to an environment infrastructure as code file Outputs: MyServiceInstanceParameter: # output definition Value: !Ref StoreServiceInstanceInputValue MyServiceInstanceRequiredInputValue: # output definition Value: "{{ service_instance.inputs.my_sample_service_instance_required_input }}" # input parameter reference MyServiceInstanceOptionalInputValue: # output definition Value: "{{ service_instance.inputs.my_sample_service_instance_optional_input }}" # input parameter reference MyServiceInstancesEnvironmentSampleOutputValue: # output definition Value: "{{ environment.outputs.MySampleInputValue }}" # output reference to an environment IaC file MyServiceInstancesEnvironmentOtherSampleOutputValue: # output definition Value: "{{ environment.outputs.MyOtherSampleInputValue }}" # output reference to an environment IaC file