翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用してテンプレート同期設定を作成する方法について説明します 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 を使用して作成できます。
テンプレートを使用して、テンプレートとテンプレート同期設定を作成します。
-
AWS Proton コンソール
で [Environment templates (環境テンプレート)] を選択します。 -
[Create Environment template] (環境テンプレートの作成) を選択します。
-
[Create environment template (環境テンプレートを作成する)] ページの [Template options (テンプレートオプション)] セクションで [Create a template for provisioning new environments (新しい環境のプロビジョニング用のテンプレートを作成する)] を選択します。
-
[Template bundle source (テンプレートバンドルソース)] セクションで [Sync templates from Git (Git からテンプレートを同期する)] を選択します。
-
[Source code repository (ソースコードレポジトリ)] セクションで以下の操作をします。
-
「Repository」では、あなたのテンプレートバンドルがあるリンク先のリポジトリを選択します。
-
[ブランチ] で、同期するリポジトリブランチを選択します。
-
(オプション)テンプレートバンドルディレクトリには、あなたのテンプレートバンドルの検索を絞り込むためのディレクトリ名を入力します。
-
-
[Template details (テンプレートの詳細)] セクションで以下の操作をします。
-
テンプレート名を入力します。
-
(オプション) [Template display name] にテンプレート表示名を入力します。
-
(オプション) [Template description] に環境テンプレートの説明を入力します。
-
-
(オプション) [Encryption settings (暗号化設定)] セクションの [Customize encryption settings (advanced) (暗号化設定のカスタマイズ (アドバンスト))] のチェックボックスをオンにします。
-
(オプション) [Tags (タグ)] セクションで [Add new tag (新しいタグを追加)] を選択し、キーと値を入力してカスタマーマネージドタグを作成します。
-
[Create Environment template (環境テンプレートの作成)] を選択します。
新しいページが開き、新しい環境テンプレートのステータスと詳細が表示されます。これらの詳細には、 AWS マネージドタグとカスタマーマネージドタグのリストが含まれます。 は、 AWS Proton リソースの作成時に AWS Proton 自動的に AWS マネージドタグを生成します。詳細については、「AWS Proton リソースとタグ付け」を参照してください。
-
テンプレートの詳細ページで [Sync (同期)] タブを使用してテンプレート同期設定の詳細データを表示します。
-
[Template versions (テンプレートのバージョン)] タブを選択して、テンプレートバージョンとステータスの詳細を表示します。
-
新しい環境テンプレートのステータスは [Draft (ドラフト)] から始まります。その表示やアクセスができるのは、あなたと
proton:CreateEnvironment
権限がある他のユーザーです。次の手順に従って、テンプレートを自分以外のユーザーが使用できるようにします。 -
[Template versions (テンプレートのバージョン)] セクションで、先ほど作成したテンプレートのマイナーバージョン (1.0) の左側にあるラジオボタンを選択します。別の方法としては、情報アラートで [Publish (発行)] を選択して次のステップをスキップします。
-
[Template versions (テンプレートのバージョン)] セクションで [Publish (パブリッシュ)] を選択します。
-
テンプレートのステータスが [Published (パブリッシュ済み)] に変わります。これはテンプレートの最新かつ推奨バージョンです。
-
ナビゲーションペインで [Environment templates (環境テンプレート)] を選択して環境テンプレートと詳細の一覧を表示します。
サービステンプレートとテンプレート同期設定を作成する手順も同様です。
サービステンプレートを同期する
前の例では、環境テンプレートを同期する方法を示します。サービステンプレートも同様です。サービステンプレートを同期するには、あなたのテンプレートバンドルの各メジャーバージョンディレクトリに .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
下位互換性のためにそのファイルとその形式をサポートしています。このファイルは、拡張性がなく、コンポーネントなどの新しい機能をサポートできないため、これ以上の使用はお勧めしません。