

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 App mit dem AWS CLI
<a name="mlflow-app-create-app-cli"></a>

Sie können eine App erstellen, indem Sie die AWS CLI für eine detailliertere Sicherheitsanpassung verwenden.

## Voraussetzungen
<a name="mlflow-app-create-app-cli-prereqs"></a>

Um eine App mit dem zu erstellen AWS CLI, benötigen Sie Folgendes:
+ **Zugriff auf ein Terminal.**Dies kann lokale IDEs, eine Amazon EC2 EC2-Instance oder AWS CloudShell beinhalten.
+ **Zugriff auf eine Entwicklungsumgebung.** Dies kann eine lokale Umgebung IDEs oder eine Jupyter-Notebook-Umgebung in Studio oder Studio Classic beinhalten.
+ **Eine** konfigurierte Installation. AWS CLI Weitere Informationen finden Sie unter [Konfigurieren der AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html). 
+ **eine IAM-Rolle mit entsprechenden Berechtigungen**. Für die folgenden Schritte muss Ihre Umgebung über die Berechtigungen `iam:CreateRole`, `iam:CreatePolicy`, `iam:AttachRolePolicy` und `iam:ListPolicies` verfügen. Diese Berechtigungen sind für die Rolle erforderlich, mit der die Schritte in diesem Benutzerhandbuch ausgeführt werden. Die Anweisungen in diesem Handbuch erstellen eine IAM-Rolle, die als Ausführungsrolle der MLflow App verwendet wird, sodass sie auf Daten in Ihren Amazon S3 S3-Buckets zugreifen kann. Darüber hinaus wird eine Richtlinie erstellt, um der IAM-Rolle des Benutzers, der über das MLflow SDK mit der App interagiert, die Berechtigung zum Aufrufen zu erteilen. MLflow APIs Weitere Informationen finden Sie unter [Ändern einer Rollenberechtigungsrichtlinie (Konsole)](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-modify_permissions-policy). 

  Wenn Sie ein SageMaker Studio-Notebook verwenden, aktualisieren Sie die Servicerolle für Ihr Studio-Benutzerprofil mit diesen IAM-Berechtigungen. Um die Servicerolle zu aktualisieren, navigieren Sie zur SageMaker AI-Konsole und wählen Sie die Domain aus, die Sie verwenden. Wählen Sie anschließend unter der Domain das Benutzerprofil aus, das Sie verwenden. Dort wird die Servicerolle aufgeführt. Navigieren Sie zur IAM-Konsole, suchen Sie unter **Rollen** nach der Servicerolle und aktualisieren Sie Ihre Rolle mit einer Richtlinie, die die Aktionen `iam:CreateRole`, `iam:CreatePolicy`, `iam:AttachRolePolicy` und `iam:ListPolicies` zulässt. 

## AWS CLI Modell einrichten
<a name="mlflow-app-create-app-cli-setup"></a>

Folgen Sie diesen Befehlszeilenschritten in einem Terminal, um das AWS CLI für Amazon SageMaker AI einzurichten MLflow.

1. Installieren Sie eine aktualisierte Version von AWS CLI. Weitere Informationen finden Sie unter [Installieren oder Aktualisieren auf die neueste Version der AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) im *AWS CLI -Benutzerhandbuch*.

1. Stellen Sie mit dem folgenden Befehl sicher, dass das installiert AWS CLI ist: 

   ```
   aws sagemaker help
   ```

   Drücken Sie auf `q`, um den Prompt zu beenden.

   Hilfe zur Problembehebung finden Sie unter [Beheben häufig auftretender Einrichtungsprobleme](mlflow-troubleshooting.md).

## MLflow Infrastruktur einrichten
<a name="mlflow-create-app-cli-infra-setup"></a>

Im folgenden Abschnitt erfahren Sie, wie Sie eine MLflow App zusammen mit dem Amazon S3 S3-Bucket und der für die App benötigten IAM-Rolle einrichten.

### Erstellen eines S3-Buckets
<a name="mlflow-infra-setup-s3-bucket"></a>

Verwenden Sie in Ihrem Terminal die folgenden Befehle, um einen Amazon S3-Bucket für allgemeine Zwecke zu erstellen: 

**Wichtig**  
Wenn Sie die Amazon S3 S3-URI für Ihren Artifact Store angeben, stellen Sie sicher, dass sich der Amazon S3 S3-Bucket im selben Ordner befindet AWS-Region wie Ihre MLflow App. **Die regionsübergreifende Artefaktspeicherung wird nicht unterstützt.**

```
bucket_name=bucket-name
  region=valid-region
  
  aws s3api create-bucket \
    --bucket $bucket_name \
    --region $region \
    --create-bucket-configuration LocationConstraint=$region
```

