Informazioni su come configurare i file system FSx for Windows File Server per Amazon ECS - Amazon Elastic Container Service

Informazioni su come configurare i file system FSx for Windows File Server per Amazon ECS

Informazioni su come avviare un'istanza di Windows ottimizzata per Amazon ECS che ospita un file system FSx for Windows File Server e i container che possono accedere al file system. A tale scopo, è necessario prima creare un Directory Service AWS Managed Microsoft Active Directory. Quindi, creare un file system FSx per Windows File Server e un cluster con un'istanza Amazon EC2 e una definizione di attività. Configura la definizione di attività per i container per utilizzare il file system FSx for Windows File Server. Infine, esegui il test del file system.

Ogni volta che si avvia o elimina Active Directory o il file system FSx for Windows File Server occorrono da 20 a 45 minuti. Considera almeno 90 minuti per completare il tutorial oppure completalo in più sessioni.

Prerequisiti per il tutorial

  • Un utente amministratore. Consultare Configurazione per l'uso di Amazon ECS.

  • (Facoltativo) Una coppia di chiavi PEM per la connessione all'istanza Windows di EC2 tramite l'accesso RDP. Per informazioni sulla creazione di coppie di chiavi, consultare Amazon EC2 key pairs and Amazon EC2 instances nella Guida per l'utente di Amazon EC2.

  • Un VPC con almeno una sottorete pubblica e una sottorete privata e un gruppo di sicurezza. È possibile utilizzare il VPC di default. Non è necessario un gateway o un dispositivo NAT. Directory Service non supporta Network Address Translation (NAT) con Active Directory. Affinché ciò funzioni, Active Directory, il file system FSx per Windows File Server, il cluster ECS e l'istanza EC2 devono trovarsi all'interno del VPC. Per ulteriori informazioni su VPC e Active Directory, consultare Create a VPC e Prerequisites for creating an AWS Managed Microsoft AD.

  • Le autorizzazioni IAM ecsInstanceRole e ecsTaskExecutionRole sono associate all'account. Questi ruoli collegati ai servizi consentono ai servizi di effettuare chiamate API e accedere a container, segreti, directory e server di file per tuo conto.

Fase 1: Creazione dei ruoli di accesso IAM

Crea un cluster con la AWS Management Console.
  1. Consulta Ruolo IAM delle istanze di container Amazon ECS per verificare se hai un ecsInstanceRole e per vedere come puoi crearne uno se non è presente.

  2. Consigliamo di personalizzare le policy dei ruoli per ottenere autorizzazioni minime in un ambiente di produzione effettivo. Al fine di utilizzare questo tutorial, verifica che la seguente policy gestita da AWS sia collegata a ecsInstanceRole. Collega la policy, se non è già collegata.

    • AmazonEC2ContainerServiceforEC2Role

    • AmazonSSMManagedInstanceCore

    • AmazonSSMDirectoryServiceAccess

    Come collegare le policy gestite da AWS

    1. Aprire la console IAM.

    2. Nel pannello di navigazione, selezionare Ruoli.

    3. Scegli un ruolo gestito da AWS.

    4. Scegli Autorizzazioni, Collega policy.

    5. Per limitare le policy disponibili da collegare, utilizza Filtro.

    6. Seleziona la policy appropriata, quindi scegli Collega policy.

  3. Consulta Ruolo IAM di esecuzione di attività Amazon ECS per verificare se hai un ecsTaskExecutionRole e per vedere come puoi crearne uno se non è presente.

    Consigliamo di personalizzare le policy dei ruoli per ottenere autorizzazioni minime in un ambiente di produzione effettivo. Al fine di utilizzare questo tutorial, verifica che le seguenti policy gestite da AWS siano collegate a ecsTaskExecutionRole. Collega le policy, se non sono già collegate. Utilizzare la procedura descritta nella sezione precedente per collegare le policy gestite da AWS.

    • SecretsManagerReadWrite.

    • AmazonFSxReadOnlyAccess

    • AmazonSSMReadOnlyAccess

    • AmazonECSTaskExecutionRolePolicy

