Frühlingswolke AWS - EC2

Im vorherigen Artikel konzentrieren wir uns auf S3; Jetzt konzentrieren wir uns auf die Elastic Compute Cloud - allgemein bekannt als EC2.

Inhaltsserie: Dieser Artikel ist Teil einer Reihe: • Spring Cloud AWS - S3

• Spring Cloud AWS - EC2 (aktueller Artikel) • Spring Cloud AWS - RDS

• Spring Cloud AWS - Messaging-Unterstützung

1. EC2-Metadatenzugriff

Die AWS EC2MetadataUtils- Klasse bietet statische Methoden für den Zugriff auf Instanzmetadaten wie AMI- ID und Instanztyp . Mit Spring Cloud AWS können wir diese Metadaten direkt mithilfe der Annotation @Value einfügen .

Dies kann durch Hinzufügen der Annotation @EnableContextInstanceData über eine der Konfigurationsklassen aktiviert werden :

@Configuration @EnableContextInstanceData public class EC2EnableMetadata { // }

In einer Spring Boot-Umgebung sind Instanzmetadaten standardmäßig aktiviert, sodass diese Konfiguration nicht erforderlich ist .

Dann können wir die Werte injizieren:

@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. Benutzerdefinierte Tags

Darüber hinaus unterstützt Spring auch das Einfügen von benutzerdefinierten Tags. Wir können dies aktivieren, indem wir ein Attribut user-tags-map in Kontextinstanzdaten mit der folgenden XML-Konfiguration definieren:

Lassen Sie uns nun die benutzerdefinierten Tags mithilfe der Spring-Ausdruckssyntax einfügen:

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

2. EC2-Client

Wenn für die Instanz Benutzer-Tags konfiguriert sind, erstellt Spring einen AmazonEC2- Client, den wir mit @Autowired in unseren Code einfügen können :

@Autowired private AmazonEC2 amazonEc2;

Bitte beachten Sie, dass diese Funktionen nur funktionieren, wenn die App auf einer EC2-Instanz ausgeführt wird.

3. Fazit

Dies war eine schnelle und präzise Einführung in den Zugriff auf EC2d-Daten mit Spring Cloud AWS.

Im nächsten Artikel der Reihe werden wir die RDS-Unterstützung untersuchen.

Wie üblich sind die Beispiele auf GitHub verfügbar.

Weiter » Spring Cloud AWS - RDS « Zurück Spring Cloud AWS - S3