Erstellen Sie eine SageMaker Amazon-Domain mit RStudio mithilfe der AWS CLI - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie eine SageMaker Amazon-Domain mit RStudio mithilfe der AWS CLI

Wichtig

Benutzerdefinierte IAM-Richtlinien, die es Amazon SageMaker Studio oder Amazon SageMaker Studio Classic ermöglichen, SageMaker Amazon-Ressourcen zu erstellen, müssen auch Berechtigungen zum Hinzufügen von Tags zu diesen Ressourcen gewähren. Die Berechtigung zum Hinzufügen von Tags zu Ressourcen ist erforderlich, da Studio und Studio Classic automatisch alle von ihnen erstellten Ressourcen taggen. Wenn eine IAM-Richtlinie Studio und Studio Classic das Erstellen von Ressourcen, aber kein Tagging erlaubt, können "AccessDenied" Fehler auftreten, wenn versucht wird, Ressourcen zu erstellen. Weitere Informationen finden Sie unter Stellen Sie Berechtigungen für das Taggen von Ressourcen SageMaker bereit.

AWS Verwaltete Richtlinien für Amazon SageMakerdie Berechtigungen zum Erstellen von SageMaker Ressourcen gewähren, beinhalten bereits Berechtigungen zum Hinzufügen von Tags beim Erstellen dieser Ressourcen.

Das folgende Thema zeigt, wie Sie mit aktiviertem RStudio eine SageMaker Amazon-Domain einrichten, indem Sie den AWS CLI verwenden. Informationen zum Onboarding mit dem finden Sie AWS Management Console unter SageMaker Amazon-Domain-Übersicht.

Voraussetzungen

Erstellen einer DomainExecution-Rolle

Um die RStudio-App zu starten, müssen Sie eine DomainExecution-Rolle angeben. Diese Rolle wird verwendet, um zu bestimmen, ob RStudio im Rahmen der SageMaker Amazon-Domainerstellung gestartet werden muss. Diese Rolle wird auch von Amazon für den SageMaker Zugriff auf die RStudio-Lizenz und die Übertragung von RStudio-Protokollen verwendet. 

Anmerkung

Die DomainExecution Rolle sollte mindestens über AWS License Manager Berechtigungen für den Zugriff auf die RStudio-Lizenz und CloudWatch über Berechtigungen zum Push von Protokollen in Ihrem Konto verfügen.