Fase 2: Creazione di Windows Active Directory (AD)

  1. Completare la procedura descritta in Creating your AWS Managed Microsoft AD nella Guida per l'amministrazione di Directory Service di AWS. Utilizza il VPC designato per questo tutorial. Nella fase 3 di Creazione di AWS Managed AD Directory, salvare il nome utente e la password dell'amministratore da utilizzare nella fase successiva. Annotare inoltre il nome completo della directory DNS per le operazioni successive. È possibile completare la fase seguente durante la creazione di Active Directory.

  2. Creare un segreto di AWS Secrets Manager da utilizzare nelle fasi seguenti. Per ulteriori informazioni, consultare Get started with Secrets Manager nella Guida per l'utente di Secrets Manager di AWS.

    1. Apri la console Secrets Manager.

    2. Fai clic su Archivia un nuovo segreto.

    3. Seleziona Altro tipo di segreti.

    4. Per Chiave/valore segreto, nella prima riga, crea una chiave username con valore admin. Fai clic su + Aggiungi riga.

    5. Nella nuova riga, crea una chiave password. Per il valore, digita la password immessa nella fase 3 di Crea la tua AWS Managed AD Directory.

    6. Fai clic sul pulsante Successivo.

    7. Specifica un nome e una descrizione per il segreto. Fai clic su Next (Successivo).

    8. Fai clic su Next (Successivo). Fai clic su Archivia.

    9. Dall'elenco nella pagina Segreti, seleziona il segreto appena creato.

    10. Salva l'ARN del nuovo segreto per utilizzarlo nelle fasi seguenti.

    11. Durante la creazione di Active Directory, è possibile procedere alla fase successiva.

Fase 3: Verifica e aggiornamento del gruppo di sicurezza

In questa fase è possibile verificare e aggiornare le regole per il gruppo di sicurezza in uso. Pertanto è possibile utilizzare il gruppo di sicurezza di default creato per il VPC.

Verifica e aggiorna il gruppo di sicurezza.

È necessario creare o modificare il gruppo di sicurezza per inviare i dati da e verso le porte, operazioni descritte in Gruppi di sicurezza di Amazon VPC nella Guida per l'utente di FSx for Windows File Server. A tale scopo, è possibile creare la regola in ingresso del gruppo di sicurezza visualizzata nella prima riga della tabella di regole in entrata riportata di seguito. Questa regola consente il traffico in ingresso dalle interfacce di rete (e le relative istanze associate) assegnate al gruppo di sicurezza. Tutte le risorse cloud create si trovano all'interno dello stesso VPC e collegate allo stesso gruppo di sicurezza. Pertanto, questa regola consente di inviare traffico da e verso il file system FSx for Windows File Server, Active Directory e l'istanza ECS come richiesto. Le altre regole in entrata consentono al traffico di servire il sito Web e l'accesso RDP per la connessione all'istanza ECS.

Nella tabella seguente vengono illustrate le regole in entrata del gruppo di sicurezza necessarie per questo tutorial.

Tipo Protocollo Intervallo porte Origine

Tutto il traffico

Tutti

Tutti

sg-securitygroup

HTTPS

TCP

443

0.0.0.0/0

RDP

TCP

3389

indirizzo IP del laptop

Nella tabella seguente vengono illustrate le regole in uscita del gruppo di sicurezza necessarie per questo tutorial.

Tipo Protocollo Intervallo porte Destinazione

Tutto il traffico

Tutti

Tutti

0.0.0.0/0

  1. Apri la Console EC2 e seleziona Gruppi di sicurezza dal menu sulla sinistra.

  2. Dall'elenco dei gruppi di sicurezza ora visualizzati, seleziona la casella di controllo a sinistra del gruppo di sicurezza utilizzato per questo tutorial.

    Vengono visualizzati i dettagli del gruppo di sicurezza.

  3. Modifica le regole in ingresso e in uscita selezionando le schede Inbound rules (Regole in entrata) o Outbound rules (Regole in uscita) e scegliendo l'opzione Edit inbound rules (Modifica regole in entrata) o Edit outbound rules (Modifica regole in uscita). Modifica le regole in base a quelle visualizzate nelle tabelle precedenti. Dopo aver creato l'istanza EC2 più avanti in questa esercitazione, modificare l'origine RDP della regola in ingresso con l'indirizzo IP pubblico dell'istanza EC2 come descritto in Connect to your Windows instance using RDP nella Guida per l'utente di Amazon EC2.