Die Ausgabe sollte folgendermaßen oder ähnlich aussehen:

```
{
      "Location": "/bucket-name"
  }
```

### Einrichten von IAM-Vertrauensrichtlinien
<a name="mlflow-app-create-app-cli-trust-policy"></a>

Erstellen Sie anhand folgender Schritte eine IAM-Vertrauensrichtlinie. Weitere Informationen zu Rollen und Vertrauensrichtlinien finden Sie unter [Rollenbegriffe und -konzepte](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) im *AWS Identity and Access Management -Benutzerhandbuch*.

1. Erstellen Sie mit dem folgenden Befehl in Ihrem Terminal eine Datei mit dem Namen `mlflow-trust-policy.json`.

   ```
   cat <<EOF > /tmp/mlflow-trust-policy.json
     {
          "Version": "2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "Service": [                     
                           "sagemaker.amazonaws.com"
                      ]
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
     EOF
   ```

1. Erstellen Sie mit dem folgenden Befehl in Ihrem Terminal eine Datei mit dem Namen `custom-policy.json`.

   ```
   cat <<EOF > /tmp/custom-policy.json
     {
         "Version": "2012-10-17",		 	 	 
         "Statement": [
             {
                 "Effect": "Allow",
                 "Action": [
                     "s3:Get*",
                     "s3:Put*",
                     "sagemaker:AddTags",
                     "sagemaker:CreateModelPackageGroup",
                     "sagemaker:CreateModelPackage",
                     "sagemaker:DescribeModelPackageGroup",
                     "sagemaker:UpdateModelPackage",
                     "s3:List*"
                 ],
                 "Resource": "*"
             }
         ]
     }
     EOF
   ```

1. Verwenden Sie die Vertrauensrichtlinie, um eine Rolle zu erstellen. Fügen Sie dann IAM-Rollenrichtlinien hinzu, die MLflow den Zugriff auf Amazon S3 und SageMaker Model Registry innerhalb Ihres Kontos ermöglichen. MLflow Sie müssen Zugriff auf Amazon S3 für den Artifact Store Ihrer App und SageMaker Model Registry für die automatische Modellregistrierung haben. 
**Anmerkung**  
Wenn Sie eine bestehende Rolle aktualisieren, verwenden Sie stattdessen den folgenden Befehl: `aws iam update-assume-role-policy --role-name $role_name --policy-document file:///tmp/mlflow-trust-policy.json`.

   ```
   role_name=role-name
     
     aws iam  create-role \
       --role-name $role_name \
       --assume-role-policy-document file:///tmp/mlflow-trust-policy.json
     
     aws iam put-role-policy \
       --role-name $role_name \
       --policy-name custom-policy \
       --policy-document file:///tmp/custom-policy.json
     
     role_arn=$(aws iam get-role --role-name  $role_name --query 'Role.Arn' --output text)
   ```

## App erstellen MLflow
<a name="mlflow-app-create-app-cli-create"></a>

Verwenden Sie in Ihrem Terminal die `create-mlflow-app` API, um eine App in AWS-Region der Ihrer Wahl zu erstellen. Dieser Schritt dauert normalerweise ungefähr 2-3 Minuten.

Der folgende Befehl erstellt eine neue App mit aktivierter automatischer Modellregistrierung. Um die automatische Model Registry zu deaktivieren, geben Sie `--no-automatic-model-registration` an. 

Nachdem Sie Ihre App erstellt haben, können Sie die MLflow Benutzeroberfläche starten. Weitere Informationen finden Sie unter [Starten der MLflow-Benutzeroberfläche mit vorsignierter URL](mlflow-launch-ui.md).

**Anmerkung**  
Es kann bis zu 2-3 Minuten dauern, bis die App-Erstellung abgeschlossen ist. Wenn die Erstellung der App mehr als 3 Minuten dauert, überprüfen Sie, ob Sie über die erforderlichen IAM-Berechtigungen verfügen. Wenn Sie eine App erfolgreich erstellt haben, wird sie automatisch gestartet.

Standardmäßig ist die App, die erstellt wird, die neueste Version und wird automatisch aktualisiert.

```
app_name=app-name
  region=valid-region
  version=valid-version        
  
  
  aws sagemaker create-mlflow-app \
   --name $app_name \
   --artifact-store-uri s3://$bucket_name \
   --role-arn $role_arn \
   --automatic-model-registration \
   --region $region
```

Die Ausgabe sollte folgendermaßen oder ähnlich aussehen: 

```
{
      "AppArn": "arn:aws:sagemaker:region:123456789012:mlflow-app/app-name"
  }
```

**Wichtig**  
**Notieren Sie sich den App-ARN für die spätere Verwendung.** Sie benötigen außerdem den `$bucket_name` für die Schritte zur Bereinigung. 