Spring Cloud AWS – EC2
previous articleでは、S3に焦点を当てています。次に、一般にEC2として知られるElastic ComputeCloudに焦点を当てます。
1. EC2メタデータアクセス
AWSEC2MetadataUtilsクラスは、AMIIDやインスタンスタイプなどのインスタンスメタデータにアクセスするための静的メソッドを提供します。 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の注入もサポートしています。 これを有効にするには、次のXML構成を使用して、context-instance-dataに属性user-tags-mapを定義します。
それでは、Spring式の構文を使用してユーザー定義のタグを挿入しましょう。
@Value("#{instanceData.myTagKey}")
private String myTagValue;
2. EC2クライアント
さらに、インスタンスにユーザータグが構成されている場合、Springは@Autowiredを使用してコードに挿入できるAmazonEC2クライアントを作成します。
@Autowired
private AmazonEC2 amazonEc2;
これらの機能は、アプリがEC2インスタンスで実行されている場合にのみ機能することに注意してください。
3. 結論
これは、Spring Cloud AWSを使用してEC2dデータにアクセスするための迅速で要点の紹介です。
next article of the seriesで、RDSサポートについて説明します。
いつものように、例は利用可能なover on GitHubです。