Перейти к основному содержимому

Весеннее облако AWS — EC2

· 2 мин. чтения

В предыдущей статье мы сосредоточились на S3; теперь мы сосредоточимся на эластичном вычислительном облаке, широко известном как EC2.

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

Класс AWS EC2MetadataUtils предоставляет статические методы для доступа к метаданным экземпляра, таким как идентификатор AMI и тип экземпляра. С помощью 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:

<beans...>
<aws-context:context-instance-data user-tags-map="instanceData"/>
</beans>

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

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

2. Клиент EC2

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

@Autowired
private AmazonEC2 amazonEc2;

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

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

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

В следующей статье серии мы рассмотрим поддержку RDS.

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