Zum Inhalt springen

Hochverfügbare Bereitstellung in AWS für Jitterbit App Builder

Einführung

App Builder kann viele AWS-Dienste nutzen, um die Bereitstellung einer Umfeld(HA) zu unterstützen.

Anhang

AWS-Elemente

  • S3 Bucket - konfiguriert, um Folgendes zu ermöglichen: App Builder Lese-/Schreibzugriff zum Erstellen und Teilen von Sicherheitsschlüsseln.

  • App Builder Datenbank - Kann mit RDS ausgeführt oder auf EC2-Instanzen installiert werden.

  • ElastiCache - Wird als Nachrichtenbus für den Informationsaustausch zwischen App Builder Instanz

  • Elastic Beanstalk - Verwaltet App Builder Instanzen und stellt einen Load Balancer zur Verteilung von Client-Anfragen bereit.

Hinweis

Obwohl ein beträchtlicher Teil dieses Dokuments die Bereitstellung von Elastic Beanstalk behandelt - dies ist nicht notwendig oder erforderlich. App Builder kann auf eigenständigen EC2-Instanzen installiert und entsprechend konfiguriert werden. Es ist weiterhin eine Synchronisierung des Verschlüsselung erforderlich, Redis / elasticache und Anwendungsserverkonfiguration.

S3-Setup - Verschlüsselung auf S3 speichern

Wie in Verschlüsselung, kann der lokale Speicher von EC2-Instanzen nicht für die Langzeitspeicherung verwendet werden. Daher müssen Datenverschlüsselungsschlüssel (DEKs) in S3-Buckets gespeichert werden.

S3-Buckets zur Speicherung von Verschlüsselung (DEK)

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

Innerhalb des Buckets werden DEKs mit dem Umfeld von Elastic Beanstalk als Präfix versehen.

Konfigurieren des Data Encryption Key (DEK)-Speichers in der Elastic Beanstalk-Umfeld

App Builder wird mit einem .ebextensions Script geliefert, das die Umfeld für den DEK-Speicher registriert. Diese Eigenschaften umfassen:

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} zudyacceptance

App Builder wird nicht mit den standardmäßigen Umfeld von Elastic Beanstalk gestartet. Sie müssen die Werte DataEncryptionKeyS3BucketEndpoint und DataEncryptionKeyS3KeyPrefix ändern.

Elastic Beanstalk-Umgebungen Zugriff auf S3-Buckets gewähren

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

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

ElastiCache-Einrichtung

Verwenden Sie ElastiCache, um die Kommunikation zwischen App Builder Server. Ein kleiner Knoten ohne Replikate oder Shards ist alles, was benötigt wird.

Die Konfigurationsinformationen werden beim Einrichten der Anwendungsserver in Beanstalk verwendet und Nicht-Bohnenranke Konfigurationen.

Anhang

Datenbank-Setup

Die Einrichtung der Datenbank liegt außerhalb des Umfangs dieses Dokuments. Jitterbit kann auf Wunsch Anweisungen zur RDS-Einrichtung bereitstellen.

Einrichtung von Elastic Beanstalk

Amazon ändert seine Benutzeroberfläche häufig. Diese Screenshots und der Ablauf sind auf dem Stand von November 2016.

Erstellen Sie die Umfeld:

Anhang

Wählen Sie "Webserver erstellen"

Anhang

Wählen Sie IIS aus.

Die Konfiguration wird standardmäßig auf einen Wert gesetzt, den wir nicht wollen. Wählen Sie „Plattformversion ändern“ und wählen Sie „8.5 auf 64-Bit Windows Server 2012 R2“.

b99af9bd51cfb07763abfab284721db0

Wählen Sie die entsprechende Anwendungsversion aus.

Anhang

Geben Sie den Umfeld ein. Dieser wird Teil einer URL, die zum Erreichen dieser Umfeld verwendet werden kann. Beachten Sie, dass der Namespace für alle Elastic Beanstalk-Instanzen aller AWS-Kunden gilt.

Anhang

Aktivieren Sie „Diese Umfeld innerhalb einer VPC erstellen“.

f851116a775fa616900ca9e4036d81f9

Jitterbit verwendet T2.small- und T2.medium-Instanzen für Entwicklungs- und Qualitätssicherungszwecke und größere Instanzen für Produktionsumgebungen.

