

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

# All At Once トラフィックシフトを使用する
<a name="deployment-guardrails-blue-green-all-at-once"></a>

All At Once トラフィックシフトにより、Blue/Green デプロイの安全なガードレールを使って、エンドポイントの更新を迅速にロールアウトできます。このトラフィックシフトオプションを使うと、Blue/Green デプロイの可用性の保証を利用しながら、更新時間を最小限に抑えることができます。ベーキング期間機能は、古いインスタンスを終了する前に新しいインスタンスのパフォーマンスと機能をモニタリングし、新しいフリートが完全に動作可能かを確認するのに役立ちます。

次の図は、All At Once トラフィックシフトが古いフリートと新しいフリートを管理する方法を示しています。

![\[古いフリートから新しいフリートへの 100% のトラフィックシフトに成功。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/deployment-guardrails-blue-green-all-at-once.png)


All At Once トラフィックシフトを使うと、SageMaker AI は 100% のトラフィックを新しいフリート (緑のフリート) にルーティングします。緑のフリートがトラフィックを受信し始めると、ベーキング期間が始まります。ベーキング期間は、事前に指定した Amazon CloudWatch アラームが緑のフリートのパフォーマンスをモニタリングする一定期間です。ベーキング期間中にアラームが作動しない場合、SageMaker AI は古いフリート (青のフリート) を終了します。ベーキング期間中にアラームが作動した場合は、自動ロールバックが開始され、100% のトラフィックが青のフリートに戻ります。

## 前提条件
<a name="deployment-guardrails-blue-green-all-at-once-prereqs"></a>

All At Once トラフィックシフトを使うデプロイを設定する前に、エンドポイントからのメトリクスをモニタリングする Amazon CloudWatch アラームを作成する必要があります。ベーキング期間中にアラームが作動した場合、トラフィックは青のフリートにロールバックされます。エンドポイントに CloudWatch アラームを設定する方法については、前提条件のページ「[設定とモニタリングを自動ロールバックする](deployment-guardrails-configuration.md)」を参照してください。CloudWatch アラームの詳細については、[Amazon CloudWatch ユーザーガイド](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)の「*Amazon CloudWatch でのアラームの使用*」を参照してください。

## All At Once トラフィックシフトを設定する
<a name="deployment-guardrails-blue-green-all-at-once-configure"></a>

デプロイの準備が整い、エンドポイントに CloudWatch アラームを設定したら、SageMaker AI [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) API または AWS Command Line Interface の [update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html) コマンドのいずれかを使って、デプロイを開始できます。

**Topics**
+ [エンドポイントを更新する方法 (API)](#deployment-guardrails-blue-green-all-at-once-configure-api-update)
+ [既存の Blue/Green 更新ポリシーでエンドポイントを更新する方法 (API)](#deployment-guardrails-blue-green-all-at-once-configure-api-existing)
+ [エンドポイントを更新する方法 (CLI)](#deployment-guardrails-blue-green-all-at-once-configure-cli-update)

### エンドポイントを更新する方法 (API)
<a name="deployment-guardrails-blue-green-all-at-once-configure-api-update"></a>

次の例は、Amazon SageMaker API の [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) を使って、All At Once トラフィックシフトでエンドポイントを更新する方法を示しています。

```
import boto3
client = boto3.client("sagemaker")

response = client.update_endpoint(
    EndpointName="<your-endpoint-name>",
    EndpointConfigName="<your-config-name>",
    DeploymentConfig={
        "BlueGreenUpdatePolicy": {
            "TrafficRoutingConfiguration": {
                "Type": "ALL_AT_ONCE"
            },
            "TerminationWaitInSeconds": 600,
            "MaximumExecutionTimeoutInSeconds": 1800
        },
        "AutoRollbackConfiguration": {
            "Alarms": [
                {
                    "AlarmName": "<your-cw-alarm>"
                },
            ]
        }
    }
)
```

All At Once トラフィックシフトオプションを設定するには、以下を実行します。
+ `EndpointName` には、更新する既存のエンドポイントの名前を使用します。
+ `EndpointConfigName` には、使用するエンドポイント設定の名前を使用します。
+ `DeploymentConfig` と `BlueGreenUpdatePolicy` の下の `TrafficRoutingConfiguration` で、`Type` パラメータを `ALL_AT_ONCE` に設定します。これは、デプロイが All At Once トラフィックシフトモードを使うよう指定します。
+ `TerminationWaitInSeconds` の場合は、`600` を使用します。このパラメータは SageMaker AI に対し、緑のフリートが完全にアクティブになった後、青のフリートのインスタンスを終了するまで、所定の時間 (秒単位) 待機するよう指示します。この例では、SageMaker AI は最後のベーキング期間後 10 分間待機してから、青のフリートを終了します。
+ `MaximumExecutionTimeoutInSeconds` の場合は、`1800` を使用します。このパラメータは、デプロイがタイムアウトするまでに実行できる最大時間を設定します。前の例では、デプロイが終了するまでの制限時間は 30 分です。
+ `AutoRollbackConfiguration` の `Alarms` フィールドでは、CloudWatch アラームを名前で追加できます。使うアラームごとに 1 つの `AlarmName: <your-cw-alarm>` エントリを作成します。

### 既存の Blue/Green 更新ポリシーでエンドポイントを更新する方法 (API)
<a name="deployment-guardrails-blue-green-all-at-once-configure-api-existing"></a>

[CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) API を使ってエンドポイントを作成する場合は、必要に応じて、将来のエンドポイントの更新に再利用するデプロイ設定を指定できます。前の UpdateEndpoint API の例と同じ `DeploymentConfig` オプションを使用できます。CreateEndpoint API の動作に変化はありません。デプロイ設定を指定しても、エンドポイントでの Blue/Green 更新が自動的に実行されるわけではありません。

以前のデプロイ設定を使うオプションは、[UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) API エンドポイントを使ってエンドポイントを更新するときに発生します。エンドポイントを更新するときは、`RetainDeploymentConfig` オプションを使って、エンドポイントの作成時に指定したデプロイ設定を保持できます。

[UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) API を呼び出すときに、`RetainDeploymentConfig` を `True` に設定して、元のエンドポイント設定の `DeploymentConfig` オプションを保持します。

```
response = client.update_endpoint(
    EndpointName="<your-endpoint-name>",
    EndpointConfigName="<your-config-name>",
    RetainDeploymentConfig=True
)
```

### エンドポイントを更新する方法 (CLI)
<a name="deployment-guardrails-blue-green-all-at-once-configure-cli-update"></a>

AWS CLI を使う場合、次の例は、[update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html) コマンドを使って Blue/Green All At Once デプロイメントを始める方法を示しています。

```
update-endpoint
--endpoint-name <your-endpoint-name> 
--endpoint-config-name <your-config-name> 
--deployment-config '"BlueGreenUpdatePolicy": {"TrafficRoutingConfiguration": {"Type": "ALL_AT_ONCE"},
    "TerminationWaitInSeconds": 600, "MaximumExecutionTimeoutInSeconds": 1800},
    "AutoRollbackConfiguration": {"Alarms": [{"AlarmName": "<your-alarm>"}]}'
```

All At Once トラフィックシフトオプションを設定するには、以下を実行します。
+ `endpoint-name` には、更新するエンドポイントの名前を使用します。
+ `endpoint-config-name` には、使用するエンドポイント設定の名前を使用します。
+ `deployment-config` には、[BlueGreenUpdatePolicy](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_BlueGreenUpdatePolicy.html) JSON オブジェクトを使用します。

**注記**  
JSON オブジェクトをファイルに保存する場合は、*AWS CLI ユーザーガイド*の「[AWS CLI スケルトンと入力パラメータの生成](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-skeleton.html)」を参照してください。