翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用した低レイテンシーのリアルタイム推論 AWS PrivateLink
Amazon SageMaker AI は、マルチ AZ 配置を使用して高可用性と耐障害性を維持しながら、リアルタイム推論の低レイテンシーを実現します。アプリケーションレイテンシーは、インフラストラクチャーまたはオーバーヘッドレイテンシーとモデル推論レイテンシーという 2 つの主要な要素で構成されています。オーバーヘッドレイテンシーが減少することにより、より複雑で詳細かつ正確なモデルのデプロイや、スケーラブルで保守が容易なマイクロサービスモジュールへのモノリシックアプリケーションの分割といった、新たな可能性が開かれます。デプロイを使用して AWS PrivateLink SageMaker AI でリアルタイム推論のレイテンシーを短縮できます。を使用すると AWS PrivateLink、インターフェイス VPC エンドポイントを使用して、スケーラブルな方法で Virtual Private Cloud (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)
エンドポイント設定の詳細については、「リアルタイム推論用のモデルをデプロイする」を参照してください。