VPC SageMaker 内で に接続する - Amazon SageMaker

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

VPC SageMaker 内で に接続する

インターネット経由で接続するのではなく、Virtual Private Cloud (VPC) のインターフェイスエンドポイントを介して SageMaker API または Amazon SageMaker Runtime に直接接続できます。VPC インターフェイスエンドポイントを使用すると、 AWS ネットワーク内で VPC と SageMaker API またはランタイム間の通信が完全かつ安全に実施されます。

VPC インターフェイスエンドポイント SageMaker 経由で に接続する

SageMaker API と SageMaker ランタイムは、 を使用する Amazon Virtual Private Cloud (Amazon VPC) インターフェイスエンドポイントをサポートしますAWS PrivateLink。各 VPC エンドポイントは、VPC サブネット内の 1 つ以上の Elastic Network Interface とプライベート IP アドレスで表されます。例えば、VPC 内のアプリケーションは AWS PrivateLink を使用して SageMaker ランタイムと通信します。 SageMaker 次に、ランタイムは SageMaker エンドポイントと通信します。 AWS PrivateLink を使用すると、次の図に示すように、VPC 内から SageMaker エンドポイントを呼び出すことができます。


                VPC は AWS PrivateLink を使用して SageMaker エンドポイントと通信します。

VPC インターフェイスエンドポイントは、インターネットゲートウェイ、NAT デバイス、VPN 接続、または 接続を使用 AWS PrivateLink せずに、 を使用して VPC を SageMaker API または SageMaker ランタイムに直接 AWS Direct Connect 接続します。VPC のインスタンスは、 SageMaker API または SageMaker ランタイムと通信するためにパブリックインターネットに接続する必要はありません。

AWS PrivateLink インターフェイスエンドポイントを作成して、 SageMaker または AWS Management Console AWS Command Line Interface () を使用してランタイムに接続 SageMakerできますAWS CLI。手順については、「インターフェイス VPC エンドポイントを使用して AWS サービスにアクセスする」を参照してください。

VPC エンドポイントのプライベートドメインネームシステム (DNS) ホスト名を有効にしていない場合は、VPC エンドポイント を作成した後、 SageMaker API または SageMaker ランタイムへのインターネットエンドポイント URL を指定します。 AWS CLI コマンドを使用して endpoint-urlパラメータを指定するコード例を次に示します。

aws sagemaker list-notebook-instances --endpoint-url VPC_Endpoint_ID.api.sagemaker.Region.vpce.amazonaws.com aws sagemaker list-training-jobs --endpoint-url VPC_Endpoint_ID.api.sagemaker.Region.vpce.amazonaws.com aws sagemaker-runtime invoke-endpoint --endpoint-url https://VPC_Endpoint_ID.runtime.sagemaker.Region.vpce.amazonaws.com \ --endpoint-name Endpoint_Name \ --body "Endpoint_Body" \ --content-type "Content_Type" \ Output_File

