Registrieren einer externen Instance in einem Cluster - Amazon Elastic Container Service

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.

Registrieren einer externen Instance in einem Cluster

Für jede externe Instance, die Sie bei einem Amazon-ECS-Cluster registrieren, muss der SSM Agent, der Amazon ECS Container Agent und Docker installiert sein. Um die externe Instance in einem Amazon-ECS-Cluster zu registrieren, muss sie zuerst als AWS Systems Manager verwaltete Instance registriert werden. Sie können das Installationsskript mit wenigen Klicks auf der Amazon-ECS-Konsole erstellen. Das Installationsskript enthält einen Systems Manager Aktivierungsschlüssel und Befehle zur Installation aller erforderlichen Agents und Docker. Das Installationsskript muss auf Ihrem On-Premises-Server oder VM ausgeführt werden, um die Installations- und Registrierungsschritte abzuschließen.

Anmerkung

Bevor Sie Ihre externe Linux-Instance beim Cluster anmelden, erstellen Sie die /etc/ecs/ecs.config-Datei auf Ihrer externen Instance und fügen alle gewünschten Container-Agent-Konfigurationsparameter hinzu. Sie können dies nicht tun, nachdem Sie die externe Instance in einem Cluster registriert haben. Weitere Informationen finden Sie unter Konfiguration des Amazon-ECS-Container-Agenten.

AWS Management Console
  1. Öffnen Sie die Konsole unter https://console.aws.amazon.com/ecs/v2.

  2. Wählen Sie die zu verwendende Region in der Navigationsleiste aus.

  3. Klicken Sie im Navigationsbereich auf Cluster.

  4. Wählen Sie auf der Seite Cluster einen Cluster aus, bei dem Ihre externe Instance registriert werden soll.

  5. Wählen Sie auf der Seite Cluster : Name die Registerkarte Infrastructure (Infrastruktur).

  6. Führen Sie auf der Seite Register external instances (Externe Instances anmelden) die folgenden Schritte aus.

    1. Geben sie für Dauer des Aktivierungsschlüssels (in Tagen) die Anzahl der Tage ein, für die der Aktivierungsschlüssel aktiv bleibt. Nach der Anzahl der Tage, die Sie eingegeben haben, funktioniert der Schlüssel nicht mehr bei der Registrierung einer externen Instance.

    2. Geben Sie für die Anzahl der Instances die Anzahl der externen Instances ein, die Sie mit dem Aktivierungsschlüssel bei Ihrem Cluster registrieren möchten.

    3. Wählen Sie für Instance-Rolle die IAM-Rolle aus, die Sie Ihren externen Instances zuordnen möchten. Wenn noch keine Rolle erstellt wurde, wählen Sie Erstellen einer neuen Rolle, damit Sie Amazon ECS eine Rolle in Ihrem Namen erstellt. Weitere Informationen zu den erforderlichen IAM-Berechtigungen für Ihre externen Instances finden Sie unter ECS Anywhere IAM-Rolle.

    4. Kopieren Sie den Anmeldungsbefehl. Dieser Befehl sollte auf jeder externen Instance ausgeführt werden, die Sie beim Cluster registrieren möchten.

      Wichtig

      Der Bash-Teil des Skripts muss als Root ausgeführt werden. Wenn der Befehl nicht als Root ausgeführt wird, wird ein Fehler zurückgegeben.

    5. Klicken Sie auf Schließen.

