Spring Cloud AWS - EC2

In het vorige artikel concentreren we ons op S3; nu zullen we ons concentreren op de Elastic Compute Cloud - algemeen bekend als EC2.

Contentreeks: Dit artikel maakt deel uit van een reeks: • Spring Cloud AWS - S3

• Spring Cloud AWS - EC2 (huidig ​​artikel) • Spring Cloud AWS - RDS

• Spring Cloud AWS - Ondersteuning voor berichten

1. Toegang tot EC2-metagegevens

Het AWS EC2MetadataUtils class biedt statische methoden om toegang te krijgen tot metagegevens van instanties, zoals AMI-id en instantietype. Met Spring Cloud AWS kunnen we deze metadata rechtstreeks injecteren met behulp van de @Waarde annotatie.

Dit kan worden ingeschakeld door het @EnableContextInstanceData annotatie over een van de configuratieklassen:

@Configuration @EnableContextInstanceData openbare klasse EC2EnableMetadata {//}

In een Spring Boot-omgeving zijn instantiemetagegevens standaard ingeschakeld, wat betekent dat deze configuratie niet vereist is.

Vervolgens kunnen we de waarden injecteren:

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

1.1. Aangepaste tags

Bovendien ondersteunt Spring ook injectie van door de gebruiker gedefinieerde tags. We kunnen dit inschakelen door een attribuut te definiëren user-tags-map in context-instantie-gegevens met behulp van de volgende XML-configuratie:

Laten we nu de door de gebruiker gedefinieerde tags injecteren met behulp van de syntaxis van de Spring-expressie:

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

2. EC2-klant

Bovendien, als er gebruikerstags zijn geconfigureerd voor de instantie, maakt Spring een AmazonEC2 client die we in onze code kunnen injecteren met @Autowired:

@Autowired privé AmazonEC2 amazonEc2;

Houd er rekening mee dat deze functies alleen werken als de app wordt uitgevoerd op een EC2-instantie.

3. Conclusie

Dit was een snelle en duidelijke inleiding tot toegang tot EC2d-gegevens met Spring Cloud AWS.

In het volgende artikel van de serie zullen we de RDS-ondersteuning onderzoeken.

Zoals gewoonlijk zijn de voorbeelden beschikbaar op GitHub.

De volgende » Spring Cloud AWS - RDS « Vorige Spring Cloud AWS - S3