Erstellen Sie eine Amazon SageMaker AI-Domain RStudio mit dem AWS CLI - Amazon SageMaker KI

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 Amazon SageMaker AI-Domain RStudio mit dem 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 KI-Ressourcen SageMaker bereit.

AWS verwaltete Richtlinien für Amazon SageMaker AIdie 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 RStudio aktiviertem eine Amazon SageMaker AI-Domain einbinden können AWS CLI. Informationen zum Onboarding mit dem AWS Management Console finden Sie unterÜberblick über die Amazon SageMaker AI-Domain.

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 sie im Rahmen der Amazon SageMaker AI-Domainerstellung gestartet werden RStudio muss. Diese Rolle wird auch von Amazon SageMaker AI für den Zugriff auf die RStudio Lizenz und die RStudio Push-Protokolle 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 Versenden 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 RStudio ServerPro App den Zugriff auf die erforderlichen Ressourcen und ermöglicht Amazon SageMaker AI, automatisch eine RStudio ServerPro App zu starten, wenn sich die bestehende RStudio ServerPro 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>

Amazon SageMaker AI-Domain mit RStudio App erstellen

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

Die Erstellung einer Amazon SageMaker AI-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 Amazon SageMaker AI-Domain mit RStudio aktiviertem 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 Amazon SageMaker AI-Domain zugewiesen wurde.

  • vpc-idsollte die ID Ihrer Amazon Virtual Private Cloud sein. subnet-idssollte eine durch Leerzeichen getrennte Liste von IDs Subnetzen sein. Hinweise zu vpc-id und finden Sie subnet-ids unter SubnetzeVPCs .

  • RStudioPackageManagerUrlund RStudioConnectUrl sind optional und sollten auf die URLs Ihres RStudio Package Managers bzw. RStudio Connect-Servers eingestellt 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 Amazon SageMaker AI-Domain mit RStudio aktiviertem 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 Amazon SageMaker AI-Domain zugewiesen wurde.

  • vpc-idsollte die ID Ihrer Amazon Virtual Private Cloud sein. subnet-idssollte eine durch Leerzeichen getrennte Liste von IDs Subnetzen sein. Hinweise zu vpc-id und finden Sie subnet-ids unter SubnetzeVPCs .

  • RStudioPackageManagerUrlund RStudioConnectUrl sind optional und sollten auf die URLs Ihres RStudio Package Managers bzw. RStudio Connect-Servers eingestellt 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 Amazon SageMaker AI-Domain mit RStudio aktiviertem 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 Amazon SageMaker AI-Domain zugewiesen wurde.

  • vpc-idsollte die ID Ihrer Amazon Virtual Private Cloud sein. subnet-idssollte eine durch Leerzeichen getrennte Liste von IDs Subnetzen sein. Hinweise zu vpc-id und finden Sie subnet-ids unter SubnetzeVPCs .

  • RStudioPackageManagerUrlund RStudioConnectUrl sind optional und sollten auf die URLs Ihres RStudio Package Managers bzw. RStudio Connect-Servers eingestellt 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 Amazon SageMaker AI-Domain mit RStudio aktiviertem und einem VPCOnly Netzwerktyp starten. Weitere Informationen zur Verwendung des VPCOnly Netzwerkzugriffstyps finden Sie unter Studio-Notebooks in einer 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 Amazon SageMaker AI-Domain zugewiesen wurde.

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

  • SecurityGroupsmuss ausgehenden Zugriff auf die SageMaker Amazon-KI und die 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 verwaltet Amazon SageMaker AI Sicherheitsgruppen für Sie. Das bedeutet, dass Amazon SageMaker AI Sicherheitsgruppenregeln verwaltet, um sicherzustellen, dass auf RStudio ServerPro Apps zugegriffen RSessions werden kann. Amazon SageMaker AI 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 RStudio ServerPro App wird über ein spezielles 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. Beispiel, arn:aws:sagemaker:<REGION>:<ACCOUNT_ID>:domain/<DOMAIN_ID>.

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