AWS CLI for Linux operating systems
  1. Erstellen Sie ein Systems Manager-Aktivierungspaar. Dies wird für die Aktivierung verwalteter Instances von Systems Manager verwendet. Die Ausgabe enthält eine ActivationId und ActivationCode. Sie werden sie in einem späteren Schritt verwenden. Stellen Sie sicher, dass Sie die ECS Anywhere IAM-Rolle angeben, die Sie erstellt haben. Weitere Informationen finden Sie unter ECS Anywhere IAM-Rolle.

    aws ssm create-activation --iam-role ecsAnywhereRole | tee ssm-activation.json
  2. Laden Sie das Installationsskript auf dem On-Premises-Server oder der virtuellen Maschine (VM) herunter.

    curl --proto "https" -o "/tmp/ecs-anywhere-install.sh" "https://amazon-ecs-agent.s3.amazonaws.com/ecs-anywhere-install-latest.sh"
  3. (Optional) Führen Sie auf Ihrem On-Premises-Server oder Ihrer virtuellen Maschine (VM) die folgenden Schritte aus, um das Installationsskript mithilfe der Skriptsignaturdatei zu überprüfen.

    1. Laden Sie GnuPG herunter und installieren Sie es. Weitere Informationen zu GNUpg finden Sie auf der GnuPG-Website. Für Linux-Systeme installieren Sie gpg mit dem Paketmanager auf Ihrer Linux-Variante.

    2. Rufen Sie den öffentlichen Amazon-ECS-PGP-Schlüssel ab.

      gpg --keyserver hkp://keys.gnupg.net:80 --recv BCE9D9A42D51784F
    3. Laden Sie die Signatur des Installationsskripts herunter. Die Signaturen sind ASCII-getrennte PGP-Signaturen, die in Dateien mit der Erweiterung .asc gespeichert sind.

      curl --proto "https" -o "/tmp/ecs-anywhere-install.sh.asc" "https://amazon-ecs-agent.s3.amazonaws.com/ecs-anywhere-install-latest.sh.asc"
    4. Überprüfen Sie die Installationsskriptdatei mit dem Schlüssel.

      gpg --verify /tmp/ecs-anywhere-install.sh.asc /tmp/ecs-anywhere-install.sh

      Folgendes ist die erwartete Ausgabe:

      gpg: Signature made Tue 25 May 2021 07:16:29 PM UTC gpg: using RSA key 50DECCC4710E61AF gpg: Good signature from "Amazon ECS <ecs-security@amazon.com>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: F34C 3DDA E729 26B0 79BE AEC6 BCE9 D9A4 2D51 784F Subkey fingerprint: D64B B6F9 0CF3 77E9 B5FB 346F 50DE CCC4 710E 61AF
  4. Führen Sie auf dem On-Premises-Server oder der virtuellen Maschine (VM) das Installationsskript aus. Geben Sie im ersten Schritt den Clusternamen, die Region und die Aktivierungs-ID des Systems Manager sowie den Aktivierungscode an.

    sudo bash /tmp/ecs-anywhere-install.sh \ --region $REGION \ --cluster $CLUSTER_NAME \ --activation-id $ACTIVATION_ID \ --activation-code $ACTIVATION_CODE

    Für einen On-Premises-Server oder eine virtuelle Maschine (VM), auf der der NVIDIA-Treiber für GPU-Workloads installiert ist, müssen Sie das --enable-gpu-Flag zum Installationsskript hinzufügen. Wenn dieses Flag angegeben wird, überprüft das Installationsskript, ob der NVIDIA-Treiber ausgeführt wird, und fügt dann die erforderlichen Konfigurationsvariablen zum Ausführen Ihrer Amazon-ECS-Aufgaben hinzu. Weitere Informationen zum Ausführen von GPU-Workloads und zum Angeben von GPU-Anforderungen in einer Aufgabendefinition finden Sie unter Angeben von GPUs in einer Aufgabendefinition.

    sudo bash /tmp/ecs-anywhere-install.sh \ --region $REGION \ --cluster $CLUSTER_NAME \ --activation-id $ACTIVATION_ID \ --activation-code $ACTIVATION_CODE \ --enable-gpu

Führen Sie die folgenden Schritte aus, um eine vorhandene externe Instance bei einem anderen Cluster zu registrieren.

So registrieren Sie eine vorhandene externe Instance in einem anderen Cluster
  1. Halten Sie den Amazon-ECS-Container-Agent an.

    sudo systemctl stop ecs.service
  2. Bearbeiten Sie die /etc/ecs/ecs.config-Datei und stellen Sie auf der ECS_CLUSTER-Zeile sicher, dass der Clustername mit dem Namen des Clusters übereinstimmt, bei dem die externe Instance registriert werden soll.

  3. Entfernen Sie die vorhandenen Amazon-ECS-Agentendaten.

    sudo rm /var/lib/ecs/data/agent.db
  4. Starten Sie den Amazon-ECS-Container-Agenten.

    sudo systemctl start ecs.service
