Distribuisci microservizi Java su Amazon ECS utilizzando 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 AWS Fargate

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

Ambiente: PoC o pilota

Fonte: contenitori

Destinazione: Amazon ECS

Tipo R: N/A

Tecnologie: contenitori e microservizi; app Web e mobili

Servizi AWS: Amazon ECS

Riepilogo

Questo modello fornisce indicazioni per la distribuzione di microservizi Java containerizzati su Amazon Elastic Container Service (Amazon ECS) utilizzando AWS Fargate. Il modello non utilizza Amazon Elastic Container Registry (Amazon ECR) per la gestione dei container; le immagini Docker vengono invece estratte da un hub Docker.

Prerequisiti e limitazioni

Prerequisiti

  • Un'applicazione di microservizi Java esistente su un hub Docker

  • Un repository Docker pubblico

  • Un account AWS attivo

  • Familiarità con i servizi AWS, tra cui Amazon ECS e Fargate

  • Framework Docker, Java e Spring Boot

  • Amazon Relational Database Service (Amazon RDS) attivo e funzionante (opzionale)

  • Un cloud privato virtuale (VPC) se l'applicazione richiede Amazon RDS (opzionale)

Architettura

Stack tecnologico di origine

  • Microservizi Java (ad esempio, implementati in Spring Boot) e distribuiti su Docker

Architettura di origine

Architettura di origine per i microservizi Java distribuiti su Docker

Stack tecnologico Target

  • Un cluster Amazon ECS che ospita ogni microservizio utilizzando Fargate

  • Una rete VPC per ospitare il cluster Amazon ECS e i gruppi di sicurezza associati 

  • Una definizione di cluster/task per ogni microservizio che attiva i contenitori utilizzando Fargate

Architettura Target

Architettura di destinazione su microservizi Java su Amazon ECS

Strumenti

Strumenti

  • 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 ti aiuta a eseguire container senza dover gestire server o istanze Amazon Elastic Compute Cloud (Amazon EC2). Viene utilizzato insieme ad Amazon Elastic Container Service (Amazon ECS).

  • Docker è una piattaforma software che consente di creare, testare e distribuire applicazioni rapidamente. Docker impacchetta il software in unità standardizzate chiamate contenitori che contengono tutto ciò di cui il software ha bisogno per funzionare, tra cui librerie, strumenti di sistema, codice e runtime. 

Codice Docker

Il seguente 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 per l'applicazione.

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

Epiche

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 attività, quindi crea una nuova definizione di attività. Per ulteriori informazioni, consulta la documentazione di Amazon ECS.

Amministratore di sistema AWS, sviluppatore di app

Scegli il tipo di lancio.

Scegli Fargate come tipo di lancio.

Amministratore di sistema AWS, sviluppatore di app

Configura l'attività.

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

Amministratore di sistema AWS, sviluppatore di app

Definisci il contenitore.

Specificate il nome del contenitore. Per l'immagine, inserisci il nome del sito Docker, il nome del repository e il nome del tag dell'immagine Docker (). docker.io/sample-repo/sample-application:sample-tag-name Imposta i limiti di memoria per l'applicazione e imposta le mappature delle porte (8080, 80) per le porte consentite.

Amministratore di sistema AWS, sviluppatore di app

Crea l'attività.

Quando le configurazioni dell'attività e del contenitore sono a posto, crea l'attività. Per istruzioni dettagliate, consulta i collegamenti nella sezione Risorse correlate.

Amministratore di sistema AWS, sviluppatore di app
AttivitàDescrizioneCompetenze richieste

Crea e configura un cluster.

Scegli Solo rete come tipo di cluster, configura il nome, quindi crea il cluster o utilizza un cluster esistente, se disponibile. Per ulteriori informazioni, consulta la documentazione di Amazon ECS.

Amministratore di sistema AWS, sviluppatore di app
AttivitàDescrizioneCompetenze richieste

Creare un'attività.

All'interno del cluster, scegli Esegui nuova attività.

Amministratore di sistema AWS, sviluppatore di app

Scegli il tipo di lancio.

Scegli Fargate come tipo di lancio.

Amministratore di sistema AWS, sviluppatore di app

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

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

Amministratore di sistema AWS, sviluppatore di app

Seleziona il cluster .

Scegli il cluster da cui desideri eseguire l'attività.

Amministratore di sistema AWS, sviluppatore di app

Specificare il numero di attività.

Configura il numero di attività da eseguire. Se si avvia con due o più attività, è necessario un sistema di bilanciamento del carico per distribuire il traffico tra le attività.

Amministratore di sistema AWS, sviluppatore di app

Specificare il gruppo di attività.

(Facoltativo) Specificate il nome di un gruppo di attività per identificare un insieme di attività correlate come gruppo di attività.

Amministratore di sistema AWS, sviluppatore di app

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

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

Amministratore di sistema AWS, sviluppatore di app

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. L'opzione predefinita consigliata è Abilitata.

Amministratore di sistema AWS, sviluppatore di app

Rivedi le impostazioni e crea l'attività

Controlla le impostazioni, quindi scegli Esegui operazione.

Amministratore di sistema AWS, sviluppatore di app
AttivitàDescrizioneCompetenze richieste

Copia l'URL dell'applicazione.

Quando lo stato dell'attività è stato aggiornato a In esecuzione, seleziona l'attività. Nella sezione Rete, copia l'IP pubblico.

Amministratore di sistema AWS, sviluppatore di app

Testa la tua applicazione.

Nel browser, inserisci l'IP pubblico per testare l'applicazione.

Amministratore di sistema AWS, sviluppatore di app

Risorse correlate