Fase 4: Creazione di un file system FSx for Windows File Server

Dopo la verifica e l'aggiornamento del gruppo di sicurezza e dopo aver creato Active Directory nello stato attivo, crea il file system FSx for Windows File Server nello stesso VPC di Active Directory. Completa la procedura seguente per creare un file system FSx for Windows File Server per i processi di Windows.

Creare il tuo primo file system.
  1. Apri la console Amazon FSx.

  2. Nel pannello di controllo, scegli Crea file system per avviare la procedura guidata di creazione del file system.

  3. Sulla pagina Seleziona tipo di file system, seleziona FSx for Windows File Server, quindi seleziona Successivo. Viene visualizzata la pagina Crea file system.

  4. Nella sezione Dettagli file system, specifica un nome per il file system. La denominazione dei file system ne semplifica la ricerca e la gestione. Puoi utilizzare fino a 256 caratteri Unicode. I caratteri consentiti sono lettere, numeri, spazi e caratteri speciali segno più (+), segno meno (-), segno uguale (=), punto (.), trattino basso (_), due punti (:) e barra (/).

  5. Per Tipo di implementazione, scegli Single-AZ per implementare un file system distribuito in una zona di disponibilità singola. Single-AZ 2 è l'ultima generazione di file system a zona di disponibilità singola e supporta l'archiviazione SSD e HDD.

  6. Per Tipo di archiviazione, scegli HDD.

  7. In Capacità di archiviazione, specifica la capacità di archiviazione minima.

  8. Mantieni Capacità di velocità effettiva sul valore di default.

  9. Nella sezione Rete e sicurezza, scegli lo stesso Amazon VPC scelto per la tua directory Directory Service.

  10. Per Gruppi di sicurezza VPC, scegli il gruppo di sicurezza verificato in Fase 3: Verifica e aggiornamento del gruppo di sicurezza.

  11. Per Autenticazione Windows, scegli AWSManaged Microsoft Active Directory, quindi seleziona la tua directory Directory Service dall'elenco.

  12. Per Crittografia, mantieni l'impostazione di default Chiave di crittografia su aws/fsx (default).

  13. Mantieni le impostazioni di default per Preferenze di manutenzione.

  14. Fai clic sul pulsante Successivo.

  15. Rivedi la configurazione del file system riportata nella pagina Crea file system. Come riferimento, prendi nota delle impostazioni del file system che è possibile modificare dopo la sua creazione. Scegliere Create file system (Crea file system).

  16. Prendi nota dell'ID file system. Sarà utile in una fase successiva.

    Puoi passare alla procedura successiva per creare un cluster e un'istanza EC2 durante la creazione del file system FSx for Windows File Server.

Fase 5: Creazione di un cluster Amazon ECS

Creazione di un cluster tramite la console Amazon ECS
  1. Apri la console all'indirizzo https://console.aws.amazon.com/ecs/v2.

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

  3. Nel pannello di navigazione scegli Cluster.

  4. Nella pagina Clusters (Cluster), scegli Create cluster (Crea cluster).

  5. In Configurazione del cluster, per Nome del cluster immetti windows-fsx-cluster.

  6. Espandi la sezione Infrastruttura, deseleziona AWS Fargate (serverless) e seleziona Istanze Amazon EC2.

    1. Per creare un gruppo Auto Scaling, da Auto Scaling group (ASG) (Gruppo di Auto Scaling (ASG)), seleziona Create new group (Crea nuovo gruppo) e quindi fornisci i seguenti dettagli sul gruppo:

      • Per Sistema operativo/architettura, scegli Windows Server 2019 Core.

      • In Tipo di istanza EC2, scegli t2.medium o t2.micro.

  7. Scegli Create (Crea).

Fase 6: creazione di un'istanza Amazon EC2 ottimizzata per Amazon ECS

Creazione di un'istanza di container Windows di Amazon ECS

