이전 기사에서는 S3 에 중점을 두었습니다. 이제 우리는 일반적으로 EC2로 알려진 Elastic Compute Cloud에 초점을 맞출 것입니다.

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. Custom 태그

또한 Spring은 사용자 정의 태그 주입도 지원합니다 . 다음 XML 구성을 사용하여 context-instance-data 에서 속성 user-tags-map 을 정의하여 이를 활성화할 수 있습니다.

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

이제 Spring 표현식 구문을 사용하여 사용자 정의 태그를 삽입해 보겠습니다.

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

2. EC2 클라이언트

또한 인스턴스에 대해 구성된 사용자 태그가 있는 경우 Spring은 @Autowired 를 사용하여 코드에 삽입할 수 있는 AmazonEC2 클라이언트를 생성합니다 .

@Autowired
private AmazonEC2 amazonEc2;

이러한 기능은 앱이 EC2 인스턴스에서 실행 중인 경우에만 작동합니다.

3. 결론

이것은 Spring Cloud AWS를 사용하여 EC2d 데이터에 액세스하는 방법에 대한 빠르고 정확한 소개였습니다.

시리즈 의 다음 기사에서는 RDS 지원에 대해 살펴보겠습니다.

평소와 같이 예제는 GitHub 에서 사용할 수 있습니다 .

다음 »
스프링 클라우드 AWS – RDS
« 이전
스프링 클라우드 AWS – S3
Cloud footer banner