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.
Amazon EC2-Aktionsreferenz
Sie verwenden eine Amazon EC2 EC2-Aktion, um Anwendungscode für Ihre Bereitstellungsflotte bereitzustellen. Ihre Bereitstellungsflotte kann aus Amazon EC2-Linux-Instances oder SSM-managed Linux-Knoten bestehen. Auf Ihren Instances muss der SSM-Agent installiert sein.
Anmerkung
Diese Aktion unterstützt nur Linux-Instanztypen. Die maximal unterstützte Flottengröße beträgt 500 Instances.
Die Aktion wählt eine Anzahl von Instances auf der Grundlage eines angegebenen Maximums aus. Die fehlgeschlagenen Instanzen aus früheren Instanzen werden zuerst ausgewählt. Die Aktion überspringt die Bereitstellung auf bestimmten Instances, wenn die Instanz bereits die Bereitstellung desselben Eingabeartefakts erhalten hat, z. B. in einem Fall, in dem die Aktion zuvor fehlgeschlagen ist.
Anmerkung
Diese Aktion wird nur für Pipelines vom Typ V2 unterstützt.
Aktionstyp
-
Kategorie:
Deploy -
Eigentümer:
AWS -
Anbieter:
EC2 -
Version:
1
Konfigurationsparameter
- InstanceTagKey
-
Erforderlich: Ja
Der Tag-Schlüssel der Instances, die Sie in Amazon EC2 erstellt haben, z. B.
Name - InstanceTagValue
-
Erforderlich: Nein
Der Tag-Wert der Instances, die Sie in Amazon EC2 erstellt haben, z. B.
my-instancesWenn dieser Wert nicht angegeben ist, InstanceTagKey werden alle Instances mit abgeglichen.
- InstanceType
-
Erforderlich: Ja
Der Typ der in Amazon EC2 erstellten Instanzen oder SSM-Knoten. Die gültigen Werte sind
EC2undSSM_MANAGED_NODE.Sie müssen den SSM-Agenten bereits auf allen Instances erstellt, markiert und installiert haben.
Anmerkung
Wenn Sie die Instance erstellen, erstellen oder verwenden Sie eine vorhandene EC2-Instance-Rolle. Um
Access DeniedFehler zu vermeiden, müssen Sie der Instance-Rolle S3-Bucket-Berechtigungen hinzufügen, um die Instance-Berechtigungen für den CodePipeline Artefakt-Bucket zu erteilen. Erstellen Sie eine Standardrolle oder aktualisieren Sie Ihre bestehende Rolle mit ders3:GetObjectBerechtigung, die auf den Artefakt-Bucket für die Region Ihrer Pipeline beschränkt ist. - TargetDirectory
-
Erforderlich: Ja (wenn ein Skript angegeben ist)
Das Verzeichnis, das auf Ihrer Amazon EC2-Instance zum Ausführen von Skripten verwendet werden soll.
- DeploySpec
-
Erforderlich: Ja (wenn die Bereitstellungsspezifikation angegeben ist)
Die Datei, die zur Konfiguration von Bereitstellungs-, Installations- und Lebenszyklusereignissen verwendet werden soll. Beschreibungen und Informationen zu den Feldern für die Bereitstellungsspezifikation finden Sie unterReferenz zur Spezifikationsdatei bereitstellen. Informationen zum Anzeigen einer Aktionskonfiguration mit der angegebenen Bereitstellungsspezifikationsdatei finden Sie im Beispiel unter. Aktionsdeklaration mit Beispiel für eine Deploy-Spezifikation
- MaxBatch
-
Erforderlich: Nein
Die maximale Anzahl von Instanzen, die parallel bereitgestellt werden dürfen.
- MaxError
-
Erforderlich: Nein
Die maximale Anzahl von Instanzfehlern, die während der Bereitstellung zulässig sind.
- TargetGroupNameList
-
Erforderlich: Nein
Die Liste der Zielgruppennamen für die Bereitstellung. Sie müssen die Zielgruppen bereits erstellt haben.
Zielgruppen stellen eine Reihe von Instanzen zur Verfügung, um bestimmte Anfragen zu bearbeiten. Wenn die Zielgruppe angegeben ist, werden Instanzen vor der Bereitstellung aus der Zielgruppe entfernt und nach der Bereitstellung wieder zur Zielgruppe hinzugefügt.
- PreScript
-
Erforderlich: Nein
Das Skript, das vor der Bereitstellungsphase der Aktion ausgeführt werden soll.
- PostScript
-
Erforderlich: Ja
Das Skript, das nach der Aktion Deploy-Phase ausgeführt werden soll.
Die folgende Abbildung zeigt ein Beispiel für die Seite „Bearbeiten“ für die Aktion, auf der Aktionskonfigurationen verwenden ausgewählt ist.
Die folgende Abbildung zeigt ein Beispiel für die Seite „Bearbeiten“ für die Aktion, auf der die Option DeploySpec Datei verwenden ausgewählt ist.
Input artifacts (Eingabeartefakte)
-
Anzahl der Artefakte:
1 -
Beschreibung: Die bereitgestellten Dateien, falls vorhanden, zur Unterstützung der Skriptaktionen während der Bereitstellung.
Ausgabeartefakte
-
Anzahl der Artefakte:
0 -
Beschreibung: Ausgabeartefakte gelten nicht für diesen Aktionstyp.
Richtlinienberechtigungen für die EC2-Bereitstellungsaktion
Wenn die Aktion CodePipeline ausgeführt wird, benötigt die CodePipeline Servicerolle die folgenden Berechtigungen, die entsprechend auf den Zugriff mit den geringsten Rechten beschränkt sind.
Protokollieren Sie Gruppen für Ihre Pipeline in Protokollen CloudWatch
Wenn die Aktion CodePipeline ausgeführt wird, CodePipeline wird eine Protokollgruppe erstellt, die den Namen der Pipeline wie folgt verwendet. Auf diese Weise können Sie die Berechtigungen zum Protokollieren von Ressourcen anhand des Pipeline-Namens einschränken.
/aws/codepipeline/MyPipelineName
Die folgenden Berechtigungen für die Protokollierung sind in den obigen Updates für die Servicerolle enthalten.
-
Protokolle: CreateLogGroup
-
Protokolle: CreateLogStream
-
Protokolle: PutLogEvents
Um Protokolle in der Konsole mithilfe der Dialogseite mit den Aktionsdetails anzuzeigen, muss der Konsolenrolle die Berechtigung zum Anzeigen von Protokollen hinzugefügt werden. Weitere Informationen finden Sie im Beispiel für eine Konsolenberechtigungsrichtlinie unterZum Anzeigen von Rechenprotokollen in der Konsole sind Berechtigungen erforderlich.
Berechtigungen für CloudWatch Protokolle nach der Dienstrollenrichtlinie
Wenn die Aktion CodePipeline ausgeführt wird, CodePipeline wird eine Protokollgruppe erstellt, die den Namen der Pipeline wie folgt verwendet. Auf diese Weise können Sie die Berechtigungen zum Protokollieren von Ressourcen anhand des Pipeline-Namens einschränken.
/aws/codepipeline/MyPipelineName
Um Protokolle in der Konsole mithilfe der Dialogseite mit den Aktionsdetails anzuzeigen, muss die Berechtigung zum Anzeigen von Protokollen zur Konsolenrolle hinzugefügt werden. Weitere Informationen finden Sie im Beispiel für eine Konsolenberechtigungsrichtlinie unterZum Anzeigen von Rechenprotokollen in der Konsole sind Berechtigungen erforderlich.
Referenz zur Spezifikationsdatei bereitstellen
Wenn die Aktion CodePipeline ausgeführt wird, können Sie eine Spezifikationsdatei angeben, um die Bereitstellung auf Ihren Instances zu konfigurieren. Die Deploy-Spezifikationsdatei gibt an, was installiert werden soll und welche Lifecycle-Event-Hooks als Reaktion auf Ereignisse im Bereitstellungszyklus ausgeführt werden sollen. Die Bereitstellungsspezifikationsdatei ist immer. YAML-formatted Die Bereitstellungsspezifikationsdatei wird verwendet, um:
-
Ordnen Sie die Quelldateien in Ihrer Anwendungsrevision den entsprechenden Zielen auf der Instance zu.
-
Geben Sie benutzerdefinierte Berechtigungen für bereitgestellte Dateien an.
-
Legen Sie Scripts fest, die auf jeder Instance in verschiedenen Phasen des Bereitstellungsprozesses ausgeführt werden.
Die Bereitstellungsspezifikationsdatei unterstützt bestimmte Bereitstellungskonfigurationsparameter, die von CodeDeploy der AppSpec Datei unterstützt werden. Sie können Ihre vorhandene AppSpec Datei direkt verwenden. Alle nicht unterstützten Parameter werden ignoriert. Weitere Informationen zur AppSpec Datei in finden Sie in CodeDeploy der Referenz zur Anwendungsspezifikationsdatei im CodeDeploy Benutzerhandbuch.
Die Parameter für die Dateibereitstellung werden wie folgt angegeben.
-
files— Die Bereitstellungsspezifikationsdatei bezeichnet dassource:unddestination:für die Bereitstellungsdateien. -
scripts— Die skriptgesteuerten Ereignisse für die Bereitstellung. Zwei Ereignisse werden unterstützt:BeforeDeployundAfterDeploy. -
hooks— Die Lifecycle-Hooks für das Ereignis. Die folgenden Hooks werden unterstützt:ApplicationStopBeforeInstallAfterInstall,ApplicationStart, undValidateService.Anmerkung
Der Hooks-Parameter ist aus AppSpec Kompatibilitätsgründen verfügbar CodeDeploy und nur in Version 0.0 (AppSpec Format) verfügbar. Für dieses Format CodePipeline werden die Ereignisse nach bestem Wissen und Gewissen zugeordnet.
In der Spezifikationsdatei müssen die richtigen YAML-Abstände verwendet werden. Andernfalls wird ein Fehler ausgegeben, wenn die Positionen und die Anzahl der Leerzeichen in einer Bereitstellungsspezifikationsdatei nicht korrekt sind. Weitere Informationen über Leerzeichen finden Sie in der YAML
Ein Beispiel für eine Deploy-Spezifikationsdatei finden Sie unten.
version: 0.1 files: - source: /index.html destination: /var/www/html/ scripts: BeforeDeploy: - location: scripts/install_dependencies timeout: 300 runas: myuser AfterDeploy: - location: scripts/start_server timeout: 300 runas: myuser
Informationen zum Anzeigen einer Aktionskonfiguration mit der angegebenen Bereitstellungsspezifikationsdatei finden Sie im Beispiel unter. Aktionsdeklaration mit Beispiel für eine Deploy-Spezifikation
Aktionsdeklaration
Aktionsdeklaration mit Beispiel für eine Deploy-Spezifikation
Weitere Informationen finden Sie auch unter
Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
-
Tutorial: Bereitstellung auf Amazon EC2-Instances mit CodePipeline— Dieses Tutorial führt Sie durch die Erstellung von EC2-Instances, in denen Sie eine Skriptdatei bereitstellen, sowie durch die Erstellung der Pipeline mithilfe der EC2-Aktion.
-
Die EC2 Deploy-Aktion schlägt mit der Fehlermeldung Keine solche Datei fehl— In diesem Thema wird die Problembehandlung bei Fehlern mit der EC2-Aktion beschrieben, die die Datei nicht gefunden hat.