

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.

# Erste Schritte mit Null-ETL-Integrationen von Amazon RDS
<a name="zero-etl.setting-up"></a>

Bevor Sie eine Null-ETL-Integration erstellen, konfigurieren Sie Ihre RDS-Datenbank und Ihr Data Warehouse mit den erforderlichen Parametern und Berechtigungen. Während der Einrichtung führen Sie die folgenden Schritte aus:

1. [Erstellen einer benutzerdefinierten DB--Parametergruppe.](#zero-etl.parameters)

1. [Erstellen Sie eine Quelldatenbank](#zero-etl.create-cluster).

1. [Erstellen Sie ein Ziel-Data Warehouse für Amazon Redshift](#zero-etl-setting-up.data-warehouse) oder [Erstellen Sie ein Ziel-Amazon SageMaker Lakehouse](#zero-etl-setting-up.sagemaker).

Wenn Sie diese Aufgaben abgeschlossen haben, fahren Sie mit [Erstellen von Null-ETL-Integrationen von Amazon RDS mit Amazon Redshift](zero-etl.creating.md) oder [Erstellen von Null-ETL-Integrationen von Amazon RDS mit einem Amazon SageMaker-Lakehouse](zero-etl.creating-smlh.md) fort.

**Tipp**  
Sie können RDS diese Einrichtungsschritte für Sie ausführen lassen, während Sie die Integration erstellen, anstatt sie manuell durchzuführen. Um sofort mit der Erstellung einer Integration zu beginnen, siehe [Erstellen von Null-ETL-Integrationen von Amazon RDS mit Amazon Redshift](zero-etl.creating.md).

In Schritt 3 können Sie je nach Ihren Anforderungen entweder ein Ziel-Data-Warehouse (Schritt 3a) oder ein Ziel-Lakehouse (Schritt 3b) erstellen:
+ Entscheiden Sie sich für ein Data Warehouse, wenn Sie herkömmliche Data-Warehousing-Funktionen mit SQL-basierten Analysen benötigen.
+ Entscheiden Sie sich für Amazon SageMaker Lakehouse, wenn Sie Funktionen für maschinelles Lernen benötigen und Lakehouse-Funktionen für Data-Science- und ML-Workflows verwenden möchten.

## Schritt 1: Erstellen einer benutzerdefinierten DB--Parametergruppe
<a name="zero-etl.parameters"></a>

Null-ETL-Integrationen von Amazon RDS erfordern bestimmte Werte für die DB-Parameter, die die Datenreplikation steuern. Die konkreten Parameter hängen von Ihrer Quell-DB-Engine ab. Um diese Parameter zu konfigurieren, müssen Sie zunächst eine benutzerdefinierte DB-Parametergruppe erstellen und sie dann mit der Quelldatenbank verknüpfen. Konfigurieren Sie die folgenden Parameterwerte je nach Ihrer Quell-DB-Engine. Anleitungen zum Erstellen einer Parametergruppe finden Sie unter [DB-Parametergruppen für DB-Instances von Amazon RDS](USER_WorkingWithDBInstanceParamGroups.md). Wir empfehlen, alle Parameterwerte innerhalb derselben Anfrage zu konfigurieren, um Abhängigkeitsprobleme zu vermeiden.

**RDS für MySQL**
+ `binlog_format=ROW`
+ `binlog_row_image=full`

Stellen Sie außerdem sicher, dass der `binlog_row_value_options`-Parameter *nicht* auf `PARTIAL_JSON` gesetzt ist. Wenn die Quelldatenbank ein Multi-AZ-DB-Cluster ist, stellen Sie sicher, dass der Parameter `binlog_transaction_compression` *nicht* auf `ON` festgelegt ist.

Einige dieser Parameter (z. B. `binlog_format`) sind dynamisch, was bedeutet, dass Sie Änderungen am Parameter vornehmen können, ohne einen Neustart auszulösen. Dies bedeutet, dass einige bestehende Sitzungen möglicherweise weiterhin den alten Wert des Parameters verwenden. Um zu verhindern, dass dies zu Problemen bei der Erstellung einer Null-ETL-Integration führt, aktivieren Sie das [Leistungsschema](USER_PerfInsights.EnableMySQL.md). Das Leistungsschema stellt sicher, dass Null-ETL-Vorabprüfungen ausgeführt werden, mit deren Hilfe fehlende Parameter frühzeitig im Prozess erkannt werden können.

**RDS für PostgreSQL**:
+ `rds.logical_replication = 1`
+ `rds.replica_identity_full = 1`
+ `session_replication_role = origin`
+ `wal_sender_timeout ≥ 20000 or = 0`
+ `max_wal_senders ≥ 20`
+ `max_replication_slots ≥ 20`

Bei mehreren PostgreSQL-Integrationen wird pro Integration ein logischer Replikationsslot verwendet. Überprüfen Sie die Parameter `max_replication_slots` und `max_wal_senders` je nach Nutzung.

Für eine effiziente Datensynchronisierung in Null-ETL-Integrationen legen Sie `rds.replica_identity_full` in Ihrer Quell-DB-Instance fest. Dadurch wird die Datenbank angewiesen, während der `UPDATE`- und `DELETE`-Operationen [vollständige Zeilendaten](https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-REPLICA-IDENTITY) im Write-Ahead-Protokoll (WAL) zu protokollieren, nicht nur Primärschlüsselinformationen. Null-ETL benötigt vollständige Zeilendaten, auch wenn für alle replizierten Tabellen Primärschlüssel erforderlich sind. Um festzustellen, welche Daten bei Abfragen sichtbar sind, verwendet Amazon Redshift eine spezielle Anti-Join-Strategie, um Ihre Daten zur Nachverfolgung von Löschvorgängen mit einer internen Tabelle zu vergleichen. Durch das Protokollieren vollständiger Zeilenbilder kann Amazon Redshift diese Anti-Joins effizient durchführen. Ohne vollständige Zeilendaten müsste Amazon Redshift zusätzliche Suchvorgänge durchführen, was die Leistung bei Vorgängen mit hohem Durchsatz in der von Amazon Redshift verwendeten Spalten-Engine beeinträchtigen könnte.

**Wichtig**  
Wenn Sie die Replikatidentität so einrichten, dass ganze Zeilen protokolliert werden, [erhöht sich Ihr WAL-Volumen](https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-WAL-LEVEL), was zu einer höheren Schreibverstärkung und I/O -nutzung führen kann, insbesondere bei breiten Tabellen oder häufigen Aktualisierungen. Um auf diese Auswirkungen vorbereitet zu sein, sollten Sie Ihre Speicherkapazität und I/O Anforderungen planen, Ihr WAL-Wachstum überwachen und die Verzögerung bei der Replikation bei schreibintensiven Workloads verfolgen.

**RDS für Oracle**

Bei RDS für Oracle sind keine Parameteränderungen erforderlich.

## Schritt 2: Wählen oder Erstellen einer Quelldatenbank
<a name="zero-etl.create-cluster"></a>

Nachdem Sie eine benutzerdefinierte DB-Parametergruppe erstellt haben, wählen oder erstellen Sie eine DB-Instance von RDS für MySQL . Diese Datenbank dient als Quelle der Datenreplikation in das Ziel-Data-Warehouse. Anleitungen zum Erstellen einer DB-Instance mit Single-AZ oder Multi-AZ finden Sie unter [Erstellen einer Amazon-RDS-DB-Instance](USER_CreateDBInstance.md). Anweisungen zum Erstellen eines Multi-AZ-DB-Clusters (nur RDS für MySQL) finden Sie unter[Erstellen eines Multi-AZ-DB-Clusters für Amazon RDS](create-multi-az-db-cluster.md). 

In der Datenbank muss eine unterstützte DB-Engine-Version ausgeführt werden. Eine Liste der unterstützten Versionen finden Sie unter [Unterstützte Regionen und DB-Engines für Amazon-RDS-Null-ETL-Integrationen](Concepts.RDS_Fea_Regions_DB-eng.Feature.ZeroETL.md).

Wenn Sie die Datenbank erstellen, ändern Sie unter **Zusätzliche Konfiguration** die Standard-**DB--Parametergruppe** in die benutzerdefinierte Parametergruppe, die Sie im vorherigen Schritt erstellt haben.

**Anmerkung**  
Wenn Sie die Parametergruppe mit der Datenbank verknüpfen, *nachdem* die Datenbank bereits erstellt wurde, müssen Sie die Datenbank neu starten, damit die Änderungen angewendet werden, bevor Sie eine Null-ETL-Integration erstellen können. Anleitungen finden Sie unter [Eine DB-Instance DB-Cluster neu starten](USER_RebootInstance.md) oder [Neustarten von Multi-AZ-DB-Clustern und Reader-DB-Instances für Amazon RDS](multi-az-db-clusters-concepts-rebooting.md).

Stellen Sie außerdem sicher, dass automatisierte Backups in der Datenbank aktiviert sind. Weitere Informationen finden Sie unter [Aktivieren von automatisierten Backups](USER_WorkingWithAutomatedBackups.Enabling.md).

## Schritt 3a: Erstellen eines Ziel-Data-Warehouse
<a name="zero-etl-setting-up.data-warehouse"></a>

Nachdem Sie die Quelldatenbank erstellt haben, müssen Sie ein Ziel-Data-Warehouse erstellen und konfigurieren. Das Data Warehouse muss die folgenden Anforderungen erfüllen:
+ Verwendung eines RA3 Knotentyps mit mindestens zwei Knoten oder Redshift Serverless.
+ Es muss verschlüsselt sein (bei Verwendung eines bereitgestellten Clusters). Weitere Informationen finden Sie unter [Datenbankverschlüsselung in Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html).

Anweisungen zum Erstellen eines Data Warehouse finden Sie unter [Erstellen eines Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/create-cluster) für bereitgestellte Cluster oder [Erstellen einer Arbeitsgruppe mit einem Namespace](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-console-workgroups-create-workgroup-wizard.html) für Redshift Serverless.

### Aktivieren Sie die Berücksichtigung von Groß- und Kleinschreibung im Data Warehouse
<a name="zero-etl-setting-up.case-sensitivity"></a>

Damit die Integration erfolgreich ist, muss der Parameter für die Berücksichtigung von Groß- und Kleinschreibung ([https://docs.aws.amazon.com/redshift/latest/dg/r_enable_case_sensitive_identifier.html](https://docs.aws.amazon.com/redshift/latest/dg/r_enable_case_sensitive_identifier.html)) für das Data Warehouse aktiviert sein. Standardmäßig ist die Berücksichtigung von Groß- und Kleinschreibung auf allen bereitgestellten Clustern und Redshift-Serverless-Arbeitsgruppen deaktiviert.

Um die Berücksichtigung von Groß- und Kleinschreibung zu aktivieren, führen Sie je nach Data-Warehouse-Typ die folgenden Schritte aus:
+ **Bereitgestellter Cluster** – Um die Berücksichtigung von Groß- und Kleinschreibung in einem bereitgestellten Cluster zu aktivieren, erstellen Sie eine benutzerdefinierte Parametergruppe mit aktiviertem `enable_case_sensitive_identifier`-Parameter. Ordnen Sie diese Parametergruppe dann dem Cluster zu. Anweisungen finden Sie unter [Verwalten von Parametergruppen mit der Konsole](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-parameter-groups-console.html) oder [Konfigurieren von Parameterwerten mit der AWS CLI](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html#configure-parameters-using-the-clil). 
**Anmerkung**  
Denken Sie daran, den Cluster neu zu starten, nachdem Sie ihm die benutzerdefinierte Parametergruppe zugeordnet haben.
+ **Serverless-Arbeitsgruppe** – Um die Berücksichtigung von Groß- und Kleinschreibung in einer Redshift-Serverless-Arbeitsgruppe zu aktivieren, müssen Sie die AWS CLI verwenden. Die Amazon-Redshift-Konsole unterstützt derzeit nicht das Ändern von Redshift-Serverless-Parameterwerten. Senden Sie die folgende [update-workgroup](https://docs.aws.amazon.com/cli/latest/reference/redshift-serverless/update-workgroup.html)-Anfrage:

  ```
  aws redshift-serverless update-workgroup \
    --workgroup-name target-workgroup \
    --config-parameters parameterKey=enable_case_sensitive_identifier,parameterValue=true
  ```

  Sie müssen eine Arbeitsgruppe nicht neu starten, nachdem Sie ihre Parameterwerte geändert haben.

### Konfigurieren der Autorisierung für das Data Warehouse
<a name="zero-etl.setup-auth"></a>

Nachdem Sie ein Data Warehouse erstellt haben, müssen Sie die RDS-Quelldatenbank als autorisierte Integrationsquelle konfigurieren. Anleitungen finden Sie unter [Konfigurieren der Autorisierung für Ihr Amazon-Redshift-Data-Warehouse](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-using.setting-up.html#zero-etl-using.redshift-iam).

## Richten Sie eine Integration mit dem ein AWS SDKs
<a name="zero-etl.setup-sdk"></a>

Anstatt jede Ressource manuell einzurichten, können Sie das folgende Python-Skript ausführen, um die erforderlichen Ressourcen automatisch einzurichten. Das Codebeispiel verwendet das [AWS SDK für Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html), um eine DB-Instance von RDS für MySQL und ein Ziel-Data-Warehouse zu erstellen, jeweils mit den erforderlichen Parameterwerten. Dann wird abgewartet, bis die Datenbanken verfügbar sind, bevor eine Null-ETL-Integration zwischen ihnen erstellt wird. Sie können verschiedene Funktionen auskommentieren, je nachdem, welche Ressourcen Sie einrichten müssen. 

Führen Sie die folgenden Befehle aus, um die erforderlichen Abhängigkeiten zu installieren:

```
pip install boto3
pip install time
```

Innerhalb des Skripts können Sie optional die Namen der Quell-, Ziel- und Parametergruppen ändern. Die letzte Funktion erstellt eine Integration namens `my-integration` nach der Einrichtung der Ressourcen.

### Python-Codebeispiel
<a name="zero-etl.setup-sdk-python"></a>

```
import boto3
import time

# Build the client using the default credential configuration.
# You can use the CLI and run 'aws configure' to set access key, secret
# key, and default Region.

rds = boto3.client('rds')
redshift = boto3.client('redshift')
sts = boto3.client('sts')

source_db_name = 'my-source-db' # A name for the source database
source_param_group_name = 'my-source-param-group' # A name for the source parameter group
target_cluster_name = 'my-target-cluster' # A name for the target cluster
target_param_group_name = 'my-target-param-group' # A name for the target parameter group

def create_source_db(*args):
    """Creates a source RDS for MySQL DB instance"""

    response = rds.create_db_parameter_group(
        DBParameterGroupName=source_param_group_name,
        DBParameterGroupFamily='mysql8.0',
        Description='RDS for MySQL zero-ETL integrations'
    )
    print('Created source parameter group: ' + response['DBParameterGroup']['DBParameterGroupName'])

    response = rds.modify_db_parameter_group(
        DBParameterGroupName=source_param_group_name,
        Parameters=[
            {
                'ParameterName': 'binlog_format',
                'ParameterValue': 'ROW',
                'ApplyMethod': 'pending-reboot'
            },
            {
                'ParameterName': 'binlog_row_image',
                'ParameterValue': 'full',
                'ApplyMethod': 'pending-reboot'
            }
        ]
    )
    print('Modified source parameter group: ' + response['DBParameterGroupName'])

    response = rds.create_db_instance(
        DBInstanceIdentifier=source_db_name,
        DBParameterGroupName=source_param_group_name,
        Engine='mysql',
        EngineVersion='8.0.32',
        DBName='mydb',
        DBInstanceClass='db.m5.large',
        AllocatedStorage=15,
        MasterUsername='username',
        MasterUserPassword='Password01**'
    )
    print('Creating source database: ' + response['DBInstance']['DBInstanceIdentifier'])
    source_arn = (response['DBInstance']['DBInstanceArn'])
    create_target_cluster(target_cluster_name, source_arn, target_param_group_name)
    return(response)

def create_target_cluster(target_cluster_name, source_arn, target_param_group_name):
    """Creates a target Redshift cluster"""

    response = redshift.create_cluster_parameter_group(
        ParameterGroupName=target_param_group_name,
        ParameterGroupFamily='redshift-1.0',
        Description='RDS for MySQL zero-ETL integrations'
    )
    print('Created target parameter group: ' + response['ClusterParameterGroup']['ParameterGroupName'])

    response = redshift.modify_cluster_parameter_group(
        ParameterGroupName=target_param_group_name,
        Parameters=[
            {
                'ParameterName': 'enable_case_sensitive_identifier',
                'ParameterValue': 'true'
            }
        ]
    )
    print('Modified target parameter group: ' + response['ParameterGroupName'])

    response = redshift.create_cluster(
        ClusterIdentifier=target_cluster_name,
        NodeType='ra3.4xlarge',
        NumberOfNodes=2,
        Encrypted=True,
        MasterUsername='username',
        MasterUserPassword='Password01**',
        ClusterParameterGroupName=target_param_group_name
    )
    print('Creating target cluster: ' + response['Cluster']['ClusterIdentifier'])
    
    # Retrieve the target cluster ARN
    response = redshift.describe_clusters(
        ClusterIdentifier=target_cluster_name
    )
    target_arn = response['Clusters'][0]['ClusterNamespaceArn']

    # Retrieve the current user's account ID
    response = sts.get_caller_identity()
    account_id = response['Account']

    # Create a resource policy granting access to source database and account ID
    response = redshift.put_resource_policy(
        ResourceArn=target_arn,
        Policy='''
        {
            \"Version\":\"2012-10-17\",		 	 	 
            \"Statement\":[
                {\"Effect\":\"Allow\",
                \"Principal\":{
                    \"Service\":\"redshift.amazonaws.com\"
                },
                \"Action\":[\"redshift:AuthorizeInboundIntegration\"],
                \"Condition\":{
                    \"StringEquals\":{
                        \"aws:SourceArn\":\"%s\"}
                    }
                },
                {\"Effect\":\"Allow\",
                \"Principal\":{
                    \"AWS\":\"arn:aws:iam::%s:root\"},
                \"Action\":\"redshift:CreateInboundIntegration\"}
            ]
        }
        ''' % (source_arn, account_id)
    )
    return(response)

def wait_for_db_availability(*args):
    """Waits for both databases to be available"""

    print('Waiting for source and target to be available...')

    response = rds.describe_db_instances(
        DBInstanceIdentifier=source_db_name
    )
    source_status = response['DBInstances'][0]['DBInstanceStatus']
    source_arn = response['DBInstances'][0]['DBInstanceArn']

    response = redshift.describe_clusters(
        ClusterIdentifier=target_cluster_name
    )
    target_status = response['Clusters'][0]['ClusterStatus']
    target_arn = response['Clusters'][0]['ClusterNamespaceArn']

    # Every 60 seconds, check whether the databases are available
    if source_status != 'available' or target_status != 'available':
        time.sleep(60)
        response = wait_for_db_availability(
            source_db_name, target_cluster_name)
    else:
        print('Databases available. Ready to create zero-ETL integration.')
        create_integration(source_arn, target_arn)
        return

def create_integration(source_arn, target_arn):
    """Creates a zero-ETL integration using the source and target databases"""

    response = rds.create_integration(
        SourceArn=source_arn,
        TargetArn=target_arn,
        IntegrationName='my-integration'
    )
    print('Creating integration: ' + response['IntegrationName'])
    
def main():
    """main function"""
    create_source_db(source_db_name, source_param_group_name)
    wait_for_db_availability(source_db_name, target_cluster_name)

if __name__ == "__main__":
    main()
```

## Schritt 3b: Erstellen Sie einen AWS Glue Katalog für die Amazon SageMaker Lakehouse Zero-ETL-Integration
<a name="zero-etl-setting-up.sagemaker"></a>

Wenn Sie eine Zero-ETL-Integration mit einem Amazon SageMaker Lakehouse erstellen, müssen Sie einen AWS Glue verwalteten Katalog in erstellen. AWS Lake Formation Der Zielkatalog muss ein von Amazon Redshift verwalteter Katalog sein. Um einen von Amazon Redshift verwalteten Katalog zu erstellen, erstellen Sie zunächst die serviceverknüpfte Rolle `AWSServiceRoleForRedshift`. Fügen Sie in der Lake-Formation-Konsole `AWSServiceRoleForRedshift` als Administrator mit Leseberechtigung hinzu.

Weitere Informationen zu den oben genannten Aufgaben finden Sie in den folgenden Themen.
+ Informationen zum Erstellen eines von Amazon Redshift verwalteten Katalogs finden Sie unter [Creating an Amazon Redshift managed catalog in the AWS Glue Data Catalog](https://docs.aws.amazon.com/lake-formation/latest/dg/create-rms-catalog.html) im *AWS Lake Formation -Entwicklerhandbuch*.
+ Informationen zur serviceverknüpften Rolle für Amazon Redshift finden Sie unter [Verwenden serviceverknüpfter Rollen für Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/using-service-linked-roles.html) im *Amazon-Redshift-Verwaltungshandbuch*.
+ Informationen zu Leseberechtigungen für Administratoren für Lake Formation finden Sie unter [Lake Formation personas and IAM permissions reference](https://docs.aws.amazon.com/lake-formation/latest/dg/permissions-reference.html) im *AWS Lake Formation -Entwicklerhandbuch*.

### Konfigurieren Sie die Berechtigungen für den Zielkatalog AWS Glue
<a name="zero-etl-setting-up.sagemaker-permissions"></a>

Bevor Sie einen Zielkatalog für die Zero-ETL-Integration erstellen, müssen Sie die Lake Formation Formation-Zielerstellungsrolle und die AWS Glue Datenübertragungsrolle erstellen. Verwenden Sie die Lake-Formation-Zielerstellungsrolle, um den Zielkatalog zu erstellen. Geben Sie bei der Erstellung des Zielkatalogs die Glue-Datenübertragungsrolle in das Feld **IAM-Rolle** im **Abschnitt „Zugriff von Engines“** ein.

#### Lake-Formation-Zielerstellungsrolle
<a name="zero-etl-setting-up.target-creation-role"></a>

Die Zielerstellungsrolle muss ein Lake-Formation-Administrator sein. Sie erfordert die folgenden Berechtigungen.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "lakeformation:RegisterResource",
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "s3:PutEncryptionConfiguration",
                "iam:PassRole",
                "glue:CreateCatalog",
                "glue:GetCatalog",
                "s3:PutBucketTagging",
                "s3:PutLifecycleConfiguration",
                "s3:PutBucketPolicy",
                "s3:CreateBucket",
                "redshift-serverless:CreateNamespace",
                "s3:DeleteBucket",
                "s3:PutBucketVersioning",
                "redshift-serverless:CreateWorkgroup"
            ],
            "Resource": [
                "arn:aws:glue:*:111122223333:catalog",
                "arn:aws:glue:*:111122223333:catalog/*",
                "arn:aws:s3:::*",
                "arn:aws:redshift-serverless:*:111122223333:workgroup/*",
                "arn:aws:redshift-serverless:*:111122223333:namespace/*",
                "arn:aws:iam::111122223333:role/GlueDataCatalogDataTransferRole"
            ]
        }
    ]
}
```

------

Die Zielerstellungsrolle muss die folgende Vertrauensstellung aufweisen.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "glue.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        },
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::111122223333:user/Username"
          },
          "Action": "sts:AssumeRole"
        }
    ]
}
```

------

#### Glue-Datenübertragungsrolle
<a name="zero-etl-setting-up.glue-data-transfer-role"></a>

Die Glue-Datenübertragungsrolle ist für MySQL-Katalogoperationen erforderlich und muss über die folgenden Berechtigungen verfügen.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DataTransferRolePolicy",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt",
                "glue:GetCatalog",
                "glue:GetDatabase"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

Die Glue-Datenübertragungsrolle muss die folgende Vertrauensstellung aufweisen.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "glue.amazonaws.com",
                    "redshift.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

## Nächste Schritte
<a name="zero-etl.setup-next"></a>

Mit einem für die Quell-RDS-Datenbank und entweder einem Amazon Redshift Redshift-Ziel-Data Warehouse oder Amazon SageMaker Lakehouse können Sie eine Zero-ETL-Integration erstellen und Daten replizieren. Detaillierte Anweisungen finden Sie unter [Erstellen von Null-ETL-Integrationen von Amazon RDS mit Amazon Redshift](zero-etl.creating.md).