Spring Cloud AWS - EC2

Nell'articolo precedente, ci stiamo concentrando su S3; ora ci concentreremo su Elastic Compute Cloud, comunemente noto come EC2.

Serie di contenuti: questo articolo fa parte di una serie: • Spring Cloud AWS - S3

• Spring Cloud AWS - EC2 (articolo attuale) • Spring Cloud AWS - RDS

• Spring Cloud AWS - Supporto per la messaggistica

1. Accesso ai metadati EC2

La classe AWS EC2MetadataUtils fornisce metodi statici per accedere ai metadati dell'istanza come l'ID AMI e il tipo di istanza. Con Spring Cloud AWS possiamo inserire questi metadati direttamente utilizzando l' annotazione @Value .

Questo può essere abilitato aggiungendo l' annotazione @EnableContextInstanceData su una qualsiasi delle classi di configurazione:

@Configuration @EnableContextInstanceData public class EC2EnableMetadata { // }

In un ambiente Spring Boot, i metadati dell'istanza sono abilitati per impostazione predefinita, il che significa che questa configurazione non è richiesta .

Quindi, possiamo iniettare i valori:

@Value("${ami-id}") private String amiId; @Value("${hostname}") private String hostname; @Value("${instance-type}") private String instanceType; @Value("${services/domain}") private String serviceDomain;

1.1. Tag personalizzati

Inoltre, Spring supporta anche l'inserimento di tag definiti dall'utente. Possiamo abilitarlo definendo un attributo user-tags-map in context-instance-data usando la seguente configurazione XML:

Ora, inseriamo i tag definiti dall'utente con l'aiuto della sintassi dell'espressione Spring:

@Value("#{instanceData.myTagKey}") private String myTagValue;

2. Client EC2

Inoltre, se ci sono tag utente configurati per l'istanza, Spring creerà un client AmazonEC2 che possiamo iniettare nel nostro codice usando @Autowired :

@Autowired private AmazonEC2 amazonEc2;

Tieni presente che queste funzionalità funzionano solo se l'app è in esecuzione su un'istanza EC2.

3. Conclusione

Questa è stata un'introduzione rapida e precisa all'accesso ai dati EC2d con Spring Cloud AWS.

Nel prossimo articolo della serie, esploreremo il supporto RDS.

Come al solito, gli esempi sono disponibili su GitHub.

Successivo » Spring Cloud AWS - RDS « Precedente Spring Cloud AWS - S3