Zum Inhalt springen

Hochverfügbarkeitsbereitstellung in AWS für Jitterbit App Builder

Einführung

Sie können die folgenden AWS-Produkte verwenden, um eine Hochverfügbarkeitsumgebung (HA) für App Builder zu erstellen:

  • Ein S3-Bucket, konfiguriert mit App Builder-Lese-/Schreibzugriff, um Sicherheitsschlüssel zu erstellen und freizugeben.

  • Eine RDS auf EC2-Instanz für die App Builder-Datenbank.

  • ElastiCache, wird als Nachrichtenbus für die Informationsfreigabe zwischen App Builder-Instanzen verwendet.

  • (Optional) Elastic Beanstalk kann verwendet werden, um App Builder-Instanzen zu verwalten und einen Load Balancer bereitzustellen, um Client-Anfragen zu verteilen.

Das folgende Diagramm zeigt eine Möglichkeit, wie diese Services als App Builder-Umgebung verwendet werden können:

%%{init: {"themeVariables": {"lineColor": "#6b7280", "edgeLabelBackground": "#f5f5f5"}}}%% flowchart LR A[fa:fa-plug API client] B[fa:fa-balance-scale Elastic
load balancer] W[fa:fa-globe Web browser] AB1[fa:fa-window-restore App Builder] AB2[fa:fa-window-restore App Builder] AB3[fa:fa-window-restore App Builder] KS@{shape: das, label: "fa:fa-key S3
key storage"} MB["fa:fa-random Message bus
(Redis)"] ABDB[(fa:fa-database App Builder
database)] ODS@{ shape: lin-cyl, label: "fa:fa-table Other
data sources" } A --> B W --> B subgraph Process_Group [Elastic Beanstalk] B --> AB1 B --> AB2 B --> AB3 end AB1 --> MB AB2 --> MB AB3 --> MB subgraph EC[ElastiCache] MB end MB --> ABDB MB --> ODS KS -.- AB1 KS -.- AB2 KS -.- AB3

Datenverschlüsselungsschlüssel auf einem S3 speichern

Wie in Datenverschlüsselungskonfiguration erwähnt, können Sie EC2-Instanz-Lokalspeicher nicht für die Langzeitarchivierung verwenden. Daher müssen Datenverschlüsselungsschlüssel (DEKs) in S3-Buckets gespeichert werden, wie in den folgenden Details angegeben:

  • Bucket: vinyl-data-encryption-keys (Standard-S3-Bucket, der von Elastic Beanstalk-Umgebungen verwendet wird.)
  • Adresse: https://s3.amazonaws.com/vinyl-data-encryption-keys
  • Zugriff: aws-elasticbeanstalk-ec2-role

Innerhalb des Buckets werden DEKs mit dem Namen der Elastic Beanstalk-Umgebung vorangestellt.

Speicherung des Datenverschlüsselungsschlüssels (DEK) der Elastic Beanstalk-Umgebung konfigurieren

App Builder wird mit einem .ebextensions-Skript ausgeliefert, das die Umgebungseigenschaften für die DEK-Speicherung registriert. Diese Eigenschaften umfassen Folgendes:

Eigenschaft Standard Beispiel
DataEncryptionKeyStorage S3 S3
DataEncryptionKeyS3BucketEndpoint https://{bucket}.s3{-aws-region}.amazonaws.com https://s3.amazonaws.com/vinyl-data-encryption-keys
DataEncryptionKeyS3KeyPrefix {elastic-beanstalk-environment-name} abacceptance

App Builder startet nicht mit den Standard-Elastic Beanstalk-Umgebungseigenschaften. Sie müssen die Werte DataEncryptionKeyS3BucketEndpoint und DataEncryptionKeyS3KeyPrefix ändern.

Gewähren Sie Elastic Beanstalk-Umgebungen Zugriff auf S3-Buckets

EC2-Instanzen innerhalb einer Elastic Beanstalk-Umgebung werden einer Rolle zugewiesen. Die folgende Beispielrichtlinie gewährt Zugriff auf einen S3-Bucket:

Example S3 access policy
{
  "Version": "2025-10-17",
  "Statement": [
    {
       "Effect": "Allow",
       "Action": "s3:*",
       "Resource": "arn:aws:s3:::{bucket-name}/*"
     },
     {
       "Effect": "Allow",
       "Action": [
         "s3:ListAllMyBuckets",
         "s3:GetBucketLocation",
         "s3:ListBucket"
       ],
       "Resource": "*"
     }
   ]
}

ElastiCache-Setup

Sie können ElastiCache verwenden, um zwischen App Builder-Servern zu kommunizieren. Ein kleiner Knoten ohne Replikationen oder Shards ist ausreichend.

Verwenden Sie die folgenden Informationen beim Einrichten der Anwendungsserver in Beanstalk-Konfigurationen:

attachment

Datenbanksetup

Das Datenbanksetup liegt außerhalb des Umfangs dieses Dokuments. Jitterbit kann auf Wunsch RDS-Setup-Anweisungen bereitstellen.

Elastic Beanstalk-Setup

Führen Sie diese Schritte aus, um einen AWS Elastic Beanstalk-Service einzurichten:

  1. Erstellen Sie die Umgebung:

    attachment

  2. Wählen Sie Webserver erstellen:

    attachment

  3. Wählen Sie IIS:

    Um die Standardwerte zu ändern, wählen Sie Plattformversion ändern und dann 8.5 on 64bit Windows Server 2012 R2:

    attachment

  4. Wählen Sie die entsprechende Anwendungsversion:

    attachment

  5. Geben Sie den Umgebungsnamen ein. Dieser wird Teil einer URL, über die man diese Umgebung erreichen kann:

    attachment

    Tipp

    Dieser Namespace wird für alle Elastic Beanstalk-Instanzen aller AWS-Kunden verwendet.

  6. Aktivieren Sie Create this environment inside a VPC:

    attachment

  7. Legen Sie die folgenden Werte fest:

    • Instance type: t2.small (Jitterbit empfiehlt T2.small- und T2.medium-Instanzen für Entwicklungs- und Testzwecke sowie größere Instanzen für Produktionsumgebungen.)
    • EC2 key pair: vinyl
    • (Optional) Geben Sie Ihre E-Mail-Adresse ein, um Benachrichtigungen zu Umgebungsproblemen zu erhalten.

    attachment

  8. Konfigurieren Sie die VPC-Einstellungen entsprechend. (Die ELB-Sichtbarkeit sollte External sein.)

    attachment

  9. Überprüfen Sie die Zusammenfassung:

    attachment

  10. Legen Sie Berechtigungen fest:

    attachment

  11. Speichern Sie die Konfiguration:

    attachment

Nach dem Starten der Umgebung

Sobald die Umgebung im Dashboard grün angezeigt wird, müssen Sie einige zusätzliche Parameter konfigurieren. Legen Sie unter Configuration > Software Configuration Werte für die folgenden Verbindungsinformationen-Felder fest:

  • ConnectionInfo:DatabaseType

  • ConnectionInfo:HostName

  • ConnectionInfo:DatabaseName

  • ConnectionInfo:UserName

  • ConnectionInfo:Password

Nach dem Ausfüllen dieser Felder wird App Builder geöffnet. (Möglicherweise sind weitere Schritte für eine Datenbankinstallation oder ein Upgrade erforderlich.)

HTTPS konfigurieren

Elastic Beanstalk-Umgebungen beenden die HTTPS-Verbindung beim Elastic Load Balancer. Die Unterstützung von App Builder für Reverse Proxies ermöglicht es, dieses Szenario zu erkennen und zu bearbeiten. App Builder erkennt drei Umgebungseigenschaften, die beim Bereitstellen der Elastic Beanstalk-Instanz definiert werden. Diese Umgebungsvariablen werden automatisch gesetzt. Eine manuelle Konfiguration ist nicht erforderlich.

HTTPS wird für alle neuen Elastic Beanstalk-Umgebungen dringend empfohlen. Standardmäßig sind neue Elastic Beanstalk-Umgebungen jedoch nicht für HTTPS konfiguriert. Gehen Sie wie folgt vor, um Elastic Beanstalk zur Annahme von HTTPS-Anfragen zu konfigurieren:

  1. Melden Sie sich bei der Amazon Web Services Console an.

  2. Wählen Sie unter Services den Eintrag Elastic Beanstalk aus.

  3. Wählen Sie die Umgebung aus, die Sie aktualisieren möchten.

  4. Wählen Sie Configuration im linken Menü aus.

  5. Wählen Sie das Zahnradsymbol neben Load Balancing aus.

  6. Legen Sie den Secure Listener Port auf 443 fest.

  7. Wählen Sie die zutreffende SSL Certificate ID aus.

  8. Klicken Sie auf die Schaltfläche Save:

    attachment