

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.

# AWS ParallelCluster API
<a name="api-reference-v3"></a>

**Was ist AWS ParallelCluster API?**

AWS ParallelCluster API ist eine serverlose Anwendung, die, sobald sie für Sie bereitgestellt ist AWS-Konto, über eine API programmgesteuerten Zugriff auf AWS ParallelCluster Funktionen bietet. 

AWS ParallelCluster Die API wird als eigenständige [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)Vorlage verteilt, die einen [Amazon API Gateway Gateway-Endpunkt](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) enthält, der AWS ParallelCluster Funktionen bereitstellt, und eine [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)Funktion, die sich um die Verarbeitung der aufgerufenen Funktionen kümmert. 

Die folgende Abbildung zeigt ein übergeordnetes Architekturdiagramm der AWS ParallelCluster API-Infrastruktur.

 ![\[a high-level architecture diagram of the ParallelCluster API infrastructure\]](http://docs.aws.amazon.com/de_de/parallelcluster/latest/ug/images/API-Architecture-r2.png) 

## AWS ParallelCluster API-Dokumentation
<a name="api-reference-documentation-v3"></a>

Die OpenAPI-Spezifikationsdatei, die die AWS ParallelCluster API beschreibt, kann heruntergeladen werden von: 

```
https://<REGION>-aws-parallelcluster.s3.<REGION>.amazonaws.com/parallelcluster/<VERSION>/api/ParallelCluster.openapi.yaml
```

Ausgehend von der OpenAPI-Spezifikationsdatei können Sie eines der vielen verfügbaren Tools wie [Swagger UI](https://swagger.io/tools/swagger-ui/) oder [Redoc](https://github.com/Redocly/redoc) verwenden, um die Dokumentation für die API zu generieren. AWS ParallelCluster 

**Wie stellt man die API bereit AWS ParallelCluster **

Um die AWS ParallelCluster API bereitzustellen, müssen Sie Administrator von sein AWS-Konto. 

Die für die Bereitstellung der API verwendete Vorlage ist unter der folgenden URL verfügbar:

```
https://<REGION>-aws-parallelcluster.s3.<REGION>.amazonaws.com/parallelcluster/<VERSION>/api/parallelcluster-api.yaml
```

wo `<REGION>` ist der AWS-Region Ort, an dem die API bereitgestellt werden muss, und `<VERSION>` ist die AWS ParallelCluster Version (z. B. 3.15.0). 

AWS Lambda verwendet eine Lambda-Layer-Schnittstelle mit der, [AWS ParallelCluster Python-Bibliothek-API](pc-py-library-v3.md) um die von der API aufgerufenen Funktionen zu verarbeiten.

**Warnung**  
Jeder Benutzer in den AWS-Konto, der privilegierten Zugriff AWS Lambda auf die Amazon API Gateway Gateway-Services hat, erbt automatisch die Berechtigungen zur Verwaltung von AWS ParallelCluster API-Ressourcen.

# Stellen Sie die API bereit mit AWS ParallelCluster AWS CLI
<a name="api-reference-deploy-v3"></a>

In diesem Abschnitt erfahren Sie, wie Sie mit bereitstellen AWS CLI.

Konfigurieren Sie die AWS Anmeldeinformationen für die Verwendung mit der CLI, falls Sie dies noch nicht getan haben.

```
$ aws configure
```

Führen Sie die folgenden Befehle aus, um die API bereitzustellen:

```
$ REGION=<region>
$ API_STACK_NAME=<stack-name>  # This can be any name
$ VERSION=3.15.0
$ aws cloudformation create-stack \
    --region ${REGION} \
    --stack-name ${API_STACK_NAME} \
    --template-url https://${REGION}-aws-parallelcluster.s3.${REGION}.amazonaws.com/parallelcluster/${VERSION}/api/parallelcluster-api.yaml \
    --capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND
$ aws cloudformation wait stack-create-complete --stack-name ${API_STACK_NAME} --region ${REGION}
```

**Passen Sie Ihre Bereitstellung an**

Sie können die in der Vorlage bereitgestellten CloudFormation Parameter verwenden, um die API-Bereitstellung anzupassen. Um den Wert eines Parameters bei der Bereitstellung über die CLI zu konfigurieren, kann die folgende Option verwendet werden:`--parameters ParameterKey=KeyName,ParameterValue=Value`. 

Die folgenden Parameter sind optional:
+ **Region** — Verwenden Sie den `Region` Parameter, um anzugeben, ob die API alle Ressourcen AWS-Regionen (Standard) oder einzelne Ressourcen steuern kann AWS-Region. Stellen Sie diesen Wert auf AWS-Region die API ein, für die die API bereitgestellt wird, um den Zugriff einzuschränken.
+ **ParallelClusterFunctionRole**— Dadurch wird die IAM-Rolle außer Kraft gesetzt, die der AWS Lambda Funktion zugewiesen wird, die Funktionen implementiert AWS ParallelCluster . Der Parameter akzeptiert den ARN einer IAM-Rolle. Diese Rolle muss so konfiguriert werden, dass sie AWS Lambda als IAM-Principal verwendet wird. Da diese Rolle die Standardrolle der API-Lambda-Funktion ersetzen wird, muss sie außerdem mindestens über die von der API erforderlichen Standardberechtigungen verfügen, wie unter aufgeführt. [AWS ParallelCluster Beispiele `pcluster` für Benutzerrichtlinien](iam-roles-in-parallelcluster-v3.md#iam-roles-in-parallelcluster-v3-example-user-policies)
+ **ParallelClusterFunctionAdditionalPolicies**— ARN der zusätzlichen IAM-Richtlinie, die an die AWS ParallelCluster API-Funktionsrolle angehängt werden soll. Es kann nur eine Richtlinie angegeben werden.
+ **CustomDomainName,CustomDomainCertificate, CustomDomainHostedZoneId** - Verwenden Sie diese Parameter, um eine benutzerdefinierte Domain für den Amazon API Gateway Gateway-Endpunkt festzulegen. `CustomDomainName`ist der Name der zu verwendenden Domain, `CustomDomainCertificate` der ARN eines AWS verwalteten Zertifikats für diesen Domainnamen und `CustomDomainHostedZoneId` die ID der von [Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html) gehosteten Zone, in der Sie Datensätze erstellen möchten.
**Warnung**  
Sie können benutzerdefinierte Domain-Einstellungen konfigurieren, um eine Mindestversion von Transport Layer Security (TLS) für die API durchzusetzen. Weitere Informationen finden Sie unter [Auswahl einer TLS-Mindestversion für eine benutzerdefinierte Domain in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-custom-domain-tls-version.html).
+ **EnableIamAdminAccess**— Standardmäßig ist die AWS Lambda Funktion, die AWS ParallelCluster API-Operationen verarbeitet, mit einer IAM-Rolle konfiguriert, die jeglichen privilegierten IAM-Zugriff verhindert ()`EnableIamAdminAccess=false`. Dadurch kann die API keine Operationen verarbeiten, die die Erstellung von IAM-Rollen oder -Richtlinien erfordern. Aus diesem Grund ist die Erstellung von Clustern oder benutzerdefinierten Images nur dann erfolgreich, wenn IAM-Rollen als Eingabe im Rahmen der Ressourcenkonfiguration bereitgestellt werden. 

  Wenn auf `true` die AWS ParallelCluster API gesetzt `EnableIamAdminAccess` ist, werden Berechtigungen zur Verwaltung der Erstellung von IAM-Rollen erteilt, die für die Bereitstellung von Clustern oder die Generierung benutzerdefinierter Rollen erforderlich sind. AMIs 
**Warnung**  
Wenn dieser Wert auf true gesetzt ist, werden der AWS Lambda Funktion, die Operationen verarbeitet AWS ParallelCluster , IAM-Administratorrechte gewährt. 

  Weitere Informationen zu [AWS ParallelCluster Benutzerbeispielrichtlinien für die Verwaltung von IAM-Ressourcen](iam-roles-in-parallelcluster-v3.md#iam-roles-in-parallelcluster-v3-user-policy-manage-iam) den Funktionen, die freigeschaltet werden können, wenn Sie diesen Modus aktivieren, finden Sie unter.
+ **PermissionsBoundaryPolicy**— Dieser optionale Parameter akzeptiert einen vorhandenen IAM-Richtlinien-ARN, der als Berechtigungsgrenze für alle von der PC-API-Infrastruktur erstellten IAM-Rollen und als Bedingung für die administrativen IAM-Berechtigungen festgelegt wird, sodass nur Rollen mit dieser Richtlinie von der PC-API erstellt werden können.

  Weitere Informationen zu den [Modus `PermissionsBoundary`](iam-roles-in-parallelcluster-v3.md#iam-roles-in-parallelcluster-v3-permissionsboundary-mode) Einschränkungen, die dieser Modus mit sich bringt, finden Sie unter.
+ **CreateApiUserRole**— Standardmäßig umfasst die Bereitstellung der AWS ParallelCluster API die Erstellung einer IAM-Rolle, die als einzige Rolle festgelegt ist, die berechtigt ist, die API aufzurufen. Der Amazon API Gateway Gateway-Endpunkt ist mit einer ressourcenbasierten Richtlinie konfiguriert, sodass nur dem erstellten Benutzer die Aufrufberechtigung erteilt wird. Um dies zu ändern, richten Sie API-Zugriff ein `CreateApiUserRole=false` und gewähren Sie diesen dann ausgewählten IAM-Benutzern. Weitere Informationen finden Sie unter [Zugriffskontrolle für das Aufrufen einer API](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-control-access-using-iam-policies-to-invoke-api.html) im *Amazon API Gateway Developer Guide*.
**Warnung**  
Wenn der `CreateApiUserRole=true` Zugriff auf den API-Endpunkt nicht durch die Amazon API Gateway Gateway-Ressourcenrichtlinien eingeschränkt ist, können alle IAM-Rollen mit uneingeschränkten Rechten auf Funktionen `execute-api:Invoke` zugreifen. AWS ParallelCluster Weitere Informationen finden Sie unter [Steuern des Zugriffs auf eine API mit API-Gateway-Ressourcenrichtlinien](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-resource-policies.html) im *API Gateway Developer Guide*.
**Warnung**  
Der `ParallelClusterApiUserRole` hat die Berechtigung, alle AWS ParallelCluster API-Operationen aufzurufen. Informationen zum Einschränken des Zugriffs auf eine Teilmenge von API-Ressourcen finden Sie unter [Steuern, wer eine API-Gateway-API-Methode mit IAM-Richtlinien aufrufen kann](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-control-access-using-iam-policies-to-invoke-api.html#api-gateway-who-can-invoke-an-api-method-using-iam-policies) im *API Gateway Developer Guide*.
+ **IAMRoleAndPolicyPrefix**— Dieser optionale Parameter akzeptiert eine Zeichenfolge mit maximal 10 Zeichen, die als Präfix sowohl für IAM-Rollen als auch für Richtlinien verwendet wird, die als Teil der PC-API-Infrastruktur erstellt wurden.

# Aktualisierung der API
<a name="api-reference-update-v3"></a>

In diesem Abschnitt erfahren Sie, wie Sie eine der beiden verfügbaren Optionen verwenden, um die API zu aktualisieren.

**Upgrade auf eine neuere AWS ParallelCluster Version**

Option 1: Um die bestehende API zu entfernen, löschen Sie den entsprechenden CloudFormation Stack und stellen Sie die neue API wie oben gezeigt bereit.

Option 2: Um die bestehende API zu aktualisieren, führen Sie die folgenden Befehle aus: 

```
$ REGION=<region>
$ API_STACK_NAME=<stack-name>  # This needs to correspond to the existing API stack name
$ VERSION=3.15.0
$ aws cloudformation update-stack \
    --region ${REGION} \
    --stack-name ${API_STACK_NAME} \
    --template-url https://${REGION}-aws-parallelcluster.s3.${REGION}.amazonaws.com/parallelcluster/${VERSION}/api/parallelcluster-api.yaml \
    --capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND
$ aws cloudformation wait stack-update-complete --stack-name ${API_STACK_NAME} --region ${REGION}
```

# API wird aufgerufen AWS ParallelCluster
<a name="api-reference-invoke-v3"></a>

Der AWS ParallelCluster Amazon API Gateway Gateway-Endpunkt ist mit einem [`AWS_IAM`Autorisierungstyp](https://docs.aws.amazon.com/apigateway/latest/developerguide/permissions.html#api-gateway-control-access-iam-permissions-model-for-calling-api) konfiguriert und erfordert, dass alle Anfragen mit gültigen IAM-Anmeldeinformationen signiert sind ([API-Referenz: HTTP-Anfragen stellen](https://docs.aws.amazon.com/apigateway/api-reference/making-http-requests/)). 

Bei der Bereitstellung mit Standardeinstellungen werden API-Aufrufberechtigungen nur dem standardmäßigen IAM-Benutzer gewährt, der mit der API erstellt wurde. 

Um den ARN des Standard-IAM-Benutzers abzurufen, führen Sie folgenden Befehl aus: 

```
$ REGION=<region>
$ API_STACK_NAME=<stack-name>
$ aws cloudformation describe-stacks --region ${REGION} --stack-name ${API_STACK_NAME} --query "Stacks[0].Outputs[?OutputKey=='ParallelClusterApiUserRole'].OutputValue" --output text
```

Führen Sie den [ AssumeRoleSTS-Befehl](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sts/assume-role.html) aus, um temporäre Anmeldeinformationen für den Standard-IAM-Benutzer zu erhalten.

Führen Sie den folgenden Befehl aus, um den AWS ParallelCluster API-Endpunkt abzurufen: 

```
$ REGION=<region>
$ API_STACK_NAME=<stack-name>
$ aws cloudformation describe-stacks --region ${REGION} --stack-name ${API_STACK_NAME} --query "Stacks[0].Outputs[?OutputKey=='ParallelClusterApiInvokeUrl'].OutputValue" --output text
```

Die AWS ParallelCluster API kann von jedem HTTP-Client aufgerufen werden, der den OpenAPI-Spezifikationen entspricht, die Sie hier finden: 

```
https://<REGION>-aws-parallelcluster.s3.<REGION>.amazonaws.com/parallelcluster/<VERSION>/api/ParallelCluster.openapi.yaml
```

[Anfragen müssen mit SigV4 signiert sein, wie hier dokumentiert.](https://docs.aws.amazon.com/apigateway/api-reference/signing-requests) 

Derzeit bieten wir keine offizielle API-Client-Implementierung an. Sie können den [OpenAPI Generator](https://openapi-generator.tech/) jedoch verwenden, um auf einfache Weise API-Clients aus dem OpenAPI-Modell zu generieren. Sobald der Client generiert ist, muss die SigV4-Signatur hinzugefügt werden, sofern sie nicht standardmäßig bereitgestellt wird. 

Eine Referenzimplementierung für einen Python-API-Client finden Sie im [AWS ParallelCluster Repository](https://github.com/aws/aws-parallelcluster/tree/develop/api/client/src). Weitere Informationen zur Verwendung des Python-API-Clients finden Sie im [Die AWS ParallelCluster API verwenden](tutorials_06_API_use.md) Tutorial.

Um erweiterte Zugriffskontrollmechanismen wie Amazon Cognito oder Lambda Authorizers zu implementieren oder die API mit AWS WAF unseren API-Schlüsseln weiter zu schützen, folgen Sie der [Amazon](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-control-access-to-api.html) API Gateway Gateway-Dokumentation. 

**Warnung**  
Ein IAM-Benutzer, der berechtigt ist, die AWS ParallelCluster API aufzurufen, kann indirekt alle AWS Ressourcen kontrollieren, die in der verwaltet werden. AWS ParallelCluster AWS-Konto Dazu gehört auch die Erstellung von AWS Ressourcen, die der Benutzer aufgrund von Einschränkungen in der Benutzer-IAM-Richtlinie nicht direkt kontrollieren kann. Beispielsweise kann die Erstellung eines AWS ParallelCluster Clusters je nach Konfiguration die Bereitstellung von Amazon EC2-Instances, Amazon Route 53, Amazon Elastic File System-Dateisystemen, FSx Amazon-Dateisystemen, IAM-Rollen und Ressourcen von anderen AWS-Services Benutzern umfassen, über AWS ParallelCluster die der Benutzer möglicherweise keine direkte Kontrolle hat.

**Warnung**  
Wenn Sie einen Cluster mit den in der Konfiguration `AdditionalIamPolicies` angegebenen Werten erstellen, müssen die zusätzlichen Richtlinien einem der folgenden Muster entsprechen:  

```
- !Sub arn:${AWS::Partition}:iam::${AWS::AccountId}:policy/parallelcluster*
- !Sub arn:${AWS::Partition}:iam::${AWS::AccountId}:policy/parallelcluster/*
- !Sub arn:${AWS::Partition}:iam::aws:policy/CloudWatchAgentServerPolicy
- !Sub arn:${AWS::Partition}:iam::aws:policy/AmazonSSMManagedInstanceCore
- !Sub arn:${AWS::Partition}:iam::aws:policy/AWSBatchFullAccess
- !Sub arn:${AWS::Partition}:iam::aws:policy/AmazonS3ReadOnlyAccess
- !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AWSBatchServiceRole
- !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role
- !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy
- !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AmazonEC2SpotFleetTaggingRole
- !Sub arn:${AWS::Partition}:iam::aws:policy/EC2InstanceProfileForImageBuilder
- !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
```
Wenn Sie weitere zusätzliche Richtlinien benötigen, können Sie eine der folgenden Aktionen ausführen:  
Bearbeiten Sie das `DefaultParallelClusterIamAdminPolicy` in:  

  ```
  https://<REGION>-aws-parallelcluster.s3.<REGION>.amazonaws.com/parallelcluster/<VERSION>/api/parallelcluster-api.yaml
  ```
Fügen Sie die Richtlinie im `ArnLike/iam:PolicyARN` Abschnitt hinzu.
Geben Sie `AdditionalIamPolicies` in der Konfigurationsdatei keine Richtlinien für an und fügen Sie der im Cluster erstellten AWS ParallelCluster Instanzrolle manuell Richtlinien hinzu.

# Zugriff auf die API-Logs und -Metriken
<a name="api-reference-access-v3"></a>

API-Protokolle werden CloudWatch mit einer Aufbewahrungsfrist von 30 Tagen auf Amazon veröffentlicht. Führen Sie den folgenden Befehl aus, um den mit einer API-Bereitstellung verknüpften LogGroup Namen abzurufen: 

```
$ REGION=<region>
$ API_STACK_NAME=<stack-name>
$ aws cloudformation describe-stacks --region ${REGION} --stack-name ${API_STACK_NAME} --query "Stacks[0].Outputs[?OutputKey=='ParallelClusterLambdaLogGroup'].OutputValue" --output text
```

Lambda-Metriken, Logs und [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)Trace-Logs können auch über die Lambda-Konsole abgerufen werden. Führen Sie den folgenden Befehl aus, um den ARN der Lambda-Funktion abzurufen, die mit einer API-Bereitstellung verknüpft ist: 

```
$ REGION=<region>
$ API_STACK_NAME=<stack-name>
$ aws cloudformation describe-stacks --region ${REGION} --stack-name ${API_STACK_NAME} --query "Stacks[0].Outputs[?OutputKey=='ParallelClusterLambdaArn'].OutputValue" --output text
```