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.