Spring Cloud AWS - EC2

В предишната статия се фокусираме върху S3; сега ще се съсредоточим върху Elastic Compute Cloud - известен като EC2.

Съдържание: Тази статия е част от поредица: • Spring Cloud AWS - S3

• Spring Cloud AWS - EC2 (текуща статия) • Spring Cloud AWS - RDS

• Spring Cloud AWS - Поддръжка на съобщения

1. Достъп до метаданни EC2

Класът AWS EC2MetadataUtils предоставя статични методи за достъп до метаданни на екземпляра като AMI Id и тип екземпляр. С Spring Cloud AWS можем да инжектираме тези метаданни директно с помощта на анотацията @Value .

Това може да бъде активирано чрез добавяне на анотацията @EnableContextInstanceData над някой от класовете за конфигуриране:

@Configuration @EnableContextInstanceData public class EC2EnableMetadata { // }

В среда на Spring Boot метаданните на екземпляра са разрешени по подразбиране, което означава, че тази конфигурация не е необходима .

След това можем да инжектираме стойностите:

@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. Персонализирани маркери

Освен това Spring също поддържа инжектиране на дефинирани от потребителя тагове. Можем да активираме това, като дефинираме атрибут user-tags-map в context-instance-data, като използваме следната XML конфигурация:

Сега, нека инжектираме дефинираните от потребителя маркери с помощта на синтаксиса на Spring Spring:

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

2. EC2 клиент

Освен това, ако има потребителски маркери, конфигурирани за екземпляра, Spring ще създаде клиент на AmazonEC2, който можем да инжектираме в нашия код с помощта на @Autowired :

@Autowired private AmazonEC2 amazonEc2;

Моля, обърнете внимание, че тези функции работят само ако приложението работи на екземпляр EC2.

3. Заключение

Това беше бързо и актуално въведение в достъпа до EC2d данни с Spring Cloud AWS.

В следващата статия от поредицата ще разгледаме поддръжката на RDS.

Както обикновено, примерите са достъпни в GitHub.

Напред » Spring Cloud AWS - RDS « Предишен Spring Cloud AWS - S3