Рубрики
Без рубрики

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

Краткое введение в поддержку Spring Cloud для AWS EC2.

Автор оригинала: baeldung.

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

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

Класс AWS EC2MetadataUtils предоставляет статические методы для доступа к метаданным экземпляра, таким как идентификатор AMI и тип экземпляра. С помощью Spring Cloud AWS мы можем вводить эти метаданные напрямую, используя @Value аннотацию .

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

@Configuration
@EnableContextInstanceData
public class EC2EnableMetadata {
    //
}

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

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

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


    

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

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

2. Клиент EC2

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

@Autowired
private AmazonEC2 amazonEc2;

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

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

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

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

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