Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden AWS AppConfig Agent mit Amazon EC2 und lokalen Maschinen
AWS AppConfig Mithilfe von Agent können Sie Anwendungen integrieren, die auf Ihren Amazon Elastic Compute Cloud (Amazon EC2) Linux-Instances ausgeführt werden. AWS AppConfig Der Agent verbessert die Anwendungsverarbeitung und -verwaltung auf folgende Weise:
-
Der Agent ruft in Ihrem Namen AWS AppConfig an, indem er eine AWS Identity and Access Management (IAM-) Rolle verwendet und einen lokalen Cache mit Konfigurationsdaten verwaltet. Durch das Abrufen der Konfigurationsdaten aus dem lokalen Cache benötigt Ihre Anwendung weniger Code-Updates zur Verwaltung der Konfigurationsdaten, ruft Konfigurationsdaten in Millisekunden ab und ist nicht von Netzwerkproblemen betroffen, die den Abruf solcher Daten stören könnten. *
-
Der Agent bietet eine native Oberfläche für das Abrufen und Auflösen von AWS AppConfig Feature-Flags.
-
Der Agent ist sofort einsatzbereit und bietet Best Practices für Caching-Strategien, Abfrageintervalle und die Verfügbarkeit lokaler Konfigurationsdaten und verfolgt gleichzeitig die Konfigurationstoken, die für nachfolgende Serviceabrufe benötigt werden.
-
Während der Ausführung im Hintergrund fragt der Agent regelmäßig die AWS AppConfig Datenebene nach Aktualisierungen der Konfigurationsdaten ab. Ihre Anwendung kann die Daten abrufen, indem sie über Port 2772 (ein anpassbarer Standard-Portwert) eine Verbindung zu localhost herstellt und HTTP GET aufruft, um die Daten abzurufen.
*AWS AppConfig Der Agent speichert Daten im Cache, wenn der Dienst Ihre Konfigurationsdaten zum ersten Mal abruft. Aus diesem Grund ist der erste Aufruf zum Abrufen von Daten langsamer als nachfolgende Aufrufe.
Themen
Schritt 1: (Erforderlich) Ressourcen erstellen und Berechtigungen konfigurieren
Schritt 2: (Erforderlich) Installieren und Starten AWS AppConfig Agent auf Amazon EC2-Instances
Schritt 3: (Optional, aber empfohlen) Logdateien an CloudWatch Logs senden
Schritt 6 (optional, aber empfohlen): Automatisieren von Updates AWS AppConfig Agent
Schritt 1: (Erforderlich) Ressourcen erstellen und Berechtigungen konfigurieren
Für die Integration AWS AppConfig mit Anwendungen, die auf Ihren Amazon EC2-Instances ausgeführt werden, müssen Sie AWS AppConfig Artefakte und Konfigurationsdaten erstellen, einschließlich Feature-Flags oder Freiform-Konfigurationsdaten. Weitere Informationen finden Sie unter Erstellen von Feature-Flags und Freiform-Konfigurationsdaten in AWS AppConfig.
Um die von gehosteten Konfigurationsdaten abzurufen AWS AppConfig, müssen Ihre Anwendungen mit Zugriff auf die AWS AppConfig Datenebene konfiguriert sein. Um Ihren Anwendungen Zugriff zu gewähren, aktualisieren Sie die IAM-Berechtigungsrichtlinie, die der Amazon EC2-Instance-Rolle zugewiesen ist. Insbesondere müssen Sie der Richtlinie die appconfig:GetLatestConfiguration Aktionen appconfig:StartConfigurationSession und hinzufügen. Ein Beispiel:
Weitere Informationen zum Hinzufügen von Berechtigungen zu einer Richtlinie finden Sie unter Hinzufügen und Entfernen von IAM-Identitätsberechtigungen im IAM-Benutzerhandbuch.
Schritt 2: (Erforderlich) Installieren und Starten AWS AppConfig Agent auf Amazon EC2-Instances
AWS AppConfig Der Agent wird in einem Amazon Simple Storage Service (Amazon S3) -Bucket gehostet, der von AWS verwaltet wird. Verwenden Sie das folgende Verfahren, um die neueste Version des Agenten auf Ihrer Linux-Instance zu installieren. Wenn Ihre Anwendung auf mehrere Instanzen verteilt ist, müssen Sie dieses Verfahren auf jeder Instanz ausführen, die die Anwendung hostet.
Anmerkung
Notieren Sie die folgenden Informationen:
-
AWS AppConfig Der Agent ist für Linux-Betriebssysteme mit Kernelversion 4.15 oder höher verfügbar. Debian-based Systeme wie Ubuntu werden nicht unterstützt.
-
Der Agent unterstützt x86_64- und ARM64-Architekturen.
-
Für verteilte Anwendungen empfehlen wir, die Installations- und Startbefehle zu den Amazon EC2-Benutzerdaten Ihrer Auto Scaling-Gruppe hinzuzufügen. Wenn Sie dies tun, führt jede Instance die Befehle automatisch aus. Weitere Informationen finden Sie unter Befehle auf Ihrer Linux-Instance beim Start ausführen im Amazon EC2-Benutzerhandbuch. Weitere Informationen finden Sie unter Tutorial: Benutzerdaten zum Abrufen des Ziellebenszyklusstatus mithilfe von Instance-Metadaten im Amazon EC2 Auto Scaling-Benutzerhandbuch.
-
Die Verfahren in diesem Thema beschreiben, wie Sie Aktionen wie die Installation des Agenten durchführen, indem Sie sich bei der Instance anmelden, um den Befehl auszuführen. Sie können die Befehle von einem lokalen Client-Computer aus ausführen und eine oder mehrere Instanzen als Ziel verwenden, indem Sie Run Command verwenden, ein Tool in AWS Systems Manager. Weitere Informationen finden Sie unter AWS Systems Manager Run Command im Benutzerhandbuch für AWS Systems Manager .
-
AWS AppConfig Der Agent auf Amazon EC2-Linux-Instances ist ein
systemdService.
Um zu installieren und zu starten AWS AppConfig Agent auf einer Instanz
-
Loggen Sie sich in Ihre Linux-Instance ein.
-
Öffnen Sie ein Terminal und führen Sie einen der folgenden Befehle mit Administratorrechten aus:
x86_64
sudo yum install https://s3.amazonaws.com/aws-appconfig-downloads/aws-appconfig-agent/linux/x86_64/latest/aws-appconfig-agent.rpmARM 64
sudo yum install https://s3.amazonaws.com/aws-appconfig-downloads/aws-appconfig-agent/linux/arm64/latest/aws-appconfig-agent.rpmWenn Sie eine bestimmte Version des AWS AppConfig Agenten installieren möchten, ersetzen Sie
latestdie URL durch eine bestimmte Versionsnummer. Hier ist ein Beispiel für x86_64:sudo yum install https://s3.amazonaws.com/aws-appconfig-downloads/aws-appconfig-agent/linux/x86_64/2.0.2/aws-appconfig-agent.rpm -
Führen Sie den folgenden Befehl aus, um den Agenten zu starten:
sudo systemctl start aws-appconfig-agent -
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob der Agent läuft:
sudo systemctl status aws-appconfig-agentBei Erfolg gibt der Befehl Informationen wie die folgenden zurück:
aws-appconfig-agent.service - aws-appconfig-agent ... Active: active (running) since Mon 2023-07-26 00:00:00 UTC; 0s ago ...
Anmerkung
Um den Agenten zu stoppen, führen Sie den folgenden Befehl aus:
sudo systemctl stop aws-appconfig-agent
Schritt 3: (Optional, aber empfohlen) Logdateien an CloudWatch Logs senden
Standardmäßig veröffentlicht der AWS AppConfig Agent Protokolle auf STDERR. Systemd leitet STDOUT und STDERR für alle Dienste, die auf der Linux-Instanz ausgeführt werden, an das Systemd-Journal weiter. Sie können Protokolldaten im Systemd-Journal anzeigen und verwalten, wenn Sie den AWS AppConfig Agenten nur auf einer oder zwei Instanzen ausführen. Eine bessere Lösung, eine Lösung, die wir für verteilte Anwendungen dringend empfehlen, besteht darin, Protokolldateien auf die Festplatte zu schreiben und dann den Amazon CloudWatch Agent zu verwenden, um die Protokolldaten in die AWS Cloud hochzuladen. Darüber hinaus können Sie den CloudWatch Agenten so konfigurieren, dass er alte Protokolldateien aus Ihrer Instance löscht, wodurch verhindert wird, dass Ihrer Instance der Speicherplatz ausgeht.
Um die Protokollierung auf der Festplatte zu aktivieren, müssen Sie die LOG_PATH Umgebungsvariable festlegen, wie unter beschriebenSchritt 4: (Optional) Verwenden von Umgebungsvariablen zur Konfiguration AWS AppConfig Agent für Amazon EC2.
Informationen zu den ersten Schritten mit dem CloudWatch Agenten finden Sie im CloudWatch Amazon-Benutzerhandbuch unter Erfassung von Metriken und Protokollen von Amazon EC2-Instances und lokalen Servern mit dem CloudWatch Agenten. Sie können Quick Setup, ein Tool im Systems Manager, verwenden, um den Agenten schnell zu installieren. CloudWatch Weitere Informationen finden Sie im AWS Systems Manager Benutzerhandbuch unter Quick Setup Host Management.
Warnung
Wenn Sie sich dafür entscheiden, Protokolldateien auf die Festplatte zu schreiben, ohne den CloudWatch Agenten zu verwenden, müssen Sie alte Protokolldateien löschen. AWS AppConfig Der Agent rotiert die Protokolldateien automatisch jede Stunde. Wenn Sie alte Protokolldateien nicht löschen, kann es sein, dass Ihrer Instance der Speicherplatz ausgeht.
Nachdem Sie den CloudWatch Agenten auf Ihrer Instance installiert haben, erstellen Sie eine CloudWatch Agenten-Konfigurationsdatei. Die Konfigurationsdatei weist den CloudWatch Agenten an, wie er mit den AWS AppConfig Agenten-Protokolldateien arbeitet. Weitere Informationen zum Erstellen einer CloudWatch Agentenkonfigurationsdatei finden Sie unter Erstellen der CloudWatch Agentenkonfigurationsdatei.
Fügen Sie der CloudWatch Agentenkonfigurationsdatei auf der Instanz den folgenden logs Abschnitt hinzu und speichern Sie Ihre Änderungen:
"logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "/path_you_specified_for_logging", "log_group_name": "${YOUR_LOG_GROUP_NAME}/aws-appconfig-agent.log", "auto_removal": true }, ... ] }, ... }, ... }
Wenn der Wert auto_removal isttrue, löscht der CloudWatch Agent automatisch rotierte AWS AppConfig Agenten-Protokolldateien.
Schritt 4: (Optional) Verwenden von Umgebungsvariablen zur Konfiguration AWS AppConfig Agent für Amazon EC2
Sie können den AWS AppConfig Agenten für Amazon EC2 mithilfe von Umgebungsvariablen konfigurieren. Um Umgebungsvariablen für einen systemd Service festzulegen, erstellen Sie eine Drop-In-Unit-Datei. Das folgende Beispiel zeigt, wie eine Drop-In-Unit-Datei erstellt wird, auf die die AWS AppConfig Agenten-Protokollierungsstufe gesetzt wird. DEBUG
Beispiel dafür, wie eine Drop-In-Unit-Datei für Umgebungsvariablen erstellt wird
-
Loggen Sie sich in Ihre Linux-Instance ein.
-
Öffnen Sie ein Terminal und führen Sie den folgenden Befehl mit Administratorrechten aus. Der Befehl erstellt ein Konfigurationsverzeichnis:
sudo mkdir /etc/systemd/system/aws-appconfig-agent.service.d -
Führen Sie den folgenden Befehl aus, um die Drop-In-Unit-Datei zu erstellen.
file_nameErsetzen Sie durch einen Namen für die Datei. Die Erweiterung muss wie folgt lauten.conf:sudo touch /etc/systemd/system/aws-appconfig-agent.service.d/file_name.conf -
Geben Sie Informationen in die Drop-In-Unit-Datei ein. Im folgenden Beispiel wird ein
ServiceAbschnitt hinzugefügt, der eine Umgebungsvariable definiert. Das Beispiel legt die AWS AppConfig Agenten-Protokollebene auf festDEBUG.[Service] Environment=LOG_LEVEL=DEBUG -
Führen Sie den folgenden Befehl aus, um die Systemd-Konfiguration neu zu laden:
sudo systemctl daemon-reload -
Führen Sie den folgenden Befehl aus, um den Agenten neu zu starten AWS AppConfig :
sudo systemctl restart aws-appconfig-agent
Sie können AWS AppConfig Agent for Amazon EC2 konfigurieren, indem Sie die folgenden Umgebungsvariablen in einer Drop-In-Unit-Datei angeben.
Anmerkung
Die folgende Tabelle enthält eine Spalte mit Beispielwerten. Je nach Bildschirmauflösung müssen Sie möglicherweise zum Ende der Tabelle und dann nach rechts scrollen, um die Spalte anzuzeigen.
| Umgebungsvariable | Details | Standardwert | Beispielwert (e) |
|---|---|---|---|
|
|
Diese Umgebungsvariable definiert ein Token, das bereitgestellt werden muss, wenn Konfigurationsdaten vom HTTP-Server des Agenten angefordert werden. Der Wert des Tokens muss im HTTP-Anforderungsautorisierungsheader mit dem Autorisierungstyp festgelegt werden
|
Keine | MyAccessToken |
|
|
Diese Umgebungsvariable ermöglicht es dem AWS AppConfig Agenten, eine Sicherungskopie jeder abgerufenen Konfiguration im angegebenen Verzeichnis zu speichern. WichtigKonfigurationen, die auf der Festplatte gesichert werden, sind nicht verschlüsselt. Wenn Ihre Konfiguration vertrauliche Daten enthält, AWS AppConfig empfiehlt, dass Sie bei Ihren Dateisystemberechtigungen das Prinzip der geringsten Rechte anwenden. Weitere Informationen finden Sie unter Sicherheit in AWS AppConfig. |
Keine | /path/to/sicherungen |
|
|
Diese Umgebungsvariable ermöglicht es dem AWS AppConfig Agenten, Aufzeichnungen über die Versuchszuweisung zu protokollieren, die jedes Vorkommen einer Versuchsbehandlung erfassen, die einer bestimmten Entität zu einem bestimmten Zeitpunkt zugewiesen wurde. Mögliche Werte: |
Keine |
|
|
|
Diese Umgebungsvariable gibt den Port an, auf dem der HTTP-Server für den Agenten läuft. |
2772 | 2772 |
|
|
Die Variable HTTP_HOST steuert, wie der AWS AppConfig Agent an Netzwerkschnittstellen bindet. Das Bindungsverhalten unterscheidet sich je nach Laufzeitumgebung, um optimale Sicherheit und Zugänglichkeit zu gewährleisten. |
ECS, EKS
EC2 und vor Ort
|
Benutzerdefinierte Konfigurationsoptionen. Sie können das Standardverhalten mit diesen Werten überschreiben:
|
|
|
Diese Umgebungsvariable gibt den Detaillierungsgrad an, den der Agent protokolliert. Jede Ebene umfasst die aktuelle Ebene und alle höheren Ebenen. Der Wert unterscheidet nicht zwischen Groß- und Kleinschreibung. Die Protokollebenen sind von den meisten bis zu den am wenigsten detaillierten: |
info |
trace debug info warnen error tödlich Keine |
|
|
Der Speicherort auf der Festplatte, auf den Protokolle geschrieben werden. Wenn nicht angegeben, werden Protokolle auf stderr geschrieben. |
Keine |
//.log path/to logs/agent |
|
|
Diese Umgebungsvariable konfiguriert den AWS AppConfig Agenten so, dass er zusätzliche konfigurationsspezifische Funktionen wie das Abrufen mehrerer Konten und das Speichern der Konfiguration auf der Festplatte nutzt. Weitere Informationen zu diesen Funktionen finden Sie unter Verwenden eines Manifests, um zusätzliche Abruffunktionen zu aktivieren. |
Keine | Bei Verwendung der Konfiguration als Manifest AWS AppConfig :. Beim Laden des Manifests von der Festplatte: |
|
|
Diese Umgebungsvariable konfiguriert die maximale Anzahl von Verbindungen, über die der Agent Konfigurationen AWS AppConfig abruft. |
3 | 3 |
|
|
Diese Umgebungsvariable steuert, wie oft der Agent AWS AppConfig nach aktualisierten Konfigurationsdaten fragt. Sie können eine Anzahl von Sekunden für das Intervall angeben. Sie können auch eine Zahl mit einer Zeiteinheit angeben: s für Sekunden, m für Minuten und h für Stunden. Wenn keine Einheit angegeben ist, verwendet der Agent standardmäßig Sekunden. Zum Beispiel ergeben 60, 60 Sekunden und 1 Minute dasselbe Abfrageintervall. |
45 Sekunden | 45 45 Sekunden 5m 1 h |
|
|
Diese Umgebungsvariable gibt die Konfigurationsdaten an, die der Agent anfordert, AWS AppConfig sobald er gestartet wird. In einer kommagetrennten Liste können mehrere Konfigurationsbezeichner angegeben werden. |
Keine | MyApp:MyEnv:MyConfig abcd123:efgh456:ijkl789 MyApp:MyEnv:Config1,MyApp:MyEnv:Config2 |
|
|
Wenn auf gesetzt |
true | true false |
PROXY_HEADERS |
Diese Umgebungsvariable gibt Header an, die von dem Proxy benötigt werden, auf den in der PROXY_URL Umgebungsvariablen verwiesen wird. Der Wert ist eine durch Kommas getrennte Liste von Headern. |
Keine |
Header: Wert h1: v1, h2: v2 |
PROXY_URL |
Diese Umgebungsvariable gibt die Proxy-URL an, die für Verbindungen vom Agenten zu verwendet werden soll AWS-Services, einschließlich AWS AppConfig. HTTPSund HTTP URLs werden unterstützt. |
Keine | http://localhostund URLs werden unterstützt. ----sep----:7474 https://my-proxy.example.com |
|
|
Diese Umgebungsvariable steuert, wie lange der Agent auf eine Antwort wartet. AWS AppConfig Wenn der Dienst nicht antwortet, schlägt die Anfrage fehl. Wenn die Anfrage den ersten Datenabruf betrifft, gibt der Agent einen Fehler an Ihre Anwendung zurück. Tritt der Timeout während einer Hintergrundüberprüfung auf aktualisierte Daten auf, protokolliert der Agent den Fehler und versucht es nach einer kurzen Verzögerung erneut. Sie können die Anzahl der Millisekunden für den Timeout angeben. Sie können auch eine Zahl mit einer Zeiteinheit angeben: ms für Millisekunden und s für Sekunden. Wenn keine Einheit angegeben ist, verwendet der Agent standardmäßig Millisekunden. Beispielsweise ergeben 5000, 5000 ms und 5s denselben Wert für das Anforderungs-Timeout. |
3000 ms | 3000 3000 ms 5 s |
ROLE_ARN |
Diese Umgebungsvariable gibt den Amazon-Ressourcennamen (ARN) einer IAM-Rolle an. AWS AppConfig Der Agent übernimmt diese Rolle, um Konfigurationsdaten abzurufen. | Keine | arn:aws:iam: :123456789012: role/MyRole |
ROLE_EXTERNAL_ID |
Diese Umgebungsvariable gibt die externe ID an, die mit dem angenommenen Rollen-ARN verwendet werden soll. | Keine | MyExternalId |
ROLE_SESSION_NAME |
Diese Umgebungsvariable gibt den Sitzungsnamen an, der den Anmeldeinformationen für die angenommene IAM-Rolle zugeordnet werden soll. | Keine | AWSAppConfigAgentSession |
SERVICE_REGION |
Diese Umgebungsvariable gibt eine Alternative an AWS-Region , die der AWS AppConfig Agent verwendet, um den AWS AppConfig Dienst aufzurufen. Wenn nicht definiert, versucht der Agent, die aktuelle Region zu ermitteln. Wenn dies nicht möglich ist, kann der Agent nicht gestartet werden. | Keine | us-east-1 eu-west-1 |
|
|
Diese Umgebungsvariable konfiguriert den AWS AppConfig Agenten so, dass er wartet, bis das Manifest verarbeitet ist, bevor der Start abgeschlossen wird. |
true | true false |
Schritt 5: (Erforderlich) Abrufen der Konfigurationsdaten
Sie können Konfigurationsdaten vom AWS AppConfig Agenten abrufen, indem Sie einen HTTP-Localhost-Aufruf verwenden. Die folgenden Beispiele werden curl mit einem HTTP-Client verwendet. Sie können den Agenten mit jedem verfügbaren HTTP-Client aufrufen, der von Ihrer Anwendungssprache unterstützt wird, oder mit verfügbaren Bibliotheken, einschließlich eines AWS SDK.
Um den vollständigen Inhalt einer bereitgestellten Konfiguration abzurufen
$ curl "http://localhost:2772/applications/application_name/environments/environment_name/configurations/configuration_name"
Um ein einzelnes Flag und seine Attribute aus einer AWS AppConfig
Konfiguration des folgenden Typs abzurufen Feature Flag
$ curl "http://localhost:2772/applications/application_name/environments/environment_name/configurations/configuration_name?flag=flag_name"
Um auf mehrere Flags und ihre Attribute aus einer AWS AppConfig
Konfiguration des folgenden Typs zuzugreifen Feature Flag
$ curl "http://localhost:2772/applications/application_name/environments/environment_name/configurations/configuration_name?flag=flag_name_one&flag=flag_name_two"
Schritt 6 (optional, aber empfohlen): Automatisieren von Updates AWS AppConfig Agent
AWS AppConfig Der Agent wird regelmäßig aktualisiert. Um sicherzustellen, dass Sie die neueste Version von AWS AppConfig Agent auf Ihren Instances ausführen, empfehlen wir Ihnen, die folgenden Befehle zu Ihren Amazon EC2-Benutzerdaten hinzuzufügen. Sie können die Befehle entweder auf der Instance oder in der EC2 Auto Scaling-Gruppe zu den Benutzerdaten hinzufügen. Das Skript installiert und startet bei jedem Start oder Neustart einer Instance die neueste Version des Agenten.
#!/bin/bash # install the latest version of the agent yum install -y https://s3.amazonaws.com/aws-appconfig-downloads/aws-appconfig-agent/linux/x86_64/latest/aws-appconfig-agent.rpm # optional: configure the agent mkdir /etc/systemd/system/aws-appconfig-agent.service.d echo "${MY_AGENT_CONFIG}" > /etc/systemd/system/aws-appconfig-agent.service.d/overrides.conf systemctl daemon-reload # start the agent systemctl start aws-appconfig-agent