翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon SageMaker AI は、マルチ AZ 配置を使用して高可用性と耐障害性を維持しながら、リアルタイム推論のレイテンシーを低くします。アプリケーションレイテンシーは、インフラストラクチャーまたはオーバーヘッドレイテンシーとモデル推論レイテンシーという 2 つの主要な要素で構成されています。オーバーヘッドレイテンシーが減少することにより、より複雑で詳細かつ正確なモデルのデプロイや、スケーラブルで保守が容易なマイクロサービスモジュールへのモノリシックアプリケーションの分割といった、新たな可能性が開かれます。デプロイを使用して AWS PrivateLink SageMaker AI でリアルタイム推論のレイテンシーを減らすことができます。を使用すると AWS PrivateLink、インターフェイス VPC エンドポイントを使用して、スケーラブルな方法で仮想プライベートクラウド (VPC) からすべての SageMaker API オペレーションにプライベートにアクセスできます。インターフェイス VPC エンドポイントは、SageMaker API 呼び出しのエントリポイントとして機能するプライベート IP アドレスを持つサブネットの Elastic Network Interface です。
デフォルトでは、2 つ以上のインスタンスを持つ SageMaker AI エンドポイントは少なくとも 2 つの AWS アベイラビリティーゾーン (AZs) にデプロイされ、任意の AZ のインスタンスは呼び出しを処理できます。その結果、オーバーヘッドレイテンシーの原因となる 1 つ以上の AZ「ホップ」が発生します。privateDNSEnabled
オプションを true
に設定して AWS PrivateLink デプロイを実行すると、次の 2 つの目的を達成できます。
-
すべての推論トラフィックを VPC 内に保持する。
-
SageMaker ランタイムを使用する場合、呼び出しトラフィックと発信元のクライアントを同じ AZ に保持する。これにより AZ 間の「ホップ」が回避され、オーバーヘッドレイテンシが減少します。
このガイドの以下のセクションでは、 AWS PrivateLink デプロイによるリアルタイム推論のレイテンシーを減少する方法を示します。
デプロイ AWS PrivateLink
デプロイするには AWS PrivateLink、まず SageMaker AI エンドポイントに接続する VPC のインターフェイスエンドポイントを作成します。 「インターフェイス VPC エンドポイントを使用して AWS サービスにアクセスする」の手順に従って、インターフェイスエンドポイントを作成してください。エンドポイントの作成中、コンソールインターフェイスで次の設定を選択します。
-
[その他の設定] の [DNS 名を有効化] チェックボックスをオンにします。
-
SageMaker AI エンドポイントで使用する適切なセキュリティグループとサブネットを選択します。
また、VPC の DNS ホスト名が有効になっていることも確認してください。VPC の DNS 属性を変更する方法の詳細については、「VPC の DNS 属性の表示と更新」を参照してください。
VPC に SageMaker AI エンドポイントをデプロイする
オーバーヘッドレイテンシーを低くするには、デプロイ時に指定したのと同じサブネットを使用して SageMaker AI エンドポイントを作成します AWS PrivateLink。これらのサブネットは、次のコードスニペットに示すように、クライアントアプリケーションの AZ と一致する必要があります。
model_name = '<the-name-of-your-model>'
vpc = 'vpc-0123456789abcdef0'
subnet_a = 'subnet-0123456789abcdef0'
subnet_b = 'subnet-0123456789abcdef1'
security_group = 'sg-0123456789abcdef0'
create_model_response = sagemaker_client.create_model(
ModelName = model_name,
ExecutionRoleArn = sagemaker_role,
PrimaryContainer = {
'Image': container,
'ModelDataUrl': model_url
},
VpcConfig = {
'SecurityGroupIds': [security_group],
'Subnets': [subnet_a, subnet_b],
},
)
前述のコードスニペットは、[開始する前に] の手順に従っていることを前提としています。
SageMaker AI エンドポイントを呼び出す
最後に、次のコードスニペットに示すように、SageMaker Runtime クライアントを指定し、SageMaker AI エンドポイントを呼び出します。
endpoint_name = '<endpoint-name>'
runtime_client = boto3.client('sagemaker-runtime')
response = runtime_client.invoke_endpoint(EndpointName=endpoint_name,
ContentType='text/csv',
Body=payload)
エンドポイント設定の詳細については、「リアルタイム推論用のモデルをデプロイする」を参照してください。