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.
Einrichtung der Enterprise Blueprint Factory
Dieser Abschnitt hilft Ihnen bei der Einrichtung der Enterprise Blueprint Factory in Ihrer Umgebung. AWS Er enthält detaillierte Anweisungen zur Einrichtung der erforderlichen Repositorys und der AWS Ressourcen für die Enterprise Blueprint Factory.
Voraussetzungen
Im Folgenden sind die Voraussetzungen für die Einrichtung der Enterprise Blueprint Factory in Ihrer Umgebung aufgeführt: AWS
-
Folgendes: AWS-Konten
-
Ein Konto, das zur Verwaltung der Enterprise Blueprint Factory und zur Veröffentlichung von Produkten verwendet wird
-
Ein oder mehrere Konten, die das veröffentlichte Produkt verwenden
-
-
Alle Konten sind:
-
Verwaltet als Organisation in AWS Organizations
-
Befindet sich in derselben Organisationseinheit (OU)
-
Die Organisation folgt dem account-per-tenant Modell
-
-
AWS Command Line Interface (AWS CLI), installiert und konfiguriert
-
Berechtigungen zum Bereitstellen eines AWS CloudFormation Stacks, der die folgenden AWS Ressourcen erstellt:
-
Amazon CloudWatch Logs-Protokollgruppe
-
AWS CodePipeline Pipelines
-
AWS CodeBuild projekte
-
Richtlinien und Regeln für Amazon EventBridge Event Bus
-
AWS Identity and Access Management Rolle und Richtlinie (IAM)
-
AWS Key Management Service (AWS KMS) Schlüssel und wichtige Politik
-
AWS Service Catalog Portfolios, Produkte und bereitgestellte Produkte
-
Thema, Themenrichtlinie und Abonnement von Amazon Simple Notification Service (Amazon SNS)
-
Buckets für Amazon Simple Storage Service (Amazon S3)
-
AWS Systems Manager Parameter Parameter speichern
Weitere Informationen zum Einrichten dieser Berechtigungen finden Sie in der CloudFormation Dokumentation und unter Implementieren von Richtlinien für Berechtigungen mit den geringsten Rechten für. AWS CloudFormation
-
-
Ein Konto GitHub
Bewährte Methoden
Wir empfehlen Ihnen, bei der Einrichtung der Enterprise Blueprint Factory in Ihrer AWS Umgebung die folgenden bewährten Methoden zu beachten:
-
Beachten Sie bei der Konfiguration der für die Bereitstellung von Enterprise Blueprint Factory erforderlichen Berechtigungen das Prinzip der geringsten Rechte und gewähren Sie nur die erforderlichen Mindestberechtigungen. Weitere Informationen finden Sie in der IAM-Dokumentation unter Gewährung der geringsten Rechte und bewährte Methoden zur Sicherheit.
-
Beachten Sie bei der Konfiguration des Zugriffs auf Service Catalog-Portfolios das Prinzip der geringsten Rechte und gewähren Sie nur bestimmten Rollen, Benutzern oder Administratoren Zugriff. Folgen Sie den bewährten Sicherheitsmethoden für Service Catalog.
Die Repositorys erstellen
Dieser Abschnitt hilft Ihnen bei der Einrichtung des Konfigurations-Repositorys und des Produkt-Repositorys für die Enterprise Blueprint Factory. Um Ihre Repositorys einzurichten, teilen Sie die bereitgestellten Repositorys ein.
Um die Repositorys zu forken GitHub
-
Melden Sie sich bei GitHub
an. -
Navigieren Sie zum Configuration-Repo-Repository.
GitHub -
Wählen Sie Fork.
-
Geben Sie auf der Seite Neuen Fork erstellen im Feld Repository-Name den folgenden Text ein
ServiceCatalog-ConfigRepo
. -
(Optional) Geben Sie eine Beschreibung ein.
-
Wählen Sie Nur den Hauptzweig kopieren aus.
-
Wählen Sie Fork erstellen.
-
Wiederholen Sie diese Schritte, um das GitHub Code-Repo-Repository
zu forken. Geben Sie den Namen ServiceCatalog-CodeRepo
für dieses Repository ein. -
Wiederholen Sie diese Schritte, um das GitHub Produkt-Repo-Repository
zu forken. Geben Sie den Namen ServiceCatalog-BlueprintProductRepo
für dieses Repository ein.
Um die CodeConnections Verbindung herzustellen
-
Geben Sie in der AWS-CLI den folgenden Befehl ein, um eine CodeConnections Verbindung herzustellen zu GitHub:
aws codeconnections create-connection --provider-type GitHub --connection-name <MyConnection>
-
Verwenden Sie die AWS Developer Tools-Konsole, um die Verbindung herzustellen. Weitere Informationen finden Sie unter Eine ausstehende Verbindung aktualisieren.
Um die geforkten Repositorys zu klonen
-
Geben Sie die folgenden Befehle ein, um die GitHub Repositorys auf Ihre lokale Workstation zu klonen:
git clone git@github.com:<user>/aws-enterprise-blueprint-factory-config-repo ServiceCatalog-ConfigRepo git clone git@github.com:<user>/aws-enterprise-blueprint-factory-blueprint-repo ServiceCatalog-BlueprintProductRepo git clone git@github.com:<user>/aws-enterprise-blueprint-factory-code-repo ServiceCatalog-CodeRepo
Einrichtung der Enterprise Blueprint Factory
Die Anweisungen in diesem Abschnitt beschreiben, wie Sie die Enterprise Blueprint Factory in Ihrem Zielkonto einrichten. Das Produktrepo, aus dem Sie geklont haben, GitHub enthält zwei CloudFormation Beispielvorlagen, und. BP-S3
BP-SNS
Wenn Sie diese Anweisungen befolgen, stellen Sie diese beiden Beispiel-Blueprints als Produkte im Service Catalog bereit.
Um die Rollen einzurichten
-
Erstellen Sie im Konto des Blueprint-Entwicklers die folgende Vertrauensrichtlinie und speichern Sie sie dann unter:
sc-enduserrole-trust-policy.json
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:role" }, "Action": "sts:AssumeRole" } }
-
Geben Sie den folgenden Befehl ein, um die
ServiceCatalogEndUserRole
IAM-Rolle zu erstellen:aws iam create-role \ --role-name ServiceCatalogEndUserRole \ --assume-role-policy-document file://sc-enduserrole-trust-policy.json aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AWSServiceCatalogEndUserFullAccess \ -- role-name ServiceCatalogEndUserRole
Anmerkung
Entwickler verwenden die
ServiceCatalogEndUserRole
Rolle, um das Service Catalog-Produkt bereitzustellen. Für diese Rolle sind keine Berechtigungen erforderlich, um die im Blueprint definierten Ressourcen zu erstellen. Dies entspricht den bewährten Methoden für Berechtigungen mit den geringsten Rechten und Aufgabentrennung. -
Erstellen Sie die folgende Vertrauensrichtlinie und speichern Sie sie dann unter:
sc-launchconstraintrole-trust-policy.json
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "servicecatalog.amazonaws.com" }, "Action": "sts:AssumeRole" } }
-
Geben Sie den folgenden Befehl ein, um die
ServiceCataloglogLaunchConstraintRole
IAM-Rolle zu erstellen:aws iam create-role \ --role-name ServiceCataloglogLaunchConstraintRole \ --assume-role-policy-document file://sc-launchconstraintrole-trust-policy.json aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonSNSFullAccess \ --role-name ServiceCataloglogLaunchConstraintRole aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AWSCloudFormationFullAccess \ --role-name ServiceCataloglogLaunchConstraintRole
-
Fügen Sie der
ServiceCataloglogLaunchConstraintRole
IAM-Rolle die folgende Richtlinie hinzu. Fügen Sie alle anderen Berechtigungen hinzu, die für die Produktressourcen erforderlich sind, wie unter Konfiguration einer Launch Role in der Service Catalog-Dokumentation beschrieben:{ "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetObject" ], "Resource":"*", "Condition":{ "StringEquals":{ "s3:ExistingObjectTag/servicecatalog:provisioning":"true" } } ] }
Anmerkung
Service Catalog verwendet diese Rolle, um den CloudFormation Stack als Produkt in Service Catalog bereitzustellen. Die Vertrauensrichtlinie für diese Rolle stellt sicher, dass nur Service Catalog sie übernehmen kann. Andere Benutzer oder Dienste können diese Rolle nicht übernehmen. Dies entspricht der bewährten Praxis der Aufgabentrennung.
-
Erstellen Sie die folgende Vertrauensrichtlinie, und speichern Sie sie dann unter:
sc-codebuild-trust-policy.json
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "codebuild.amazonaws.com" }, "Action": "sts:AssumeRole" } }
-
Geben Sie den folgenden Befehl ein, um die
codebuild-servicecatalog-admin-role
IAM-Rolle zu erstellen:aws iam create-role \ --role-name codebuild-servicecatalog-admin-role \ --assume-role-policy-document file://sc-codebuild-trust-policy.json aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AWSCodeBuildAdminAccess \ --role-name codebuild-servicecatalog-admin-role
Anmerkung
Die CodeBuild Jobs in der Konfigurationspipeline verwenden diese Rolle.
So richten Sie den Amazon S3 S3-Bucket ein
-
Um einen Amazon Simple Storage Service (Amazon S3) -Bucket zu erstellen, der zum Speichern der CodePipeline Artefakte verwendet wird, folgen Sie den Anweisungen unter Bucket erstellen in der Amazon S3-Dokumentation. Folgen Sie den bewährten Sicherheitsmethoden für Amazon S3.
Um die AWS Systems Manager Parameter einzurichten
-
Folgen Sie den Anweisungen unter Parameter Store-Parameter in Systems Manager erstellen, um die Systems Manager Manager-Parameter in der folgenden Tabelle zu erstellen. Diese Parameter werden in der CloudFormation Vorlage verwendet, die die Konfigurationspipeline bereitstellt.
Parametername Typ Beschreibung /blueprints/resources/vpc_id
String Parameter, der die ID der Ziel-Virtual Private Cloud (VPC) speichert. /blueprints/resources/subnets
StringList Parameter, IDs der die Zielsubnetze speichert. /blueprints/resources/securitygroups
StringList Parameter, IDs der die Zielsicherheitsgruppen speichert. /blueprints/resources/artifacts-bucket-name
String Parameter, der den Amazon S3 S3-Bucket-Namen speichert, der für CodePipeline Artefakte verwendet wird. /blueprints/resources/BlueprintRepo
String Parameter, der das GitHub Repo speichert, in dem die Enterprise Blueprint Factory-Blueprints gespeichert sind. Der Standardwert ist <user>/aws-enterprise-blueprint-factory-blueprint-repo
./blueprints/resources/CodeRepo
String Parameter, der das GitHub Repo speichert, in dem der Pipeline-Code für die Enterprise Blueprint Factory-Konfiguration und der Code gespeichert sind. Bootstrapping-Admin-Product
Der Standardwert ist<user>/aws-enterprise-blueprint-factory-code-repo
./blueprints/resources/ConfigRepo
String Parameter, der das GitHub Repo speichert, in dem die Enterprise Blueprint Factory-Konfigurationsdateien gespeichert sind. Der Standardwert ist <user>/aws-enterprise-blueprint-factory-config-repo
.
Um die Vorlagen zu aktualisieren CloudFormation
-
Öffnen Sie im Code-Repository (
ServiceCatalog-CodeRepo
) die Datei ServiceCatalog-Pipeline.yml. -
Bearbeiten Sie die Standardwerte für die folgenden Parameter in dieser Datei:
-
ConfigRepositoryName
ist der Systems Manager Manager-Parameter, der das GitHub Repo speichert, in dem die Enterprise Blueprint Factory-Konfigurationsdateien gespeichert sind. Der Standardwert ist/blueprints/resources/ConfigRepo
. -
CodeRepositoryName
ist der Systems Manager Manager-Parameter, der das GitHub Repository speichert, in dem der Enterprise Blueprint Factory-Konfigurationspipeline-Code und derBootstrapping-Admin-Product
Code gespeichert sind. Der Standardwert ist/blueprints/resources/CodeRepo
. -
BlueprintRepositoryName
ist der Systems Manager Manager-Parameter, der das GitHub Repository speichert, in dem die Enterprise Blueprint Factory-Blueprints gespeichert sind. Der Standardwert ist/blueprints/resources/BlueprintRepo
. -
BranchName
ist der Zweig des Konfigurations-Repositorys, in dem die Konfigurationsdatei gespeichert ist. Der Standardwert istmain
. -
VPCID
ist der Systems Manager Manager-Parameter, der die ID der Ziel-VPC speichert. Der Standardwert ist/blueprints/resources/vpc_id
. -
Subnets
ist der Systems Manager Manager-Parameter, IDs der die Zielsubnetze speichert. Der Standardwert ist/blueprints/resources/subnets
. -
SecurityGroupIds
ist der Systems Manager Manager-Parameter, IDs der die Zielsicherheitsgruppen speichert. Der Standardwert ist/blueprints/resources/securitygroups
. -
IamRoleName
ist der Name der IAM-Rolle, die die CodeBuild Jobs verwenden. Der Standardwert istcodebuild-servicecatalog-admin-role
. -
EnvironmentType
ist die Umgebung, in der Sie die Enterprise Blueprint Factory bereitstellen. Der Standardwert istDEV
. -
ArtifactBucket
ist der Systems Manager Manager-Parameter, der den Amazon S3 S3-Bucket CodePipeline speichert, in dem Artefakte gespeichert werden. Der Standardwert ist/blueprints/resources/artifacts-bucket-name
. -
CodeConnectionArn
ist der Amazon-Ressourcenname (ARN) der CodeConnections Verbindung zu GitHub.
-
-
Speichern und schließen Sie die Datei ServiceCatalog-Pipeline.yml.
-
Geben Sie die folgenden Befehle ein, um die Änderungen im Code-Repository zusammenzuführen:
cd ServiceCatalog-CodeRepo git add ServiceCatalog-Pipeline.yml git commit -m "<description of change>" git push origin main
-
Öffnen Sie im Konfigurations-Repository (
ServiceCatalog-ConfigRepo
) die Datei bp_config.yml. -
Aktualisieren Sie die Werte im Portfoliobereich nach Bedarf für Ihre Organisation. Aktualisieren Sie beispielsweise die
share_to_ou
Attributeportfolio_access_roles
und. Weitere Informationen finden Sie in der Konfigurationsdatei in diesem Handbuch. -
Speichern und schließen Sie die Datei bp_config.yml.
-
Geben Sie die folgenden Befehle ein, um die Änderungen im Code-Repository zusammenzuführen:
cd ServiceCatalog-ConfigRepo git add bp_config.yml git commit -m "<description of change>" git push origin main
Um den CloudFormation Stack bereitzustellen
-
Melden Sie sich beim Enterprise Blueprint Factory-Administratorkonto an.
-
Wechseln Sie zu einer IAM-Rolle mit Administratorberechtigungen.
-
Öffnen Sie die CloudFormation-Konsole
. -
Wählen Sie in der Navigationsleiste oben auf dem Bildschirm das Ziel AWS-Region aus.
-
Wählen Sie auf der Seite „Stapel“ oben rechts die Option „Stapel erstellen“ und dann „Mit neuen Ressourcen (Standard)“ aus.
-
Wählen Sie unter Prepare template (Vorlage vorbereiten) den Wert Template is ready (Vorlage ist bereit) aus.
-
Wählen Sie unter Vorlage angeben die Option Eine Vorlagendatei hochladen aus.
-
Wählen Sie Datei auswählen, navigieren Sie zu dem
ServiceCatalog-CodeRepo
Ordner und wählen Sie dann ServiceCatalog-Pipeline.yml aus. -
Wählen Sie Weiter, um fortzufahren und die Vorlage zu validieren.
-
Geben Sie unter Stackname einen Namen für den Stack ein.
-
Ändern Sie im Abschnitt Parameter die Standardwerte nicht.
-
Wählen Sie Weiter aus.
-
Ändern Sie auf der Seite „Stack-Optionen konfigurieren“ die Standardwerte nicht und wählen Sie dann Weiter.
-
Überprüfen Sie auf der Seite Überprüfen und erstellen die Vorlagen- und Stack-Details und wählen Sie dann Senden aus.
-
Überwachen Sie den Fortschritt der Stack-Bereitstellung. Weitere Informationen finden Sie in der CloudFormation-Dokumentation.
-
Warten Sie, bis der Status zu geändert wird
CREATE_COMPLETE
.
Um die Bereitstellung zu validieren
-
Öffnen Sie die AWS Service Catalog -Konsole
. -
Wählen Sie im Navigationsbereich Produkte aus.
-
Vergewissern Sie sich, dass ServiceCatalog-Pipeline in der Produktliste verfügbar ist.
-
Öffnen Sie die AWS CodePipeline -Konsole
. -
Wählen Sie unter Name die Konfigurationspipeline aus. Standardmäßig lautet der Name der Pipeline
ServiceCatalog-Pipeline
. -
Wählen Sie View history (Verlauf anzeigen).
-
Zeigen Sie den Status der Pipeline und die Ausführung der Phase an. Weitere Informationen zum Status finden Sie in der CodePipeline Dokumentation unter Ausführungsstatus anzeigen.
-
Warten Sie, bis der Status der Konfigurationspipeline lautet
Succeeded
. -
Öffnen Sie die Service Catalog-Konsole
. -
Wählen Sie im Navigationsbereich Produkte aus.
-
Vergewissern Sie sich, dass das BP-S3-Produkt und das BP-SNS-Produkt verfügbar sind. Dies weist darauf hin, dass die Produktveröffentlichungspipelines für die Muster-Blueprints erfolgreich abgeschlossen wurden.
Löschen Sie die Enterprise Blueprint Factory
Wenn Sie die Enterprise Blueprint Factory nicht verwenden, können Sie sie löschen, um die mit ihren Ressourcen verbundenen Kosten zu vermeiden. AWS
Vorgehensweise zum Löschen der -Ressourcen
-
Geben Sie die folgenden Befehle ein, um die IAM-Rollen zu löschen, die im Enterprise Blueprint Factory-Administratorkonto bereitgestellt wurden:
aws iam detach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AWSServiceCatalogEndUserFullAccess \ --role-name ServiceCatalogEndUserRole aws iam delete-role --role-name ServiceCatalogEndUserRole aws iam detach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonSNSFullAccess \ --role-name ServiceCataloglogLaunchConstraintRole aws iam delete-role --role-name ServiceCataloglogLaunchConstraintRole
-
Löschen Sie den CloudFormation Stack für die Enterprise Blueprint Factory. Anweisungen finden Sie unter Löschen eines Stacks aus der CloudFormation Konsole oder Löschen eines Stacks aus dem AWS CLI.
-
Löschen Sie den Amazon S3 S3-Bucket, der zum Speichern der CodePipeline Artefakte verwendet wird. Anweisungen finden Sie unter Löschen eines Buckets in der Amazon S3 S3-Dokumentation.
-
Löschen Sie die folgenden Systems Manager Manager-Parameter aus dem Parameterspeicher:
-
/blueprints/resources/vpc_id
-
/blueprints/resources/subnets
-
/blueprints/resources/securitygroups
-
/blueprints/resources/artifacts-bucket-name
-
/blueprints/resources/BlueprintRepo
-
/blueprints/resources/CodeRepo
-
/blueprints/resources/ConfigRepo
Anweisungen finden Sie unter Löschen von Parametern aus dem Parameterspeicher in der Systems Manager Manager-Dokumentation.
-