透過VPC介面端點 Connect 至筆記本執行個體 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

透過VPC介面端點 Connect 至筆記本執行個體

您可以透VPC過虛擬私有雲 (VPC) 中的介面端點,從筆記型電腦執行個體連線,而不是透過公用網際網路連線。當您使用VPC介面端點時,您VPC與筆記型電腦執行個體之間的通訊會在 AWS 網絡。

SageMaker 筆記本執行個體支援由下列項目提供支援的 Amazon 虛擬私有雲 (AmazonVPC) 界面端點 AWS PrivateLink。每個VPC端點都由一或多個彈性網路介面表示,在VPC子網路中具有私有 IP 位址。

注意

在您建立介面VPC端點以連接至筆記本執行個體之前,請先建立介面VPC端點以連接至 SageMaker API. 這樣,當用戶打電話 
CreatePresignedNotebookInstanceUrl要連接URL到筆記本實例,該調用也通過接口VPC端點進行。如需相關資訊,請參閱 Connect SageMaker 到您的 VPC

您可以建立介面端點,以連接至您的筆記本執行個體 AWS Management Console 或 AWS Command Line Interface (AWS CLI) 指令。如需指示,請參閱建立介面端點。請確定您已為您要VPC從中連線至筆記本執行個體的所有子網路建立介面端點。

建立介面端點時,請指定 aws.sagemaker。Region. 筆記本作為服務名稱。建立端點後,請為您的VPC端VPC點啟DNS用私有。任何人都使用 SageMaker API, AWS CLI,或是透過VPC端點而非公用網際網路VPC連線至筆記型電腦執行個體的主控台,以連線至筆記型電腦執行個體。

SageMaker 筆記本執行個體支援所有VPC端點 AWS 區域 Amazon VPC 和可用SageMaker的地方。

若要透過您的筆記型電腦執行個體連線至筆記型電腦執行個體VPC,您必須從位於內部的執行個體進VPC行連線,或使用 VPC AWS Virtual Private Network (AWS VPN) 或 AWS Direct Connect。 有關信息 AWS VPN,請參閱 Amazon Virtual Private Cloud 使用者指南中的VPN連線。有關信息 AWS Direct Connect,請參閱在中建立連線 AWS 直接 Connect 用戶指南

您可以為 SageMaker 筆記本執行個體建立 Amazon VPC 端點政策,以指定下列項目:

  • 可執行動作的主體。

  • 可執行的動作。

  • 可供執行動作的資源。

如需詳細資訊,請參閱 Amazon VPC 使用者指南的使用VPC端點控制對服務的存取。

以下VPC端點策略範例指定所有具備端點存取權的使用者都可以存取名為的筆記本執行個體myNotebookInstance

{ "Statement": [ { "Action": "sagemaker:CreatePresignedNotebookInstanceUrl", "Effect": "Allow", "Resource": "arn:aws:sagemaker:us-west-2:123456789012:notebook-instance/myNotebookInstance", "Principal": "*" } ] }

拒絕存取其他筆記本執行個體。

即使您在您的中設定介面端點VPC,外部的個人也VPC可以透過網際網路連線至筆記型電腦執行個體。

重要

如果您套用類似下列其中一項的IAM原則,使用者將無法透過主控台存取指定的執行個體 SageMaker APIs或筆記本執行個體。

若要限制只存取從內部建立的連線VPC,請建立 AWS Identity and Access Management 政策限制只能訪問來自您VPC的. 然後將該策略添加到每個 AWS Identity and Access Management 用來存取記事本執行個體的使用者、群組或角色。

注意

此政策僅允許向建立介面端點之子網路中的呼叫者建立連線。

{ "Id": "notebook-example-1", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable Notebook Access", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedNotebookInstanceUrl", "sagemaker:DescribeNotebookInstance" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceVpc": "vpc-111bbaaa" } } } ] }

如果希望僅限使用介面端點建立的連線存取筆記本執行個體,請使用 aws:SourceVpce 條件金鑰,不要使用 aws:SourceVpc:

{ "Id": "notebook-example-1", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable Notebook Access", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedNotebookInstanceUrl", "sagemaker:DescribeNotebookInstance" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:sourceVpce": [ "vpce-111bbccc", "vpce-111bbddd" ] } } } ] }

這兩個原則範例都假設您也已為 SageMaker API. 如需詳細資訊,請參閱Connect SageMaker 到您的 VPC。在第二個範例中,aws:SourceVpce 的其中一個值,是筆記本執行個體的介面端點 ID。另一個是介面端點的識別碼 SageMaker API。

這裡的政策示例包括 
 DescribeNotebookInstance,因為通常您會在嘗試連接到NotebookInstanceStatusInService之前打DescribeNotebookInstance電話以確保 is。例如:

aws sagemaker describe-notebook-instance \ --notebook-instance-name myNotebookInstance { "NotebookInstanceArn": "arn:aws:sagemaker:us-west-2:1234567890ab:notebook-instance/mynotebookinstance", "NotebookInstanceName": "myNotebookInstance", "NotebookInstanceStatus": "InService", "Url": "mynotebookinstance.notebook.us-west-2.sagemaker.aws", "InstanceType": "ml.m4.xlarge", "RoleArn": "arn:aws:iam::1234567890ab:role/service-role/AmazonSageMaker-ExecutionRole-12345678T123456", "LastModifiedTime": 1540334777.501, "CreationTime": 1523050674.078, "DirectInternetAccess": "Disabled" } aws sagemaker create-presigned-notebook-instance-url --notebook-instance-name myNotebookInstance { "AuthorizedUrl": "https://mynotebookinstance.notebook.us-west-2.sagemaker.aws?authToken=AuthToken }
注意

產生的 presigned-notebook-instance-urlAuthorizedUrl 可以從網際網路上的任何位置使用。

對於這兩個呼叫,如果您未為VPC端點啟用私人DNS主機名稱,或者您使用的是 AWS SDK在 2018 年 8 月 13 日之前發布的,您必須在呼叫URL中指定端點。例如,呼叫至 create-presigned-notebook-instance-url 為:

aws sagemaker create-presigned-notebook-instance-url --notebook-instance-name myNotebookInstance --endpoint-url VPC_Endpoint_ID.api.sagemaker.Region.vpce.amazonaws.com