Creazione di un'istanza Amazon ECS
  1. Usa il comando aws ssm get-parameters per recuperare il nome dell'AMI per la regione che ospita il VPC. Per ulteriori informazioni, consulta Retrieving Amazon ECS-Optimized AMI metadata.

  2. Utilizza la console di Amazon EC2 per avviare l'istanza.

    1. Aprire la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

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

    3. Da Pannello di controllo EC2, scegli Avvia istanza.

    4. Per Name (Nome), inserisci un nome univoco.

    5. Per Immagini di applicazioni e sistema operativo (Amazon Machine Image), nel campo cerca, inserisci il nome dell'AMI recuperata.

    6. In Tipo di istanza, scegli t2.medium o t2.micro.

    7. Per Key pair (login) (Coppia di chiavi [accesso]), scegli una coppia di chiavi. Se non specifici una coppia di chiavi,

    8. In Impostazioni di rete, per VPC e Sottorete, scegli il VPC e una sottorete pubblica.

    9. In Network settings (Impostazioni di rete), per Security group (Gruppo di sicurezza), scegli un gruppo di sicurezza esistente o creane uno nuovo. Assicurati che il gruppo di sicurezza scelto disponga delle regole in entrata e in uscita definite in Prerequisiti per il tutorial

    10. In Network settings (Impostazioni di rete), per Auto-assign Public IP (Assegna automaticamente un IP pubblico), seleziona Enable (Abilita).

    11. Espandi Dettagli avanzati e in Directory aggiunta dominio, seleziona l'ID dell'Active Directory creata. Questo dominio si unisce all'AD quando viene avviata l'istanza EC2.

    12. In Advanced details (Dettagli avanzati), per il profilo dell'istanza IAM, scegli ecsInstanceRole.

    13. Configura la tua istanza di container Amazon ECS con i seguenti dati utente. In Advanced Details (Dettagli avanzati), incolla il seguente script nel campo User data (Dati utente), sostituendo cluster_name con il nome del tuo cluster.

      <powershell> Initialize-ECSAgent -Cluster windows-fsx-cluster -EnableTaskIAMRole </powershell>
    14. Quando sei pronto, seleziona il campo di conferma e scegli Launch Instances (Avvia istanze).

    15. Una pagina di conferma indicherà che l'istanza si sta avviando. Scegliere View Instances (Visualizza istanze) per chiudere la pagina di conferma e tornare alla console.

  3. Apri la console all'indirizzo https://console.aws.amazon.com/ecs/v2.

  4. Nel pannello di navigazione, seleziona Cluster, quindi scegli windows-fsx-cluster.

  5. Scegli la scheda Infrastruttura e verifica che l'istanza sia stata registrata nel cluster windows-fsx-cluster.

Fase 7: Registrazione di una definizione di attività di Windows

Prima di eseguire i container Windows nel cluster Amazon ECS, devi registrare una definizione di attività. Il seguente esempio di definizione di attività mostra una pagina Web semplice. Il processo avvia due container che hanno accesso al file system FSx. Il primo container scrive un file HTML nel file system. Il secondo container scarica il file HTML dal file system e serve la pagina Web.

  1. Apri la console all'indirizzo https://console.aws.amazon.com/ecs/v2.

  2. Nel pannello di navigazione, scegli Task Definitions (Definizioni di processo).

  3. Scegli Create new task definition (Crea nuova definizione di attività), Create new task definition with JSON (Crea nuova definizione di attività con JSON).

  4. Nella casella dell'editor JSON, sostituisci i valori per il ruolo di esecuzione dell'attività e i dettagli sul file system FSx, quindi scegli Salva.

    { "containerDefinitions": [ { "entryPoint": [ "powershell", "-Command" ], "portMappings": [], "command": ["New-Item -Path C:\\fsx-windows-dir\\index.html -ItemType file -Value '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>It Works!</h2> <p>You are using Amazon FSx for Windows File Server file system for persistent container storage.</p>' -Force"], "cpu": 512, "memory": 256, "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019", "essential": false, "name": "container1", "mountPoints": [ { "sourceVolume": "fsx-windows-dir", "containerPath": "C:\\fsx-windows-dir", "readOnly": false } ] }, { "entryPoint": [ "powershell", "-Command" ], "portMappings": [ { "hostPort": 443, "protocol": "tcp", "containerPort": 80 } ], "command": ["Remove-Item -Recurse C:\\inetpub\\wwwroot\\* -Force; Start-Sleep -Seconds 120; Move-Item -Path C:\\fsx-windows-dir\\index.html -Destination C:\\inetpub\\wwwroot\\index.html -Force; C:\\ServiceMonitor.exe w3svc"], "mountPoints": [ { "sourceVolume": "fsx-windows-dir", "containerPath": "C:\\fsx-windows-dir", "readOnly": false } ], "cpu": 512, "memory": 256, "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019", "essential": true, "name": "container2" } ], "family": "fsx-windows", "executionRoleArn": "arn:aws:iam::111122223333:role/ecsTaskExecutionRole", "volumes": [ { "name": "fsx-windows-dir", "fsxWindowsFileServerVolumeConfiguration": { "fileSystemId": "fs-0eeb5730b2EXAMPLE", "authorizationConfig": { "domain": "example.com", "credentialsParameter": "arn:arn-1234" }, "rootDirectory": "share" } } ] }

