Registrazione di un'istanza esterna in un cluster Amazon ECS - Amazon Elastic Container Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Registrazione di un'istanza esterna in un cluster Amazon ECS

Per ogni istanza esterna registrata in un ECS cluster Amazon, è necessario che siano installati l'SSMagente, l'agente ECS contenitore Amazon e Docker. Per registrare l'istanza esterna in un ECS cluster Amazon, deve prima essere registrata come istanza AWS Systems Manager gestita. Puoi creare lo script di installazione in pochi clic sulla ECS console Amazon. Lo script di installazione include una chiave di attivazione di Systems Manager e i comandi per installare ciascuno degli agenti richiesti e Docker. Per completare le fasi di installazione e registrazione, è necessario eseguire lo script di installazione sul server on-premise o sulla macchina virtuale.

Nota

Prima di registrare l'istanza esterna Linux con il cluster, crea il file /etc/ecs/ecs.config sull'istanza esterna e aggiungi i parametri di configurazione dell'agente del container desiderati. Non è possibile eseguire questa operazione dopo aver registrato l'istanza esterna in un cluster. Per ulteriori informazioni, consulta Configurazione di Amazon ECS Container Agent.

AWS Management Console
  1. Apri la console nella versione 2https://console.aws.amazon.com/ecs/.

  2. Seleziona la Regione da utilizzare nella barra di navigazione.

  3. Nel pannello di navigazione scegli Cluster.

  4. Sulla pagina Cluster scegli un cluster in cui registrare l'istanza esterna.

  5. Sul cluster: namepagina, scegli la scheda Infrastruttura.

  6. Alla pagina Register external instances (Registra istanze esterne), completa la procedura seguente.

    1. Per Durata della chiave di attivazione (in giorni)specifica il numero di giorni per cui la chiave di attivazione rimane attiva. Una volta passati i giorni specificati, la chiave non funzionerà più quando si registra un'istanza esterna.

    2. Per Numero di istanze specifica il numero di istanze esterne che si desidera registrare nel cluster con la chiave di attivazione.

    3. Per il ruolo dell'istanza, scegli il IAM ruolo da associare alle istanze esterne. Se non è già stato creato un ruolo, scegli Crea nuovo ruolo per consentire ad Amazon di ECS creare un ruolo per tuo conto. Per ulteriori informazioni sulle IAM autorizzazioni necessarie per le istanze esterne, consulta. IAMRuolo di Amazon ECS Anywhere

    4. Copia il comando di registrazione. Questo comando deve essere eseguito su ogni istanza esterna che si desidera registrare nel cluster.

      Importante

      La parte bash dello script deve essere eseguita come root. Se il comando non viene eseguito come root, viene restituito un errore.

    5. Scegli Chiudi.

AWS CLI for Linux operating systems
  1. Crea una coppia di attivazione di Systems Manager. Viene utilizzato per l'attivazione dell'istanza gestita di Systems Manager. L'output include un ActivationId e un ActivationCode. Utilizzerai questa funzione in una fase successiva. Assicurati di specificare il IAM ruolo ECS Anywhere che hai creato. Per ulteriori informazioni, consulta IAMRuolo di Amazon ECS Anywhere.

    aws ssm create-activation --iam-role ecsAnywhereRole | tee ssm-activation.json
  2. Scarica lo script di installazione sul server on-premise o nella macchina virtuale (VM).

    curl --proto "https" -o "/tmp/ecs-anywhere-install.sh" "https://amazon-ecs-agent.s3.amazonaws.com/ecs-anywhere-install-latest.sh"
  3. (Facoltativo) Sul server on-premise o nella macchina virtuale (VM), completa la procedura seguente per verificare lo script di installazione utilizzando il file di firma dello script.

    1. Scarica e installa GnuPG. Per maggiori informazioniGNUpg, consulta il sito web di GnuPG. Per i sistemi Linux, installa gpg usando il programma di gestione dei pacchetti che preferisci per Linux.

    2. Recupera la chiave ECS PGP pubblica Amazon.

      gpg --keyserver hkp://keys.gnupg.net:80 --recv BCE9D9A42D51784F
    3. Scarica la firma dello script di installazione. La firma è una PGP firma ascii indipendente memorizzata in un file con l'estensione. .asc

      curl --proto "https" -o "/tmp/ecs-anywhere-install.sh.asc" "https://amazon-ecs-agent.s3.amazonaws.com/ecs-anywhere-install-latest.sh.asc"
    4. Verifica il file dello script di installazione utilizzando la chiave.

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

      L'output previsto è il seguente:

      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. Esegui lo script di installazione sul server on-premise o nella macchina virtuale (VM). Specifica il nome del cluster, la regione, l'ID di attivazione e il codice di attivazione di Systems Manager dalla prima fase.

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

    Per un server o una macchina virtuale (VM) locale su cui è installato il NVIDIA driver per i GPU carichi di lavoro, è necessario aggiungere il --enable-gpu flag allo script di installazione. Quando viene specificato questo flag, lo script di installazione verifica che il NVIDIA driver sia in esecuzione e quindi aggiunge le variabili di configurazione richieste per eseguire le ECS attività di Amazon. Per ulteriori informazioni sull'esecuzione dei GPU carichi di lavoro e sulla specificazione GPU dei requisiti in una definizione di attività, consulta. Specificazione GPUs in una definizione di ECS attività Amazon

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

