Skip to main content
Diese Anleitung beschreibt die Schritte, die zur Einrichtung der Kameleoon-Integration mit Amazon Redshift erforderlich sind. Sie müssen die Einrichtung sowohl in der Kameleoon-Benutzeroberfläche als auch in Ihrem AWS-Konto abschließen. Möglicherweise müssen Sie einige dieser Aktionen an Ihre spezifische AWS-Umgebung anpassen. In jedem Fall sollte Ihr AWS-Kontoadministrator diese Schritte durchführen.

Schritt 1: AWS-IAM-Benutzer und -Rolle erstellen

Sie müssen einen IAM-Benutzer und eine IAM-Rolle erstellen, die Kameleoon für den Zugriff auf Ihren Redshift-Cluster verwenden wird. Sie können diese in der AWS Management Console oder in der AWS CLI erstellen. Kameleoon stellt Beispielbefehle für die AWS CLI bereit.

1. Einen IAM-Benutzer erstellen

Verwenden Sie den folgenden Befehl, um einen dedizierten IAM-Benutzer für Kameleoon zu erstellen: aws iam create-user --user-name kameleoon_user Generieren Sie als Nächstes einen Access Key für den kameleoon_user: aws iam create-access-key --user-name kameleoon_user Achten Sie darauf, die Felder AccessKeyId und SecretAccessKey aus dem von diesem Befehl zurückgegebenen JSON zu behalten, da Sie diese Kameleoon bei der Einrichtung in der Kameleoon-Benutzeroberfläche bereitstellen müssen.

2. Eine IAM-Rolle erstellen

Erstellen Sie eine Rolle, die Kameleoon übernehmen kann, damit es mit Ihrem Redshift-Cluster interagieren kann. Verwenden Sie den folgenden Befehl, um die Rolle mit einer Inline-JSON-Trust-Policy zu erstellen:
Ersetzen Sie {account_id} durch Ihre AWS-Konto-ID. Wenn Sie Redshift als Quelle verwenden, können Sie s3.amazonaws.com weglassen. Wenn Sie Provisioned verwenden, können Sie redshift-serverless.amazonaws.com weglassen.

Für Amazon Redshift als Ziel — S3 Redshift-Zugriffsrechte einer IAM-Rolle gewähren

Erstellen und hängen Sie eine S3-Rolle an, damit Kameleoon mit dem S3-Bucket Ihrer Wahl interagieren und Daten von S3 nach Redshift kopieren kann.
Ersetzen Sie {s3_bucket_name}, {aws_region} und {account_id} durch Ihre Daten. Alternativ verwenden Sie die vorhandenen Richtlinien AmazonS3FullAccess und AmazonRedshiftFullAccess.

Schritt 2: Berechtigungen für die Kameleoon-Rolle erteilen

Erteilen Sie der mit Kameleoon verknüpften IAM-Rolle die erforderlichen Berechtigungen, um die Interaktion mit Ihrer Redshift-Datenbank zu ermöglichen. Erteilen Sie Berechtigungen auf SQL-Benutzerebene über SQL-Befehle. AWS benennt den standardmäßigen SQL-Benutzer, der für eine IAM-Rolle erstellt wird, IAMR:{role_name}. Wenn Sie die Rolle also kameleoon_role nennen, werden diese Befehle für den SQL-Benutzer IAMR:kameleoon_role ausgeführt.

Für Amazon Redshift als Quelle

1. Zugriff auf vorhandenes Schema gewähren

Gewähren Sie der Kameleoon IAM-Rolle Zugriff auf das relevante Schema und die Tabellen in Ihrer Redshift-Datenbank. Wenn Sie beispielsweise möchten, dass Kameleoon Daten aus Ihrer „users”-Tabelle im Schema schema_containing_data importiert, führen Sie die folgenden SQL-Befehle aus:

2. Kameleoon-Konfigurationsschema erstellen

Erstellen Sie ein neues Schema für Kameleoon-Konfigurationen und erteilen Sie die erforderlichen Berechtigungen:

3. DML-Berechtigungen im Kameleoon-Konfigurationsschema erteilen

Erteilen Sie der Kameleoon-Rolle Berechtigungen zum Einfügen, Aktualisieren und Löschen von Daten im Schema kameleoon_configuration:

4. Standardberechtigungen für zukünftige Tabellen festlegen

Stellen Sie sicher, dass alle zukünftigen Tabellen, die im Schema kameleoon_configuration erstellt werden, der Kameleoon-Rolle automatisch die erforderlichen Berechtigungen erteilen:

Für Amazon Redshift als Ziel

1. Kameleoon-Ereignisschema erstellen

Erstellen Sie ein neues Schema für Kameleoon-Ereignisse und erteilen Sie die erforderlichen Berechtigungen:

2. DML-Berechtigungen für das Kameleoon-Ereignisschema erteilen