Fase 8: Esecuzione di un processo e visualizzazione dei risultati

Prima di eseguire il processo, verifica che lo stato del file system FSx for Windows File Server sia Disponibile. Una volta disponibile, è possibile eseguire un processo utilizzando la definizione di attività creata. Il processo inizia creando container che mescolano un file HTML utilizzando il file system. Dopo il mescolamento, un server Web serve la pagina HTML semplice.

Nota

Potresti non essere in grado di connetterti al sito Web da una VPN.

Esegui un'attività e visualizza i risultati tramite la console Amazon ECS.
  1. Apri la console all'indirizzo https://console.aws.amazon.com/ecs/v2.

  2. Nel pannello di navigazione, seleziona Cluster, quindi scegli windows-fsx-cluster.

  3. Seleziona la scheda Attività, quindi Esegui nuova attività.

  4. In Tipo di avvio, selezionare EC2.

  5. In Configurazione dell'implementazione, per Definizione dell'attività, scegli fsx-windows, quindi scegli Crea.

  6. Quando lo stato dell'attività è IN ESECUZIONE, scegli l'ID attività.

  7. In Container, quando lo stato di container1 è ARRESTATO, seleziona container2 per visualizzarne i dettagli.

  8. In Dettagli del container per container2, seleziona Associazioni di rete e fai clic sull'indirizzo IP esterno associato al container. Si aprirà il browser e sarà visualizzato il seguente messaggio.

    Amazon ECS Sample App
    It Works! 
    You are using Amazon FSx for Windows File Server file system for persistent container storage.
    Nota

    Possono essere necessari alcuni minuti per visualizzare il messaggio. Se dopo qualche minuto non viene visualizzato il messaggio, assicurati che non stai utilizzando una VPN e che il gruppo di sicurezza per l'istanza di container consenta il traffico di rete in entrata sulla porta 443.

Fase 9: Pulizia

Nota

L'eliminazione del file system FSx for Windows File Server o dell'AD richiede da 20 a 45 minuti. Prima di avviare le operazioni di eliminazione dell'AD, è necessario attendere il completamento delle operazioni di eliminazione del file system FSx for Windows File Server.

Cancella il file system FSx per Windows File Server.
  1. Apri la console Amazon FSx.

  2. Scegli il pulsante di opzione a sinistra del file system FSx per Windows File Server appena creato.

  3. Scegli Azioni.

  4. Seleziona Elimina file system.

Elimina l'AD.
  1. Apri la Directory Service console.

  2. Scegli il pulsante di opzione a sinistra dell'AD appena creato.

  3. Scegli Azioni.

  4. Seleziona Elimina directory.

Elimina il cluster.
  1. Apri la console all'indirizzo https://console.aws.amazon.com/ecs/v2.

  2. Nel pannello di navigazione, seleziona Cluster, quindi scegli windows-fsx-cluster.

  3. Scegli Delete cluster (Elimina cluster).

  4. Inserisci la frase, quindi scegli Elimina.

Termina l'istanza EC2.
  1. Aprire la console di Amazon EC2.

  2. Nel menu a sinistra, seleziona Istanze.

  3. Seleziona la casella a sinistra dell'istanza EC2 creata.

  4. Fai clic su Stato istanza, Termina istanza.

Elimina il segreto.
  1. Apri la console Secrets Manager.

  2. Seleziona il segreto creato per questa procedura.

  3. Fai clic su Operazioni.

  4. Seleziona Elimina segreto.