Erstellen Sie die Infrastruktur - AMS-Leitfaden für fortgeschrittene Anwendungsentwickler

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.

Erstellen Sie die Infrastruktur

Wenn Sie die folgenden Daten sammeln, bevor Sie beginnen, kann die Bereitstellung schneller vonstattengehen.

DIE ERFORDERLICHEN DATEN SIND GESTAPELT:

  • AutoScalingGroup:

    • UserData: Dieser Wert wird in diesem Tutorial bereitgestellt. Er enthält Befehle zum Einrichten der Ressource für den Agenten CodeDeploy und zum Starten des CodeDeploy Agenten.

    • AMI-ID: Dieser Wert bestimmt, welche Art von EC2 Instances Ihre Auto Scaling Scaling-Gruppe (ASG) hochfahren wird. Stellen Sie sicher, dass Sie in Ihrem Konto ein AMI auswählen, das mit „Kunde-“ beginnt und das von Ihnen gewünschte Betriebssystem hat. Finden Sie AMI IDs mit der Referenz zur AMS SKMS API auf der Registerkarte Berichte in der AWS Artifact Console. Operation (CLI: list-amis) oder auf der Seite AMS-Konsole -> Details. VPCs VPCs Diese exemplarische Vorgehensweise ist für die ASGs Konfiguration zur Verwendung eines Linux-AMI AMI.

  • Datenbank:

    • Diese Parameter, DBEngineEngineVersion, und LicenseModel sollten entsprechend Ihrer Situation eingestellt werden, obwohl die im Beispiel gezeigten Werte getestet wurden.

    • Diese Parameter, RDSSubnetIds DBNameMasterUsername, und MasterUserPassword sind bei der Bereitstellung des Anwendungspakets erforderlich. Verwenden Sie für RDSSubnet IDs zwei private Subnetze.

  • LoadBalancer:

    • Diese Parameter, DBEngineEngineVersion, und LicenseModel sollten entsprechend Ihrer Situation eingestellt werden, obwohl die im Beispiel gezeigten Werte getestet wurden.

    • ELBSubnetIds: Verwenden Sie zwei öffentliche Subnetze.

  • Anwendung: Der ApplicationName Wert legt den CodeDeploy Anwendungsnamen und den Namen der CodeDeploy Bereitstellungsgruppe fest. Sie verwenden ihn, um Ihre Anwendung bereitzustellen. Es muss für das Konto eindeutig sein. Um in Ihrem Konto nach CodeDeploy Namen zu suchen, schauen Sie in der CodeDeploy Konsole nach. Im Beispiel wird "WordPress" verwendet, aber wenn Sie diesen Wert verwenden, stellen Sie sicher, dass er nicht bereits verwendet wird.