Erteilen Sie der Kameleoon-Rolle Berechtigungen zum Einfügen, Aktualisieren und Löschen von Daten im Schema kameleoon_events:

3. Standardberechtigungen für zukünftige Tabellen festlegen

Stellen Sie sicher, dass alle zukünftigen Tabellen, die im Schema kameleoon_events erstellt werden, der Kameleoon-Rolle automatisch die erforderlichen Berechtigungen erteilen:

Schritt 3: Aktivieren und Konfigurieren der Integration in der Kameleoon-Benutzeroberfläche

Gehen Sie in Ihrem Kameleoon-Konto zur Seite Integrations und suchen Sie Amazon Redshift in der Liste.
Klicken Sie auf Install the tool und füllen Sie die folgenden Felder aus, um Kameleoon Zugangsdaten zu Ihrem Redshift-Cluster zu geben, nachdem Sie zunächst aus der links angezeigten Liste das Projekt ausgewählt haben, für das Sie diesen Zugriff konfigurieren möchten.
Die erforderlichen Felder sind:
  • AWS Account ID: die eindeutige numerische Kennung Ihres Amazon Web Services-Kontos
  • AWS Role name: der Name der AWS IAM-Rolle, die Sie für Kameleoon gemäß den Anweisungen in den vorherigen Abschnitten erstellt haben
  • AWS Access key ID und Secret access key ID: AWS stellt diese beiden Felder bereit, wenn Sie Anmeldedaten für die AWS-Rolle erstellen. Wenn Sie die AWS-Befehlszeilenschnittstelle zum Erstellen dieses Schlüssels verwendet haben, wie in Schritt 1 dieses Artikels beschrieben, haben Sie diese beiden Werte in der JSON-Antwort auf diesen Befehl erhalten.
Klicken Sie auf Confirm. Kameleoon lädt Ihre Anmeldeinformationen für das Projekt hoch. Unten gibt es eine ADVANCED SETUP-Vorschau, die die IP-Adressen enthält, die Kameleoon verwendet, um eine Verbindung zu Ihrem Warehouse herzustellen. Viele Organisationen filtern, welche IP-Adressen sich mit ihrem Warehouse verbinden dürfen. Falls dies der Fall ist, können Sie diese IPs von Ihrem AWS-Konto aus mit den folgenden Schritten autorisieren.

Schritt 4: Sicherheitsgruppe für Redshift konfigurieren

Um Kameleoon den Zugriff auf Ihren Redshift-Cluster zu ermöglichen, autorisieren Sie Abfragen von den IP-Adressen von Kameleoon in Ihrer Sicherheitsgruppe. Sie können diese IP-Adressen in der AWS-Konsole autorisieren:
  1. Sicherheitsgruppe identifizieren: Sie können die Sicherheitsgruppe, die Ihrem Redshift-Cluster zugeordnet ist, im Redshift-Dashboard einsehen, und Sie können von dort aus auf die Konfigurationsseite dieser Sicherheitsgruppe zugreifen. Wenn Sie Redshift Serverless verwenden, suchen Sie die Sicherheitsgruppe Ihres Workgroups.
  2. Eingehende Regeln hinzufügen
    • Navigieren Sie zum Tab Inbound Rules.
    • Klicken Sie auf Edit inbound rules > Add rule.
    • Setzen Sie die folgenden Parameter:
      • Type: Custom TCP rule
      • Port range: 5439 (Standard-Redshift-Port)
      • Source: Custom (fügen Sie die Kameleoon-IP-Adressen hinzu, die im Abschnitt zur Redshift-Integration in der Kameleoon-Benutzeroberfläche angezeigt werden)

Schritt 5: Workgroup-VPC für externe Verbindungen öffnen

Konfigurieren Sie das mit Ihrem Redshift-Cluster verknüpfte VPC so, dass es externe Verbindungen zulässt. Zur Vereinfachung können Sie das VPC öffentlich zugänglich machen und sich ausschließlich auf die Sicherheitsgruppen-Einstellungen verlassen. Ein sichererer Ansatz besteht darin, die Network Access Control List Ihres VPC-Subnetzes fein abzustimmen. Ändern Sie hierzu die VPC-Einstellungen in Ihrer AWS-Konsole wie folgt:
  1. Zugriff auf VPC-Einstellungen: Gehen Sie zum VPC-Dashboard in der AWS Management Console.
  2. Netzwerk-ACLs ändern:
    • Navigieren Sie zum Abschnitt Network ACLs.
    • Suchen Sie die mit Ihrem VPC verknüpfte ACL.
    • Ändern Sie die eingehenden und ausgehenden Regeln, um den Datenverkehr von den IP-Adressen von Kameleoon auf Port 5439 zuzulassen.
  3. Routentabellen aktualisieren: Stellen Sie sicher, dass die mit Ihrem VPC verknüpften Routentabellen korrekt konfiguriert sind, um den Datenverkehr zu Ihrem Redshift-Cluster zu leiten.