Das folgende Verfahren zeigt, wie Sie die DomainExecution Rolle mit dem AWS CLI erstellen.

  1. Erstellen Sie eine Datei mit dem Namen assume-role-policy.json und dem folgenden Inhalt.

    { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com" ] } } ] }
  2. Erstellen Sie die DomainExecution Rolle. <REGION>sollte die AWS Region sein, in der Sie Ihre Domain starten möchten.

    aws iam create-role --region <REGION> --role-name DomainExecution --assume-role-policy-document file://assume-role-policy.json
  3. Erstellen Sie eine Datei mit dem Namen domain-setting-policy.json und dem folgenden Inhalt. Diese Richtlinie ermöglicht der StudioServerPro R-App den Zugriff auf die erforderlichen Ressourcen und ermöglicht Amazon SageMaker , automatisch eine StudioServerPro R-App zu starten, wenn sich die vorhandene StudioServerPro R-App im Failed Status Deleted Oder befindet.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "license-manager:ExtendLicenseConsumption", "license-manager:ListReceivedLicenses", "license-manager:GetLicense", "license-manager:CheckoutLicense", "license-manager:CheckInLicense", "logs:CreateLogDelivery", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DeleteLogDelivery", "logs:Describe*", "logs:GetLogDelivery", "logs:GetLogEvents", "logs:ListLogDeliveries", "logs:PutLogEvents", "logs:PutResourcePolicy", "logs:UpdateLogDelivery", "sagemaker:CreateApp" ], "Resource": "*" } ] }
  4. Erstellen Sie die Domäneneinstellungsrichtlinie, die der DomainExecution Rolle zugeordnet ist. Achten Sie auf die PolicyArn aus der Antwort, Sie müssen diese ARN in den folgenden Schritten eingeben.

    aws iam create-policy --region <REGION> --policy-name domain-setting-policy --policy-document file://domain-setting-policy.json
  5. Verbinden Sie domain-setting-policy mit der Rolle DomainExecution. Verwenden Sie das im vorherigen Schritt zurückgegebene PolicyArn.

    aws iam attach-role-policy --role-name DomainExecution --policy-arn <POLICY_ARN>

Erstellen Sie eine SageMaker Amazon-Domain mit der RStudio App

Die StudioServerPro R-App wird automatisch gestartet, wenn Sie eine SageMaker Amazon-Domain mithilfe des create-domain CLI-Befehls mit dem angegebenen RStudioServerProDomainSettings Parameter erstellen. Beim Starten der R StudioServerPro App SageMaker sucht Amazon nach einer gültigen RStudio-Lizenz im Konto und schlägt die Domainerstellung fehl, wenn die Lizenz nicht gefunden wird.

Die Erstellung einer SageMaker Amazon-Domain unterscheidet sich je nach Authentifizierungsmethode und Netzwerktyp. Diese Optionen müssen zusammen verwendet werden, wobei eine Authentifizierungsmethode und ein Netzwerkverbindungstyp ausgewählt werden müssen. Weitere Informationen zu den Anforderungen für die Erstellung einer neuen Domain finden Sie unter CreateDomain.

Die folgenden Authentifizierungsmethoden werden unterstützt.

  • IAM Auth

  • SSO Auth

Die folgenden Netzwerkverbindungstypen werden unterstützt:

  • PublicInternet

  • VPCOnly

Authentifizierungsmethoden

IAM-Authentifizierungsmodus

Im Folgenden wird gezeigt, wie Sie eine SageMaker Amazon-Domain mit aktiviertem RStudio und einem IAM Auth Netzwerktyp erstellen. Weitere Informationen dazu finden Sie AWS Identity and Access Management unter Was ist IAM? .

  • DomainExecutionRoleArn sollte der ARN für die -Rolle sein, die im vorigen Schritt erstellt wurde.

  • ExecutionRoleist der ARN der Rolle, die Benutzern in der SageMaker Amazon-Domain zugewiesen wurde.

  • vpc-id sollte die ID Ihrer Amazon Virtual Private Cloud sein. subnet-ids sollte eine durch Leerzeichen getrennte Liste von Subnetz-Kennungen sein. Informationen zu vpc-id und subnet-ids finden Sie unter VPCs und Subnetze.

  • RStudioPackageManagerUrl und RStudioConnectUrl sind optional und sollten auf die URLs Ihres RStudio Package Managers bzw. RStudio Connect-Servers gesetzt werden.

  • app-network-access-type sollte entweder PublicInternetOnly oder VPCOnly sein.

aws sagemaker create-domain --region <REGION> --domain-name <DOMAIN_NAME> \ --auth-mode IAM \ --default-user-settings ExecutionRole=<DEFAULT_USER_EXECUTIONROLE> \ --domain-settings RStudioServerProDomainSettings={RStudioPackageManagerUrl=<<PACKAGE_MANAGER_URL>,RStudioConnectUrl=<<CONNECT_URL>,DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>} \ --vpc-id <VPC_ID> \ --subnet-ids <SUBNET_IDS> \ --app-network-access-type <NETWORK_ACCESS_TYPE>

Authentifizierung mit IAM Identity Center

Im Folgenden wird gezeigt, wie Sie eine SageMaker Amazon-Domain mit aktiviertem RStudio und einem SSO Auth Netzwerktyp erstellen. AWS IAM Identity Center muss für die Region aktiviert sein, in der die Domain gestartet wird. Weitere Informationen zu IAM Identity Center finden Sie unter Was ist AWS IAM Identity Center? .

  • DomainExecutionRoleArn sollte der ARN für die -Rolle sein, die im vorigen Schritt erstellt wurde.

  • ExecutionRoleist der ARN der Rolle, die Benutzern in der SageMaker Amazon-Domain zugewiesen wurde.

  • vpc-id sollte die ID Ihrer Amazon Virtual Private Cloud sein. subnet-ids sollte eine durch Leerzeichen getrennte Liste von Subnetz-Kennungen sein. Informationen zu vpc-id und subnet-ids finden Sie unter VPCs und Subnetze.

  • RStudioPackageManagerUrl und RStudioConnectUrl sind optional und sollten auf die URLs Ihres RStudio Package Managers bzw. RStudio Connect-Servers gesetzt werden.

  • app-network-access-type sollte entweder PublicInternetOnly oder VPCOnly sein.

aws sagemaker create-domain --region <REGION> --domain-name <DOMAIN_NAME> \ --auth-mode SSO \ --default-user-settings ExecutionRole=<DEFAULT_USER_EXECUTIONROLE> \ --domain-settings RStudioServerProDomainSettings={RStudioPackageManagerUrl=<<PACKAGE_MANAGER_URL>,RStudioConnectUrl=<<CONNECT_URL>,DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>} \ --vpc-id <VPC_ID> \ --subnet-ids <SUBNET_IDS> \ --app-network-access-type <NETWORK_ACCESS_TYPE>

Verbindungstypen

PublicInternet/Direkter Internetnetzwerktyp

Im Folgenden wird gezeigt, wie Sie eine SageMaker Amazon-Domain mit aktiviertem RStudio und einem PublicInternet Netzwerktyp erstellen.

  • DomainExecutionRoleArn sollte der ARN für die -Rolle sein, die im vorigen Schritt erstellt wurde.

  • ExecutionRoleist der ARN der Rolle, die Benutzern in der SageMaker Amazon-Domain zugewiesen wurde.

  • vpc-id sollte die ID Ihrer Amazon Virtual Private Cloud sein. subnet-ids sollte eine durch Leerzeichen getrennte Liste von Subnetz-Kennungen sein. Informationen zu vpc-id und subnet-ids finden Sie unter VPCs und Subnetze.

  • RStudioPackageManagerUrl und RStudioConnectUrl sind optional und sollten auf die URLs Ihres RStudio Package Managers bzw. RStudio Connect-Servers gesetzt werden.

  • auth-mode sollte entweder SSO oder IAM sein.

aws sagemaker create-domain --region <REGION> --domain-name <DOMAIN_NAME> \ --auth-mode <AUTH_MODE> \ --default-user-settings ExecutionRole=<DEFAULT_USER_EXECUTIONROLE> \ --domain-settings RStudioServerProDomainSettings={RStudioPackageManagerUrl=<<PACKAGE_MANAGER_URL>,RStudioConnectUrl=<<CONNECT_URL>,DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>} \ --vpc-id <VPC_ID> \ --subnet-ids <SUBNET_IDS> \ --app-network-access-type PublicInternetOnly

VPCOnly-Modus

Im Folgenden wird gezeigt, wie Sie eine SageMaker Amazon-Domain mit aktiviertem RStudio und einem VPCOnly Netzwerktyp starten. Weitere Informationen zur Verwendung des VPCOnly Netzwerkzugriffstyps finden Sie unter Studio-Notizbücher in a VPC mit externen Ressourcen Connect.

  • DomainExecutionRoleArn sollte der ARN für die -Rolle sein, die im vorigen Schritt erstellt wurde.

  • ExecutionRoleist der ARN der Rolle, die Benutzern in der SageMaker Amazon-Domain zugewiesen wurde.

  • vpc-id sollte die ID Ihrer Amazon Virtual Private Cloud sein. subnet-ids sollte eine durch Leerzeichen getrennte Liste von Subnetz-Kennungen sein. Ihr privates Subnetz muss entweder auf das Internet zugreifen können, um Amazon anzurufen SageMaker, AWS License Manager oder über Amazon VPC-Endpunkte für Amazon und verfügen. SageMaker AWS License Manager Informationen zu Amazon VPC-Endpunkten finden Sie unter Interface Amazon VPC-Endpunkte. Weitere Informationen zu vpc-id und subnet-ids finden Sie unter VPCs und Subnetze.

  • SecurityGroupsmuss ausgehenden Zugriff auf Amazon SageMaker und AWS License Manager Endpunkte zulassen.

  • auth-mode sollte entweder SSO oder IAM sein.

Anmerkung

Wenn Sie Amazon Virtual Private Cloud-Endpunkte verwenden, muss die mit Ihren Amazon Virtual Private Cloud-Endpunkten verbundene Sicherheitsgruppe eingehenden Datenverkehr von der Sicherheitsgruppe zulassen, die Sie als Teil des domain-setting Parameters des create-domain CLI-Aufrufs übergeben.

Mit RStudio SageMaker verwaltet Amazon Sicherheitsgruppen für Sie. Das bedeutet, dass Amazon Sicherheitsgruppenregeln SageMaker verwaltet, um sicherzustellen, dass RSessions auf R StudioServerPro Apps zugreifen können. Amazon SageMaker erstellt eine Sicherheitsgruppenregel pro Benutzerprofil.

aws sagemaker create-domain --region <REGION> --domain-name <DOMAIN_NAME> \ --auth-mode <AUTH_MODE> \ --default-user-settings SecurityGroups=<USER_SECURITY_GROUP>,ExecutionRole=<DEFAULT_USER_EXECUTIONROLE> \ --domain-settings SecurityGroupIds=<DOMAIN_SECURITY_GROUP>,RStudioServerProDomainSettings={DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>} \ --vpc-id <VPC_ID> \ --subnet-ids "<SUBNET_IDS>" \ --app-network-access-type VPCOnly --app-security-group-management Service

Hinweis: Die StudioServerPro R-App wird von einem speziellen Benutzerprofil mit dem Namen gestartetdomain-shared. Daher wird diese App nicht als Teil von list-app API-Aufrufen durch andere Benutzerprofile zurückgegeben.

Möglicherweise müssen Sie das Amazon VPC-Kontingent in Ihrem Konto erhöhen, um die Anzahl der Benutzer zu erhöhen. Weitere Informationen finden Sie unter Amazon VPC-Kontingente.

Überprüfen Sie die Domainerstellung

Verwenden Sie den folgenden Befehl, um zu überprüfen, ob Ihre Domain mit einem Status von erstellt wurdeInService. Ihr domain-id wird an den ARN der Domain angehängt. Zum Beispiel , ., arn:aws:sagemaker:<REGION>:<ACCOUNT_ID>:domain/<DOMAIN_ID>.

aws sagemaker describe-domain --domain-id <DOMAIN_ID> --region <REGION>