VPC エンドポイントのプライベート DNS ホスト名を有効にする場合は、デフォルトのホスト名 (https://api.sagemaker.Region.amazon.com) が VPC エンドポイントに解決されるため、エンドポイント URL を指定する必要はありません。同様に、デフォルトの SageMaker ランタイム DNS ホスト名 (https://runtime.sagemaker.Region .amazonaws.com) も VPC エンドポイントに解決されます。

SageMaker API と SageMaker ランタイムSageMakerは、Amazon VPC と の両方 AWS リージョン が使用可能なすべての で VPC エンドポイントをサポートします。 は、VPC Operations内のすべての への呼び出し SageMaker をサポートしています。 https://docs.aws.amazon.com/general/latest/gr/rande.html#vpc_regionAuthorizedUrl から を使用する場合 
 CreatePresignedNotebookInstanceUrl コマンドを使用すると、トラフィックはパブリックインターネットを経由します。VPC エンドポイントを使用して署名付き URL にアクセスすることはできません。リクエストはインターネットゲートウェイを経由する必要があります。

デフォルトでは、ユーザーは署名付き URL を企業ネットワーク外のユーザーと共有できます。セキュリティを強化するには、IAM アクセス許可を追加して、ネットワーク内でのみ URL を使用できるように制限する必要があります。IAM アクセス許可の詳細については、「 と IAM AWS PrivateLink の連携方法」を参照してください。

注記

SageMaker ランタイムサービス (https://runtime.sagemaker.Region.amazonaws.com) の VPC インターフェイスエンドポイントを設定するときは、プライベート DNS 解決が機能するように、クライアントのアベイラビリティーゾーンで VPC インターフェイスエンドポイントが有効になっていることを確認する必要があります。アクティブ化されていないと、URL を解決しようとしたときに DNS 障害が発生する可能性があります。

の詳細については AWS PrivateLink、「」のAWS PrivateLink ドキュメントを参照してください。VPC エンドポイントの料金については、「AWS PrivateLink の料金」を参照してください。VPC およびエンドポイントの詳細については、「Amazon VPC」を参照してください。アイデンティティベースの AWS Identity and Access Management ポリシーを使用して SageMaker API と SageMaker ランタイムへのアクセスを制限する方法については、「」を参照してくださいID ベースのポリシーを使用して SageMaker API へのアクセスを制御する

VPC 内のリソースでの SageMaker トレーニングとホスティングの使用

SageMaker は実行ロールを使用して、トレーニングコンテナまたは推論コンテナとは別に、Amazon S3 バケットと Amazon Elastic Container Registry (Amazon ECR) から情報をダウンロードしてアップロードします。VPC 内にリソースがある場合でも、それらのリソース SageMaker へのアクセスを許可できます。以下のセクションでは、ネットワーク分離 SageMaker の有無にかかわらず、 リソースを で使用できるようにする方法を説明します。

ネットワーク分離が有効になっていない場合

トレーニングジョブまたはモデルにネットワーク分離を設定していない場合 SageMaker は、次のいずれかの方法を使用してリソースにアクセスできます。

  • SageMaker トレーニングコンテナとデプロイされた推論コンテナは、デフォルトでインターネットにアクセスできます。 SageMaker コンテナは、トレーニングと推論のワークロードの一部として、パブリックインターネット上の外部サービスやリソースにアクセスできます。 SageMaker 次の図に示すように、コンテナは VPC 設定がないと VPC 内のリソースにアクセスできません。

    
                            SageMaker は、VPC 設定がないと VPC 内のリソースにアクセスできません。
  • VPC 設定を使用して、elastic network interface (ENI) 経由で VPC 内のリソースと通信します。次の図に示すように、コンテナと VPC 内のリソース間の通信は VPC ネットワーク内で安全に行われます。この場合、VPC リソースとインターネットへのネットワークアクセスを管理します。

    
                            SageMaker は、VPC 設定を使用して VPC 内のリソースにアクセスして通信できます。

ネットワーク分離の使用

ネットワーク分離を採用する場合、次の図に示すように、 SageMaker コンテナは VPC 内のリソースと通信したり、ネットワーク呼び出しを行ったりすることはできません。VPC 設定を指定すると、ダウンロードとアップロードの操作は VPC を通じて実行されます。VPC 使用時のネットワーク分離によるホスティングとトレーニングの詳細については、「ネットワークの隔離」を参照してください。


                    SageMaker は、VPC 設定を使用して VPC 内のリソースにアクセスして通信できます。

の Amazon VPC エンドポイントのポリシーを作成して SageMaker 、以下を指定できます。

  • アクションを実行できるプリンシパル。

  • 実行可能なアクション。

  • このアクションを実行できるリソース。

詳細については、『Amazon VPC ユーザーガイド』の「VPC エンドポイントでサービスへのアクセスを制御する」を参照してください。

注記

VPC エンドポイントポリシーは、 の連邦情報処理規格 (FIPS) SageMaker ランタイムエンドポイントではサポートされていませんruntime_InvokeEndpoint

次の VPC エンドポイントポリシーの例では、VPC インターフェイスエンドポイントにアクセスできるすべてのユーザーが、 という名前の SageMaker ホストされたエンドポイントを呼び出すことが許可されるように指定していますmyEndpoint

{ "Statement": [ { "Action": "sagemaker:InvokeEndpoint", "Effect": "Allow", "Resource": "arn:aws:sagemaker:us-west-2:123456789012:endpoint/myEndpoint", "Principal": "*" } ] }

この例では、以下が拒否されます。

  • sagemaker:CreateEndpoint や などの他の SageMaker API アクションsagemaker:CreateTrainingJob

  • 以外の SageMaker ホストエンドポイントの呼び出しmyEndpoint

注記

この例では、ユーザーは VPC の外部から他の SageMaker API アクションを実行できます。VPC 内からこれらの API コールを制限する方法については、「ID ベースのポリシーを使用して SageMaker API へのアクセスを制御する」を参照してください。

Amazon SageMaker Feature Store の VPC エンドポイントを作成するには、次のエンドポイントテンプレートを使用して、VPC_Endpoint_ID.apiリージョン を置き換えます。

VPC_Endpoint_ID.api.featurestore-runtime.sagemaker.Region.vpce.amazonaws.com

VPC 経由で SageMaker API と SageMaker ランタイムを呼び出すには、VPC 内にあるインスタンスから接続するか、 AWS Virtual Private Network (AWS VPN) または を使用してプライベートネットワークを VPC に接続する必要があります AWS Direct Connect。の詳細については AWS VPN、Amazon Virtual Private Cloud ユーザーガイド「VPN 接続」を参照してください。の詳細については AWS Direct Connect、 Direct Connect ユーザーガイドの「接続の作成」を参照してください。 AWS