Utilizza la seguente procedura per registrare un'istanza esterna esistente con un cluster diverso.

Come registrare un'istanza esterna esistente con un cluster diverso
  1. Arresta l'agente Amazon ECS Container.

    sudo systemctl stop ecs.service
  2. Modifica il file /etc/ecs/ecs.config e alla riga ECS_CLUSTER, assicurati che il nome del cluster corrisponda al nome del cluster con cui registrare l'istanza esterna.

  3. Rimuovi i dati esistenti ECS dell'agente Amazon.

    sudo rm /var/lib/ecs/data/agent.db
  4. Avvia Amazon ECS Container Agent.

    sudo systemctl start ecs.service
AWS CLI for Windows operating systems
  1. Crea una coppia di attivazione di Systems Manager. Viene utilizzato per l'attivazione dell'istanza gestita di Systems Manager. L'output include un ActivationId e un ActivationCode. Utilizzerai questa funzione in una fase successiva. Assicurati di specificare il IAM ruolo ECS Anywhere che hai creato. Per ulteriori informazioni, consulta IAMRuolo di Amazon ECS Anywhere.

    aws ssm create-activation --iam-role ecsAnywhereRole | tee ssm-activation.json
  2. Scarica lo script di installazione sul server on-premise o nella macchina virtuale (VM).

    Invoke-RestMethod -URI "https://amazon-ecs-agent.s3.amazonaws.com/ecs-anywhere-install.ps1" -OutFile “ecs-anywhere-install.ps1”
  3. (Facoltativo) Lo script Powershell è firmato da Amazon e pertanto Windows esegue automaticamente la convalida del certificato sullo stesso. Non è necessario eseguire alcuna convalida manuale.

    Per verificare manualmente il certificato, fai clic con il pulsante destro del mouse sul file, accedi alle proprietà e utilizza la scheda Digital Signatures (Firme digitali) per ottenere ulteriori dettagli.

    Questa opzione è disponibile solo quando l'host ha il certificato nell'archivio dei certificati.

    La verifica dovrebbe restituire informazioni simili alle seguenti:

    # 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. Esegui lo script di installazione sul server on-premise o nella macchina virtuale (VM). Specifica il nome del cluster, la regione, l'ID di attivazione e il codice di attivazione di Systems Manager dalla prima fase.

    .\ecs-anywhere-install.ps1 -Region $Region -Cluster $Cluster -ActivationID $ActivationID -ActivationCode $ActivationCode
  5. Verifica che l'agente Amazon ECS Container sia in esecuzione.

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

Utilizza la seguente procedura per registrare un'istanza esterna esistente con un cluster diverso.

Come registrare un'istanza esterna esistente con un cluster diverso
  1. Arresta l'agente Amazon ECS Container.

    Stop-Service AmazonECS
  2. Modifica il parametro ECS_CLUSTER in modo che il nome del cluster corrisponda al nome del cluster con cui registrare l'istanza esterna.

    [Environment]::SetEnvironmentVariable("ECS_CLUSTER", $ECSCluster, [System.EnvironmentVariableTarget]::Machine)
  3. Rimuovi i dati esistenti ECS dell'agente Amazon.

    Remove-Item -Recurse -Force $env:ProgramData\Amazon\ECS\data\*
  4. Avvia Amazon ECS Container Agent.

    Start-Service AmazonECS

AWS CLI Può essere utilizzato per creare un'attivazione di Systems Manager prima di eseguire lo script di installazione per completare il processo di registrazione dell'istanza esterna.