Zum Inhalt springen

Verwandeln Sie Ihre Kontakte in Urlaubsgeld mit unserem neuen Kundenempfehlungsprogramm! Erfahren Sie mehr

Diese Dokumentation gilt für Version 4 und höher von App Builder, dem neuen Namen für Vinyl. Hier gelangen Sie zur Vinyl-Dokumentation.

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.

attachment

AWS-Elemente

  • S3 Bucket - so konfiguriert, dass dem App Builder Lese-/Schreibzugriff zum Erstellen und Freigeben von Sicherheitsschlüsseln gewährt wird.

  • 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 Instanzen verwendet

  • Elastic Beanstalk - Verwaltet App Builder Instanzen und bietet einen Load Balancer zum Verteilen von Clientanforderungen.

Hinweis

Obwohl ein großer Teil dieses Dokuments die Elastic Beanstalk-Bereitstellung - Dies ist weder notwendig noch erforderlich. App Builder kann auf eigenständigen EC2-Instanzen installiert und entsprechend konfiguriert werden. Es ist weiterhin eine Synchronisierung des Verschlüsselung erforderlich.#data-encryption-keys), Redis / elasticache und Anwendungsserverkonfiguration.

S3-Setup - Speichern von Verschlüsselung auf S3

Wie in Konfiguration der Verschlüsselung Der lokale Speicher der EC2-Instanz kann 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 vorangestellt.

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

App Builder wird mit einem .ebextensions Script geliefert, das die Umfeld für den DEK-Speicher registriert. Zu diesen Eigenschaften gehören:

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

App Builder startet nicht mit den Umfeld von Elastic Beanstalk. 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-Setup

Verwenden Sie ElastiCache, um die Kommunikation zwischen App Builder Servern zu erleichtern. Ein kleiner Knoten ohne Replikate oder Shards ist ausreichend.

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

attachment

Datenbank-Setup

Die Datenbankeinrichtung ist nicht Gegenstand dieses Dokuments. Jitterbit stellt auf Wunsch Anweisungen zur RDS-Einrichtung bereit.

Elastic Beanstalk-Einrichtung

Amazon ändert seine Benutzeroberfläche regelmäßig. Diese Screenshots und der Ablauf entsprechen dem Stand vom November 2016.

Erstellen Sie die Umfeld:

Anhang

Wählen Sie "Webserver erstellen"

attachment

Wählen Sie IIS aus.

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

b99af9bd51cfb07763abfab284721db0

Wählen Sie die entsprechende Anwendungsversion aus.

attachment

Geben Sie den Umfeld ein. Dieser wird Teil einer URL, über die diese Umfeld erreicht 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

Zusammenfassung lesen:

attachment

Berechtigungen

attachment

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 zu dem Bucket, den Sie in Schritt 1 eingerichtet haben

    3. DataEncryption:S3KeyPrefix zum Elastic Beanstalk Umfeld.

    4. Datenverschlüsselung:S3KeyPrefix

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

    6. SharedState:Provider

Nach diesen Schritten gelangen Sie zur App Builder Seite. 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. Dank der Unterstützung von Reverse-Proxys kann App Builder dieses Szenario erkennen und verarbeiten. App Builder erkennt drei Umfeld, die beim Bereitstellen der Elastic Beanstalk-Instanz definiert werden. Diese Umfeld sind skriptbasiert und müssen nicht selbst konfiguriert werden.

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 aus.

  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.

attachment

Nicht-Beanstalk-Anwendungsserverkonfiguration

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

Sie müssen die folgenden Änderungen an einer Standard App Builder-Einrichtung vornehmen - diese Einstellungen sollten auf jede Instanz von App Builder angewendet werden:

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 über dieselbe Datei connection.xml verfügen.

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