Distribuisci microservizi Java su Amazon ECS utilizzando Amazon ECR e AWS Fargate - Prontuario AWS

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à.

Distribuisci microservizi Java su Amazon ECS utilizzando Amazon ECR e AWS Fargate

Creato da Vijay Thompson (AWS) e Sandeep Bondugula (AWS)

Ambiente: PoC o pilota

Fonte: Containers

Destinazione: Amazon ECS

Tipo R: N/A

Tecnologie: contenitori e microservizi; app Web e mobili

Servizi AWS: Amazon ECS

Riepilogo

Questo modello ti guida attraverso i passaggi per la distribuzione di microservizi Java come applicazioni containerizzate in Amazon Elastic Container Service (Amazon ECS). Il modello utilizza anche Amazon Elastic Container Registry (Amazon ECR) per gestire il container e AWS Fargate per eseguire il container.

Prerequisiti e limitazioni

Prerequisiti

  • Un'applicazione di microservizi Java esistente in esecuzione in locale su Docker

  • Un account AWS attivo

  • Familiarità con Amazon ECR, Amazon ECS, AWS Fargate e AWS Command Line Interface (AWS CLI)

  • Familiarità con i software Java e Docker

Versioni del prodotto

  • AWS CLI versione 1.7 o successiva

Architettura

Stack tecnologico di origine

  • Microservizi Java (ad esempio, sviluppati utilizzando Spring Boot) e distribuiti in locale

  • Docker

Architettura di origine

Architettura di origine per la distribuzione di microservizi Java su Amazon ECS

Stack tecnologico Target

  • Amazon ECR

  • Amazon ECS

  • AWS Fargate

Architettura Target

Architettura di destinazione per la distribuzione di microservizi Java su Amazon ECS

Strumenti

Strumenti

  • Amazon Elastic Container Registry (Amazon ECR) Elastic Container Registry (Amazon ECR) è un registro completamente gestito che semplifica l'archiviazione, la gestione e la distribuzione delle immagini dei container Docker per gli sviluppatori. Amazon ECR è integrato con Amazon ECS per semplificare il development-to-production flusso di lavoro. Amazon ECR ospita le tue immagini in un'architettura altamente disponibile e scalabile in modo da poter distribuire in modo affidabile contenitori per le tue applicazioni. L'integrazione con AWS Identity and Access Management (IAM) fornisce il controllo a livello di risorsa di ogni repository.

  • Amazon Elastic Container Service (Amazon ECS) è un servizio di orchestrazione di container altamente scalabile e ad alte prestazioni che supporta i contenitori Docker e consente di eseguire e scalare facilmente applicazioni containerizzate su AWS. Amazon ECS elimina la necessità di installare e utilizzare il proprio software di orchestrazione dei container, gestire e scalare un cluster di macchine virtuali o pianificare contenitori su tali macchine virtuali.

  • AWS Fargate è un motore di calcolo per Amazon ECS che consente di eseguire container senza dover gestire server o cluster. Con AWS Fargate, non è più necessario effettuare il provisioning, configurare e scalare cluster di macchine virtuali per eseguire contenitori. Viene anche eliminata la necessità di scegliere i tipi di server, di decidere quando dimensionare i cluster o ottimizzarne il packing.

  • Docker è una piattaforma che consente di creare, testare e distribuire applicazioni in pacchetti chiamati contenitori.

Codice

Quanto segue DockerFile specifica la versione di Java Development Kit (JDK) utilizzata, in cui esiste il file di archivio Java (JAR), il numero di porta esposto e il punto di ingresso dell'applicazione.

FROM openjdk:8 ADD target/Spring-docker.jar Spring-docker.jar EXPOSE 8080 ENTRYPOINT ["java","-jar","Spring-docker.jar"]

Epiche

AttivitàDescrizioneCompetenze richieste

Creare un repository .

Accedi alla Console di gestione AWS e apri la console Amazon ECR all'indirizzo https://console.aws.amazon.com/ecr/repositories. Crea un repository privato. Per istruzioni, consulta Creazione di un repository privato nella documentazione di Amazon ECR.

Sviluppatore, amministratore di sistema

Carica il progetto.

Apri il repository e scegli Visualizza comandi push. Segui i passaggi visualizzati per caricare il progetto. (Questi passaggi funzionano solo quando utilizzi AWS CLI versione 1.7 o successiva). Una volta completato il caricamento, copia l'URL della build nel repository. Utilizzerai questo URL quando crei un contenitore in Amazon ECS.

Sviluppatore, amministratore di sistema
AttivitàDescrizioneCompetenze richieste

Crea una definizione di attività.

