

サポート終了通知: 2026 年 10 月 7 日、 AWS はサポートを終了します AWS Proton。2026 年 10 月 7 日以降、 AWS Proton コンソールまたは AWS Proton リソースにアクセスできなくなります。デプロイされたインフラストラクチャはそのまま残ります。詳細については、[AWS Proton 「サービス廃止と移行ガイド](https://docs.aws.amazon.com/proton/latest/userguide/proton-end-of-support.html)」を参照してください。

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

# サービス同期設定
<a name="ag-service-sync-configs"></a>

サービス同期を使用すると、Git を使用して AWS Proton サービスを設定およびデプロイできます。サービス同期を使用して、Git リポジトリで定義された設定を使用して、 AWS Proton サービスへの初期デプロイと更新を管理できます。Git では、バージョントラッキングやプルリクエストなどの機能で、あなたのサービスの設定、管理、デプロイができます。サービス同期は、 AWS Proton と Git を組み合わせて、 AWS Proton テンプレートを通じて定義および管理される標準化されたインフラストラクチャをプロビジョニングするのに役立ちます。Service sync を利用すれば、あなたの Git リポジトリ内のサービス定義が管理され、ツールの切り替え回数を減らすことができます。Git のみを使用する場合と比較して、 テンプレートの標準化と での AWS Proton デプロイは、インフラストラクチャの管理に費やす時間を短縮するのに役立ちます。 AWS Proton また、 は、開発者チームとプラットフォームチームの両方により高い透明性と監査可能性を提供します。

## AWS Proton OPS ファイル
<a name="service-sync-ops"></a>

`proton-ops` ファイルは、 がサービスインスタンスの更新に使用される仕様ファイル AWS Proton を見つける場所を定義します。また、サービスインスタンスを更新する順序と、あるインスタンスから別のインスタンスに変更をプロモートするタイミングも定義されます。

この `proton-ops` ファイルでは、あなたのリンク先のリポジトリにある仕様ファイルまたは複数の仕様ファイルで、サービスインスタンスを同期できます。これを行うには、次の例のように `proton-ops` ファイルに同期ブロックを定義します。

**例 ./configuration/proton-ops.yaml:**

```
sync:
  services:
      frontend-svc:
          alpha:
              branch: dev
              spec: ./frontend-svc/test/frontend-spec.yaml
          beta:
              branch: dev
              spec: ./frontend-svc/test/frontend-spec.yaml
          gamma:
              branch: pre-prod
              spec: ./frontend-svc/pre-prod/frontend-spec.yaml
          prod-one:
              branch: prod
              spec: ./frontend-svc/prod/frontend-spec-second.yaml
          prod-two:
              branch: prod
              spec: ./frontend-svc/prod/frontend-spec-second.yaml
          prod-three:
              branch: prod
              spec: ./frontend-svc/prod/frontend-spec-second.yaml
```

前の例では、`frontend-svc` はサービス名で、`alpha`、`beta`、`gamma`、`prod-one`、`prod-two`、`prod-three` はインスタンスです。

`spec` ファイルは、すべてのインスタンスでも、`proton-ops` ファイル内で定義されているインスタンスのサブセットでもかまいません。ただし、少なくとも、ブランチ内で定義されたインスタンスと同期元の仕様が必要です。インスタンスが特定のブランチと `spec` ファイルの場所で `proton-ops` ファイルに定義されていないと、Service Sync ではそれらのインスタンスの作成や更新はできません。

以下の例は、`spec` がどのようになるかを示します。`proton-ops` ファイルはこれらの `spec` ファイルから同期されることに注意してください。

**例`./frontend-svc/test/frontend-spec.yaml`:**

```
proton: "ServiceSpec"
instances:
- name: "alpha"
  environment: "frontend-env"
  spec:
    port: 80
    desired_count: 1
    task_size: "x-small"
    image: "public.ecr.aws/z9d2n7e1/nginx:1.21.0"
- name: "beta"
  environment: "frontend-env"
  spec:
    port: 80
    desired_count: 1
    task_size: "x-small"
    image: "public.ecr.aws/z9d2n7e1/nginx:1.21.0"
```

**例`./frontend-svc/pre-prod/frontend-spec.yaml`:**

```
proton: "ServiceSpec"
instances:
- name: "gamma"
  environment: "frontend-env"
  spec:
    port: 80
    desired_count: 1
    task_size: "x-small"
    image: "public.ecr.aws/z9d2n7e1/nginx:1.21.0"
```

**例`./frontend-svc/prod/frontend-spec-second.yaml`:**

```
proton: "ServiceSpec"
instances:
- name: "prod-one"
  environment: "frontend-env"
  spec:
    port: 80
    desired_count: 1
    task_size: "x-small"
    image: "public.ecr.aws/z9d2n7e1/nginx:1.21.0"
- name: "prod-two"
  environment: "frontend-env"
  spec:
    port: 80
    desired_count: 1
    task_size: "x-small"
    image: "public.ecr.aws/z9d2n7e1/nginx:1.21.0"
- name: "prod-three"
  environment: "frontend-env"
  spec:
    port: 80
    desired_count: 1
    task_size: "x-small"
    image: "public.ecr.aws/z9d2n7e1/nginx:1.21.0"
```

インスタンスが同期されず、同期を試みても引き続き問題が発生する場合は、[https://docs.aws.amazon.com//proton/latest/APIReference/API_GetServiceInstanceSyncStatus.html](https://docs.aws.amazon.com//proton/latest/APIReference/API_GetServiceInstanceSyncStatus.html) API を呼び出すと問題を解決できる場合があります。

**注記**  
サービス同期を使用しているお客様は、引き続き AWS Proton 制限の対象となります。

**ブロッカー**

サービス同期を使用して AWS Proton サービスを同期することで、サービス仕様を更新し、Git リポジトリからサービスインスタンスを作成および更新できます。ただし、 AWS マネジメントコンソール または を使用してサービスまたはインスタンスを手動で更新する必要がある場合があります AWS CLI。

AWS Proton は、サービスインスタンスの更新やサービスインスタンスの削除など AWS CLI、 AWS マネジメントコンソール または を通じて行った手動の変更を上書きしないようにします。その場合、手動による変更を検出すると Service Sync は無効になり、 AWS Proton はサービス同期ブロッカーを自動的に作成します。

サービスに関連するブロッカーをすべて取得するには、サービスに関連付けられている `serviceInstance` をそれぞれ順番に実行する必要があります。
+ `serviceName` だけで `getServiceSyncBlockerSummary` API を呼び出します。
+ `serviceName` と `serviceInstanceName` で `getServiceSyncBlockerSummary` API を呼び出します。

これにより、最新のブロッカーとそれに関連するステータスのリストが返されます。**ACTIVE** とマークされているブロッカーがある場合は、`blockerId` と `resolvedReason` でそれぞれに AND を指定して `UpdateServiceSyncBlocker` API を呼び出して解決する必要があります。

サービスインスタンスを手動で更新または作成する場合、 はサービスインスタンスにサービス同期ブロッカー AWS Proton を作成します。 は他のすべてのサービスインスタンスの同期 AWS Proton を続行しますが、ブロッカーが解決されるまでこのサービスインスタンスの同期を無効にします。サービスからサービスインスタンスを削除すると、 はサービスにサービス同期ブロッカー AWS Proton を作成します。これにより AWS Proton 、ブロッカーが解決されるまで、 はサービスインスタンスを同期できなくなります。

アクティブなブロッカーがすべて揃ったら、`blockerId` と `resolvedReason` でアクティブなブロッカーごとに、 `UpdateServiceSyncBlocker` API を呼び出して問題をあなたが解決する必要があります。

を使用して AWS マネジメントコンソール、 に移動 AWS Proton して Service Sync タブを選択すると、**サービス同期**が無効になっているかどうかを判断できます。サービスやサービスインスタンスがブロックされている場合は、[**有効化**] ボタンが表示されます。サービス同期を有効にするには、[**有効化**] を選択します。

**Topics**
+ [AWS Proton OPS ファイル](#service-sync-ops)
+ [サービス同期設定を作成する](create-service-sync.md)
+ [サービス同期の設定の詳細が表示されます](get-service-sync.md)
+ [サービス同期設定を編集する](update-service-sync.md)
+ [サービス同期設定を削除する](delete-service-sync.md)