Bei diesem Verfahren werden der zweistufige Hochverfügbarkeits-Stack (Advanced) CT (ct-06mjngx5flwto) und der Create S3-Speicher-CT (ct-1a68ck03fn98r) verwendet. Gehen Sie von Ihrem authentifizierten Konto aus in der Befehlszeile wie folgt vor.

  1. Starten Sie den Infrastruktur-Stack.

    1. Geben Sie das JSON-Schema der Ausführungsparameter für den HA Two-Tier-Stack-CT in eine Datei in Ihrem aktuellen Ordner namens CreateStackParams .json aus.

      aws amscm get-change-type-version --change-type-id "ct-06mjngx5flwto" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateStackParams.json
    2. Ändern Sie das Schema. Ersetzen Sie das nach variables Bedarf. Verwenden Sie beispielsweise das gewünschte Betriebssystem für die EC2 Instanzen, die die ASG erstellen wird. Notieren Sie das, ApplicationName wie Sie es später für die Bereitstellung der Anwendung verwenden werden. Beachten Sie, dass Sie bis zu 50 Tags hinzufügen können.

      { "Description": "HA two tier stack for WordPress", "Name": "WordPressStack", "TimeoutInMinutes": 360, "Tags": [ { "Key": "ApplicationName", "Value": "WordPress" } ], "AutoScalingGroup": { "AmiId": "AMI-ID", "UserData": "#!/bin/bash \n REGION=$(curl 169.254.169.254/latest/meta-data/placement/availability-zone/ | sed 's/[a-z]$//') \n yum -y install ruby httpd \n chkconfig httpd on \n service httpd start \n touch /var/www/html/status \n cd /tmp \n curl -O https://aws-codedeploy-$REGION.s3.amazonaws.com/latest/install \n chmod +x ./install \n ./install auto \n chkconfig codedeploy-agent on \n service codedeploy-agent start" }, "LoadBalancer": { "Public": true, "HealthCheckTarget": "HTTP:80/status" }, "Database": { "DBEngine": "MySQL", "DBName": "wordpress", "EngineVersion": "8.0.16 ", "LicenseModel": "general-public-license", "MasterUsername": "admin", "MasterUserPassword": "p4ssw0rd" }, "Application": { "ApplicationName": "WordPress" } }
    3. Geben Sie die CreateRfc JSON-Vorlage in eine Datei in Ihrem aktuellen Ordner namens CreateStackRfc .json aus:

      aws amscm create-rfc --generate-cli-skeleton > CreateStackRfc.json
    4. Ändern Sie die RFC-Vorlage wie folgt und speichern Sie sie. Sie können den Inhalt löschen und ersetzen. Beachten Sie, dass RequestedStartTime sie jetzt optional RequestedEndTime sind. Wenn Sie sie ausschließen, wird ein ASAP-RFC erstellt, der ausgeführt wird, sobald er genehmigt wurde (was normalerweise automatisch geschieht). Um einen geplanten RFC einzureichen, fügen Sie diese Werte hinzu.

      { "ChangeTypeVersion": "3.0", "ChangeTypeId": "ct-06mjngx5flwto", "Title": "HA-Stack-For-WP-RFC" }
    5. Erstellen Sie den RFC, indem Sie die CreateStackRfc JSON-Datei und die Ausführungsparameterdatei mit den CreateStackParams JSON-Dateien angeben:

      aws amscm create-rfc --cli-input-json file://CreateStackRfc.json --execution-parameters file://CreateStackParams.json

      Sie erhalten die RFC-ID in der Antwort. Speichern Sie die ID für nachfolgende Schritte.

    6. Reichen Sie den RFC ein:

      aws amscm submit-rfc --rfc-id RFC_ID

      Wenn der RFC erfolgreich ist, erhalten Sie keine Ausgabe.

    7. Führen Sie folgenden Befehl aus, um den RFC-Status zu überprüfen

      aws amscm get-rfc --rfc-id RFC_ID

    Notieren Sie sich die RFC-ID.

  2. Starten Sie einen S3-Bucket

    Wenn Sie die folgenden Daten sammeln, bevor Sie beginnen, kann die Bereitstellung schneller vonstattengehen.

    ERFORDERLICHER DATEN-S3-BUCKET:

    • VPC-ID: Dieser Wert bestimmt, wo sich Ihr S3-Bucket befinden wird. Verwenden Sie dieselbe VPC-ID, die Sie zuvor verwendet haben.

    • BucketName: Dieser Wert legt den Namen des S3-Buckets fest. Sie verwenden ihn, um Ihr Anwendungspaket hochzuladen. Er muss in der gesamten Region des Kontos eindeutig sein und darf keine Großbuchstaben enthalten. Die Angabe Ihrer Konto-ID als Teil von BucketName ist keine Voraussetzung, erleichtert jedoch die spätere Identifizierung des Buckets. Um zu sehen, welche S3-Bucket-Namen in dem Konto vorhanden sind, rufen Sie die Amazon S3 S3-Konsole für Ihr Konto auf.

    1. Geben Sie das JSON-Schema der Ausführungsparameter für den S3-Speicher Create CT in eine JSON-Datei mit dem Namen CreateS3 StoreParams .json aus.

      aws amscm get-change-type-version --change-type-id "ct-1a68ck03fn98r" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateS3StoreParams.json
    2. Ändern Sie das Schema wie folgt. Sie können den Inhalt löschen und ersetzen. Ersetze es VPC_ID entsprechend. Die Werte im Beispiel wurden getestet, sind aber möglicherweise nicht für Sie geeignet.

      Tipp

      Die BucketName müssen in der gesamten Region des Kontos eindeutig sein und dürfen keine Großbuchstaben enthalten. Die Angabe Ihrer Konto-ID als Teil von BucketName ist keine Voraussetzung, erleichtert jedoch die spätere Identifizierung des Buckets. Um zu sehen, welche S3-Bucket-Namen in dem Konto vorhanden sind, rufen Sie die Amazon S3 S3-Konsole für Ihr Konto auf.

      { "Description": "S3BucketForWordPressBundle", "VpcId": "VPC_ID", "StackTemplateId": "stm-s2b72beb000000000", "Name": "S3BucketForWP", "TimeoutInMinutes": 60, "Parameters": { "AccessControl": "Private", "BucketName": "ACCOUNT_ID-BUCKET_NAME" } }
    3. Geben Sie die JSON-Vorlage für CreateRfc in eine Datei in Ihrem aktuellen Ordner mit dem Namen CreateS3 StoreRfc .json aus:

      aws amscm create-rfc --generate-cli-skeleton > CreateS3StoreRfc.json
    4. Ändern und speichern Sie die Datei CreateS3 StoreRfc .json. Sie können den Inhalt löschen und ersetzen. Beachten Sie, dass RequestedStartTime sie jetzt optional RequestedEndTime sind. Wenn Sie sie ausschließen, wird ein ASAP-RFC erstellt, der ausgeführt wird, sobald er genehmigt wurde (was normalerweise automatisch geschieht). Um einen geplanten RFC einzureichen, fügen Sie diese Werte hinzu.

      { "ChangeTypeVersion": "1.0", "ChangeTypeId": "ct-1a68ck03fn98r", "Title": "S3-Stack-For-WP-RFC" }
    5. Erstellen Sie den RFC, indem Sie die Datei CreateS3 StoreRfc .json und die Ausführungsparameterdatei StoreParams CreateS3 .json angeben:

      aws amscm create-rfc --cli-input-json file://CreateS3StoreRfc.json --execution-parameters file://CreateS3StoreParams.json

      Sie erhalten den Wert des neuen RFC in RfcId der Antwort. Speichern Sie die ID für nachfolgende Schritte.

    6. Reichen Sie den RFC ein:

      aws amscm submit-rfc --rfc-id RFC_ID

      Wenn der RFC erfolgreich ist, erhalten Sie keine Ausgabe.

    7. Führen Sie folgenden Befehl aus, um den RFC-Status zu überprüfen

      aws amscm get-rfc --rfc-id RFC_ID