Wenn Sie über Umfeld benachrichtigt werden möchten, geben Sie unten Ihre Email-Adresse ein.

Anhang

Konfigurieren Sie die VPC-Einstellungen entsprechend. Die ELB-Sichtbarkeit sollte Extern sein

29c91dae1ee0892d3a888e5af6b42537

Überprüfen Sie die Zusammenfassung:

Anhang

Berechtigungen

Anhang

ad3cada27cee8a2422dcd4cdcf4f52c1

Nachdem die Umfeld

Das Hochfahren der Umfeld dauert etwa 15 Minuten.

Nachdem es auf dem Dashboard grün angezeigt wird, konfigurieren wir einige zusätzliche Parameter:

  1. Konfiguration... Softwarekonfiguration... Set

    1. ConnectionInfo durch eine Zeichenfolge, die Ihren Datenbankverbindungsinformationen entspricht

    2. DataEncryption:S3BucketEndpoint zum Bucket, den Sie in Schritt 1 eingerichtet haben

    3. DataEncryption:S3KeyPrefix für den Elastic Beanstalk-Umfeld.

    4. Datenverschlüsselung:S3KeyPrefix

    5. SharedState:RedisConnectionString zur entsprechenden Verbindungszeichenfolge für Redis (Beispiel: 10.0.2.139:16016)

    6. SharedState:Provider

Nach diesen Schritten gelangen Sie zum App Builder Site. Dadurch wird bei Bedarf eine Datenbankinstallation oder ein Upgrade ausgelöst.

HTTPS konfigurieren

Neue Elastic Beanstalk-Umgebungen sind standardmäßig nicht für HTTPS konfiguriert. HTTPS wird für alle neuen Elastic Beanstalk-Umgebungen dringend empfohlen.

Elastic Beanstalk-Umgebungen beenden die HTTPS-Verbindung beim Elastic Load Balancer. App Builder Dank der Unterstützung von Reverse-Proxys kann dieses Szenario erkannt und verarbeitet werden. App Builder erkennt drei Umfeld, die beim Bereitstellen der Elastic Beanstalk-Instanz definiert werden. Diese Umfeld sind geskriptet: Sie müssen sie nicht selbst konfigurieren.

Konfigurieren von Elastic Beanstalk zum Akzeptieren von HTTPS-Anfragen

  1. Melden Sie sich bei der Amazon Web Services-Konsole an.

  2. Wählen Sie unter Services Elastic Beanstalk.

  3. Wählen Sie die Umfeld aus, die Sie aktualisieren.

  4. Wählen Sie im linken Menü Konfiguration.

  5. Wählen Sie das Zahnrad neben Lastausgleich.

  6. Setzen Sie den Secure Listener Port auf 443.

  7. Wählen Sie die zutreffende SSL-Zertifikat-ID aus (App Builder verwendet wildcard.zudy.com - andere Websites verwenden etwas anderes)

    Notiz

    Dies setzt voraus, dass Ihre neue Elastic Beanstalk-Umfeld über *.zudy.com. zugänglich ist

  8. Klicken Sie auf die Schaltfläche Speichern.

Anhang

Nicht-Beanstalk-Anwendungsserverkonfiguration

Wenn Sie AWS Elastic Beanstalk nicht verwenden, konfigurieren Sie Anwendungsserver manuell.

Sie müssen die folgenden Änderungen an einer Standardeinstellung vornehmen App Builder setup - diese Einstellungen sollten auf jede Instanz von App Builder:

Folgendes sollte eingerichtet werden in c:\inetpub\wwwroot\Vinyl\Config\AppSettings.config

<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
  <add key="SharedStateProvider" value="Redis"/>
  <add key="RedisConnectionString" value="YOUR_SERVER_HERE:6379"/>
  <add key="DataEncryptionKeyStorage" value="S3"/>
  <add key="DataEncryptionKeyS3BucketEndpoint" value="https://s3.amazonaws.com/YOUR_BUCKET_HERE"/>
  <add key="DataEncryptionKeyS3KeyPrefix" value="YOUR_ENVIRONMENT_NAME"/>
</appSettings>

Jede Instanz von App Builder sollte dieselbe Datei connection.xml haben.

Nachdem Sie Änderungen vorgenommen und neu gestartet haben App Builder, überprüfen Sie die Protokolle, um sicherzustellen, dass die Einstellungen korrekt übernommen werden.