Spring Cloud AWS - EC2

Spring Cloud AWS - EC2

Вprevious article мы сосредоточены на S3; Теперь мы сосредоточимся на Elastic Compute Cloud, широко известном как EC2.

1. Доступ к метаданным EC2

Класс AWSEC2MetadataUtils предоставляет статические методы для доступа к метаданным экземпляра, таким как идентификатор AMI и тип экземпляра. With Spring Cloud AWS we can inject this metadata directly using the @Value annotation.

Это можно включить, добавив аннотацию@EnableContextInstanceData к любому из классов конфигурации:

@Configuration
@EnableContextInstanceData
public class EC2EnableMetadata {
    //
}

In a Spring Boot environment, instance metadata is enabled by default which means this configuration is not required.

Затем мы можем ввести значения:

@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 также поддерживает внедрение определяемых пользователемtags. Мы можем включить это, определив атрибутuser-tags-map вcontext-instance-data, используя следующую конфигурацию XML:


    

Теперь давайте добавим определенные пользователем теги с помощью синтаксиса выражения Spring:

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

2. Клиент EC2

Кроме того, если для экземпляра настроены пользовательские теги, Spring создаст клиентAmazonEC2, который мы можем внедрить в наш код, используя@Autowired:

@Autowired
private AmazonEC2 amazonEc2;

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

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

Это было быстрое и точное введение в доступ к данным EC2d с помощью Spring Cloud AWS.

Вnext article of the series мы рассмотрим поддержку RDS.

Как обычно доступны примерыover on GitHub.