AWS CLI for Windows operating systems
  1. Erstellen Sie ein Systems Manager-Aktivierungspaar. Dies wird für die Aktivierung verwalteter Instances von Systems Manager verwendet. Die Ausgabe enthält eine ActivationId und ActivationCode. Sie werden sie in einem späteren Schritt verwenden. Stellen Sie sicher, dass Sie die ECS Anywhere IAM-Rolle angeben, die Sie erstellt haben. Weitere Informationen finden Sie unter ECS Anywhere IAM-Rolle.

    aws ssm create-activation --iam-role ecsAnywhereRole | tee ssm-activation.json
  2. Laden Sie das Installationsskript auf dem On-Premises-Server oder der virtuellen Maschine (VM) herunter.

    Invoke-RestMethod -URI "https://amazon-ecs-agent.s3.amazonaws.com/ecs-anywhere-install.ps1" -OutFile “ecs-anywhere-install.ps1”
  3. (Optional) Das Powershell-Skript wird von Amazon signiert und daher führt Windows die Zertifikatvalidierung automatisch auf derselben Weise durch. Sie müssen keine manuelle Validierung durchführen.

    Um das Zertifikat manuell zu überprüfen, klicken Sie mit der rechten Maustaste auf die Datei, navigieren Sie zu Eigenschaften und verwenden Sie die Registerkarte Digitale Signaturen, um weitere Details zu erhalten.

    Diese Option ist nur verfügbar, wenn der Host das Zertifikat im Zertifikatspeicher hat.

    Die Verifizierung sollte in etwa folgendermaßen aussehen:

    # Verification (PowerShell) Get-AuthenticodeSignature -FilePath .\ecs-anywhere-install.ps1 SignerCertificate Status Path ----------------- ------ ---- EXAMPLECERTIFICATE Valid ecs-anywhere-install.ps1 ... Subject : CN="Amazon Web Services, Inc.",... ----
  4. Führen Sie auf dem On-Premises-Server oder der virtuellen Maschine (VM) das Installationsskript aus. Geben Sie im ersten Schritt den Clusternamen, die Region und die Aktivierungs-ID des Systems Manager sowie den Aktivierungscode an.

    .\ecs-anywhere-install.ps1 -Region $Region -Cluster $Cluster -ActivationID $ActivationID -ActivationCode $ActivationCode
  5. Stellen Sie sicher, dass der Amazon-ECS-Container-Agent ausgeführt wird.

    Get-Service AmazonECS Status Name DisplayName ------ ---- ----------- Running AmazonECS Amazon ECS

Führen Sie die folgenden Schritte aus, um eine vorhandene externe Instance bei einem anderen Cluster zu registrieren.

So registrieren Sie eine vorhandene externe Instance in einem anderen Cluster
  1. Halten Sie den Amazon-ECS-Container-Agent an.

    Stop-Service AmazonECS
  2. Ändern Sie den Parameter ECS_CLUSTER so, dass der Clustername mit dem Namen des Clusters übereinstimmt, bei dem die externe Instance angemeldet werden soll.

    [Environment]::SetEnvironmentVariable("ECS_CLUSTER", $ECSCluster, [System.EnvironmentVariableTarget]::Machine)
  3. Entfernen Sie die vorhandenen Amazon-ECS-Agentendaten.

    Remove-Item -Recurse -Force $env:ProgramData\Amazon\ECS\data\*
  4. Starten Sie den Amazon-ECS-Container-Agenten.

    Start-Service AmazonECS

kann verwendet AWS CLI werden, um eine Systems Manager-Aktivierung zu erstellen, bevor das Installationsskript ausgeführt wird, um den Registrierungsprozess für externe Instances abzuschließen.