翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
テンプレート同期設定を作成する
を使用してテンプレート同期設定を作成する方法について説明します AWS Proton。
テンプレート同期設定の前提条件を作成します。
-
リポジトリを AWS Protonにリンクしました。
-
テンプレートバンドルがリポジトリにあります。
リポジトリリンクは以下で構成されます。
-
リポジトリにアクセスして通知をサブスクライブするアクセス AWS Proton 許可を に付与する CodeConnections 接続。
-
サービスリンクロール あなたのリポジトリをリンクすると、サービスリンクロールが作成されます。
最初のテンプレート同期設定を作成する前に、次のディレクトリレイアウトに示すように、テンプレートバンドルをリポジトリにプッシュします。
/templates/ # subdirectory (optional) /templates/my-env-template/ # template name /templates/my-env-template/v1/ # template version /templates/my-env-template/v1/infrastructure/ # template bundle /templates/my-env-template/v1/schema/
最初のテンプレート同期設定を作成した後、新しいバージョンの下 (たとえば、/my-env-template/v2/
の下) に更新されたテンプレートバンドルを追加するコミットをプッシュすると、新しいテンプレートバージョンが自動的に作成されます。
/templates/ # subdirectory (optional) /templates/my-env-template/ # template name /templates/my-env-template/v1/ # template version /templates/my-env-template/v1/infrastructure/ # template bundle /templates/my-env-template/v1/schema/ /templates/my-env-template/v2/ /templates/my-env-template/v2/infrastructure/ /templates/my-env-template/v2/schema/
1 つ以上の同期設定テンプレートの新しいテンプレートバンドルバージョンを 1 つのコミットに含めることができます。 は、コミットに含まれていた新しいテンプレートバンドルバージョンごとに新しいテンプレートバージョン AWS Proton を作成します。
テンプレート同期設定を作成した後も、S3 バケットからテンプレートバンドルをアップロード AWS CLI することで、コンソールまたは でテンプレートの新しいバージョンを手動で作成できます。テンプレートの同期は、リポジトリから への一方向にのみ機能します AWS Proton。手動で作成したテンプレートのバージョンは同期されません。
テンプレート同期設定をセットアップすると、 はリポジトリへの変更を AWS Proton リッスンします。変更がプッシュされるたびに、テンプレートと同じ名前のディレクトリが検索されます。次に、そのディレクトリ内でメジャーバージョンのようなディレクトリを探します。 は、テンプレートバンドルを対応するテンプレートメジャーバージョン AWS Proton に登録します。新しいバージョンは常に DRAFT
状態です。新しいバージョンは、 コンソールまたは を使用して公開できます AWS CLI。
たとえば、my-env-template
というテンプレートがあってブランチ main
の my-repo/templates
から同期するように設定されているとすると、以下のようなレイアウトになります。
/code /code/service.go README.md /templates/ /templates/my-env-template/ /templates/my-env-template/v1/ /templates/my-env-template/v1/infrastructure/ /templates/my-env-template/v1/schema/ /templates/my-env-template/v2/ /templates/my-env-template/v2/infrastructure/ /templates/my-env-template/v2/schema/
AWS Proton は の内容を /templates/my-env-template/v1/
にmy-env-template:1
、 の内容を /templates/my-env-template/v2/
に同期しますmy-env-template:2
。これらのメジャーバージョンは、存在しない場合、作成されます。
AWS Proton は、テンプレート名と一致する最初のディレクトリを見つけました。テンプレート同期設定を作成または編集subdirectoryPath
するときに を指定することで、ディレクトリ AWS Proton 検索を制限できます。たとえば、subdirectoryPath
の /production-templates/
を指定できます。
テンプレート同期設定は、コンソールまたは CLI を使用して作成できます。
サービステンプレートを同期する
前の例では、環境テンプレートを同期する方法を示します。サービステンプレートも同様です。サービステンプレートを同期するには、あなたのテンプレートバンドルの各メジャーバージョンディレクトリに .template-registration.yaml
という名前のファイルを追加します。このファイルには、コミット後にサービステンプレートバージョンを作成するときに が AWS Proton 必要とする追加の詳細が含まれています。 AWS Proton コンソールまたは API を使用してサービステンプレートバージョンを明示的に作成する場合は、これらの詳細を入力として指定します。このファイルはテンプレート同期のためにこれらの入力を置き換えます。
./templates/ # subdirectory (optional) /templates/my-svc-template/ # service template name /templates/my-svc-template/v1/ # service template version /templates/my-svc-template/v1/.template-registration.yaml # service template version properties /templates/my-svc-template/v1/instance_infrastructure/ # template bundle /templates/my-svc-template/v1/schema/
.template-registration.yaml
ファイルには次の詳細が含まれています。
-
互換性のある環境 [必須] — これらの環境テンプレートとメジャーバージョンに基づく環境は、このサービステンプレートバージョンに基づくサービスと互換性があります。
-
サポート対象のコンポーネントソース [オプション] — これらのソースを使用するコンポーネントは、このサービステンプレートバージョンに基づくサービスと互換性があります。指定しないと、コンポーネントをこれらのサービスにアタッチできません。コンポーネントの詳細については、「AWS Proton コンポーネント」を参照してください。
ファイルの YAML 構文は次のとおりです。
compatible_environments: -
env-templ-name
:major-version
- ... supported_component_sources: - DIRECTLY_DEFINED
1 つ以上の環境テンプレートとメジャーバージョンの組み合わせを指定します。supported_component_sources
の指定はオプションです。サポートされている値は DIRECTLY_DEFINED
だけです。
例 .template-registration.yaml
この例では、サービステンプレートバージョンは my-env-template
環境テンプレートのメジャーバージョン 1 と 2 と互換性があります。また、another-env-template
環境テンプレートのメジャーバージョン 1 と 3 とも互換性があります。このファイルは supported_component_sources
を指定していないため、このサービステンプレートバージョンに基づくサービスにはコンポーネントをアタッチできません。
compatible_environments: - my-env-template:1 - my-env-template:2 - another-env-template:1 - another-env-template:3
注記
以前は、 は互換性のある環境を指定するために別のファイル AWS Proton を定義していました。 AWS Proton は.compatible-envs
下位互換性のためにそのファイルとその形式をサポートしています。このファイルは、拡張性がなく、コンポーネントなどの新しい機能をサポートできないため、これ以上の使用はお勧めしません。