L'esecuzione di un contenitore Docker in Amazon ECS richiede una definizione di attività. Apri la console Amazon ECS all'indirizzo https://console.aws.amazon.com/ecs/, scegli Definizioni di attività e crea una nuova definizione di attività. Per ulteriori informazioni, consulta Creazione di una definizione di attività nella documentazione di Amazon ECS.

Sviluppatore, amministratore di sistema

Scegli il tipo di avvio.

Scegli Fargate come tipo di lancio.

Sviluppatore, amministratore di sistema

Configura l'attività.

Definire un nome per l'attività e configurare l'applicazione con la quantità appropriata di memoria e CPU per le attività.

Sviluppatore, amministratore di sistema

Definisci il contenitore.

Aggiungi il contenitore, fornendo un nome, l'URL del repository Amazon ECR, i limiti di memoria e la mappatura delle porte. Le porte 8080 e 80 sono configurate per la mappatura delle porte. Configura le impostazioni rimanenti in base ai requisiti dell'applicazione.

Sviluppatore, amministratore di sistema

Crea l'attività.

Una volta stabilite le configurazioni dell'attività e del contenitore, create l'attività. Per istruzioni dettagliate, consulta i collegamenti nella sezione Risorse correlate.

Sviluppatore, amministratore di sistema
AttivitàDescrizioneCompetenze richieste

Crea o scegli un cluster.

Un cluster Amazon ECS fornisce un raggruppamento logico di attività o servizi. Puoi scegliere di utilizzare un cluster esistente o crearne uno nuovo. Se decidi di creare un nuovo cluster, scegli il tipo di cluster in base alle tue esigenze. Nel nostro esempio, abbiamo selezionato un cluster di rete. Fornisci un nome per il cluster e scegli se desideri creare un nuovo cloud privato virtuale (VPC) da utilizzare per le attività di Fargate.

Sviluppatore, amministratore di sistema

Crea un servizio.

All'interno del cluster, scegli Crea servizio.

Sviluppatore, amministratore di sistema

Scegli il tipo di avvio.

Scegli Fargate come tipo di lancio.

Sviluppatore, amministratore di sistema

Scegli la definizione dell'attività, la revisione e la versione della piattaforma.

Scegli l'attività che desideri eseguire, seguita dalla revisione della definizione dell'attività e dalla versione della piattaforma.

Sviluppatore, amministratore di sistema

Seleziona il cluster .

Seleziona il cluster in cui creare il tuo servizio dall'elenco a discesa.

Sviluppatore, amministratore di sistema

Fornisci un nome di servizio.

Fornisci un nome univoco per il servizio che stai creando.

Sviluppatore, amministratore di sistema

Specificare il numero di attività.

Configura il numero di attività da eseguire all'avvio del servizio. Se si avvia con due o più attività, è necessario un sistema di bilanciamento del carico per bilanciare le attività. Il numero minimo di attività da configurare è una.

Sviluppatore, amministratore di sistema

Imposta le percentuali di salute minima e massima.

Configura le percentuali di integrità minima e massima per l'applicazione o accetta l'opzione predefinita fornita.

Sviluppatore, amministratore di sistema

Configura le impostazioni di distribuzione.

Scegli il tipo di implementazione in base alle tue esigenze. Puoi scegliere un aggiornamento progressivo o una distribuzione blu/verde.

Sviluppatore, amministratore di sistema

Configura il VPC del cluster, le sottoreti e i gruppi di sicurezza.

Configura il VPC del cluster, le sottoreti su cui desideri distribuire l'applicazione e i gruppi di sicurezza (HTTP, HTTPS e porta 8080) per fornire l'accesso alle connessioni in entrata/uscita.

Sviluppatore, amministratore di sistema

Configura le impostazioni IP pubbliche.

Abilita o disabilita l'IP pubblico, a seconda che desideri utilizzare un indirizzo IP pubblico per le attività di Fargate.

Sviluppatore, amministratore di sistema

Configura il bilanciamento del carico.

Configura il load balancer, se stai avviando il servizio con più di un'attività. È necessario creare un sistema di bilanciamento del carico e il relativo gruppo target prima di avviare il servizio.

Sviluppatore, amministratore di sistema

Configura il ridimensionamento automatico.

Configura il tuo servizio per utilizzare Amazon ECS Service Auto Scaling per aumentare o ridurre il numero desiderato di attività, a seconda delle tue esigenze.

Sviluppatore, amministratore di sistema

Rivedi le impostazioni e crea il servizio.

Controlla le impostazioni del servizio, quindi scegli Crea servizio.

Sviluppatore, amministratore di sistema
AttivitàDescrizioneCompetenze richieste

Metti alla prova la tua candidatura.

Testa l'applicazione utilizzando il DNS pubblico creato quando l'attività viene distribuita. Se l'applicazione dispone di un sistema di bilanciamento del carico, testala utilizzandolo e poi interrompi.

Sviluppatore, amministratore di sistema

Risorse correlate