

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Prasyarat untuk menyiapkan integrasi nol-ETL
<a name="zero-etl-prerequisites"></a>

Menyiapkan integrasi antara sumber dan target memerlukan beberapa prasyarat seperti mengkonfigurasi peran IAM yang AWS Glue digunakan untuk mengakses data dari sumber dan menulis ke target, dan penggunaan kunci KMS untuk mengenkripsi data di lokasi perantara atau target.

**Topics**
+ [Menyiapkan sumber daya sumber](#zero-etl-setup-source-resources)
+ [Menyiapkan sumber daya target](#zero-etl-setup-target-resources)
+ [Membuat gudang data Amazon Redshift](#zero-etl-setup-target-redshift-data-warehouse)
+ [Menyiapkan VPC untuk integrasi nol-ETL Anda](#zero-etl-setup-vpc)
+ [Menyiapkan integrasi lintas akun nol-ETL](#zero-etl-setup-cross-account-integration)

## Menyiapkan sumber daya sumber
<a name="zero-etl-setup-source-resources"></a>

Lakukan tugas penyiapan berikut seperti yang diperlukan untuk sumber Anda.

### Menyiapkan peran sumber
<a name="zero-etl-setup-source-role"></a>

Bagian ini menjelaskan bagaimana Anda meneruskan peran sumber untuk memungkinkan integrasi nol-ETL mengakses koneksi Anda. Ini juga hanya berlaku untuk sumber SaaS.

**catatan**  
Untuk membatasi akses ke hanya beberapa koneksi, Anda dapat terlebih dahulu membuat koneksi untuk mendapatkan koneksi ARN. Lihat [Mengkonfigurasi sumber untuk integrasi nol-ETL](zero-etl-sources.md).

Buat peran yang memiliki izin untuk integrasi untuk mengakses koneksi:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GlueConnections",
            "Effect": "Allow",
            "Action": [
                "glue:GetConnections",
                "glue:GetConnection"
            ],
            "Resource": [
							"arn:aws:glue:*:111122223333:catalog",
							"arn:aws:glue:us-east-1:111122223333:connection/*"
            ]
        },
        {
            "Sid": "GlueActionBasedPermissions",
            "Effect": "Allow",
            "Action": [
                "glue:ListEntities",
                "glue:RefreshOAuth2Tokens"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

Kebijakan kepercayaan:

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

****  

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

------

## Menyiapkan sumber daya target
<a name="zero-etl-setup-target-resources"></a>

Lakukan tugas penyiapan berikut seperti yang diperlukan untuk Katalog AWS Glue Amazon Redshift Data atau target integrasi gudang data.

Untuk integrasi dengan target AWS Glue database:
+ [Menyiapkan AWS Glue database](#zero-etl-setup-target-resources-glue-database)
+ [Menyediakan kebijakan Resource Based Access (RBAC) katalog](#zero-etl-setup-target-resources-rbac-policy)
+ [Membuat peran IAM target](#zero-etl-setup-target-resources-target-iam-role)

Untuk integrasi dengan target Amazon Redshift datawarehouse:
+ [https://docs.aws.amazon.com/glue/latest/dg/zero-etl-prerequisites.html#zero-etl-setup-target-redshift-data-warehouse](https://docs.aws.amazon.com/glue/latest/dg/zero-etl-prerequisites.html#zero-etl-setup-target-redshift-data-warehouse)

### Menyiapkan AWS Glue database
<a name="zero-etl-setup-target-resources-glue-database"></a>

Untuk integrasi yang menggunakan AWS Glue database:

Untuk menyiapkan database target di Katalog AWS Glue Data dengan lokasi Amazon S3:

1. Di halaman beranda AWS Glue konsol, pilih **Database** di bawah Katalog Data.

1. Pilih **Tambahkan database** di pojok kanan atas. Jika Anda telah membuat database, pastikan lokasi dengan Amazon S3 URI disetel untuk database.

1. Masukkan nama dan **Lokasi** (Amazon S3 URI). Perhatikan bahwa lokasi diperlukan untuk integrasi nol-ETL. Klik **Buat database** setelah selesai.
**catatan**  
Bucket Amazon S3 harus berada di wilayah yang sama dengan database. AWS Glue 

Untuk informasi tentang membuat database baru di AWS Glue, lihat [Memulai dengan Katalog AWS Glue Data](https://docs.aws.amazon.com/glue/latest/dg/start-data-catalog.htm).

Anda juga dapat menggunakan [https://docs.aws.amazon.com/cli/latest/reference/glue/create-database.html](https://docs.aws.amazon.com/cli/latest/reference/glue/create-database.html)CLI untuk membuat database di. AWS Glue Perhatikan bahwa `LocationUri` in `--database-input` diperlukan.

#### Mengoptimalkan tabel Iceberg
<a name="zero-etl-common-setup-table-optimization"></a>

Setelah tabel dibuat oleh AWS Glue dalam database target, Anda dapat mengaktifkan pemadatan untuk mempercepat kueri di Amazon Athena. Untuk informasi tentang pengaturan sumber daya (Peran IAM) untuk pemadatan, lihat Prasyarat [pengoptimalan tabel](https://docs.aws.amazon.com/glue/latest/dg/optimization-prerequisites.html).

Untuk informasi selengkapnya tentang pengaturan pemadatan pada AWS Glue tabel yang dibuat oleh integrasi, lihat [Mengoptimalkan tabel Gunung Es](https://docs.aws.amazon.com/glue/latest/dg/table-optimizers.html).

### Menyediakan kebijakan Resource Based Access (RBAC) katalog
<a name="zero-etl-setup-target-resources-rbac-policy"></a>

Untuk integrasi yang menggunakan AWS Glue database, tambahkan izin berikut ke katalog Kebijakan RBAC untuk memungkinkan integrasi antara sumber dan target.

**catatan**  
Untuk integrasi lintas akun, kebijakan peran Alice (pengguna yang membuat integrasi) dan kebijakan sumber daya katalog perlu mengizinkan `glue:CreateInboundIntegration` sumber daya. Untuk akun yang sama, kebijakan sumber daya atau kebijakan peran yang mengizinkan `glue:CreateInboundIntegration` sumber daya sudah cukup. Kedua skenario masih perlu `glue.amazonaws.com` diizinkan`glue:AuthorizeInboundIntegration`.

Anda dapat mengakses **pengaturan Katalog** di bawah **Katalog Data**. Kemudian berikan izin berikut dan isi informasi yang hilang.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Principal": {
        "AWS": [
        	"arn:aws:iam::123456789012:user/Alice"
        ]
      },
      "Effect": "Allow",
      "Action": [
        "glue:CreateInboundIntegration"
      ],
      "Resource": [
      	"arn:aws:glue:us-east-1:111122223333:catalog",
				"arn:aws:glue:us-east-1:111122223333:database/DatabaseName"
      ],
      "Condition": {
        "StringLike": {
        "aws:SourceArn": "arn:aws:dynamodb:us-east-1:444455556666:table/<table-name>"
        }
      }
    },
    {
      "Principal": {
        "Service": [
          "glue.amazonaws.com"
        ]
      },
      "Effect": "Allow",
      "Action": [
        "glue:AuthorizeInboundIntegration"
      ],
      "Resource": [
      	"arn:aws:glue:us-east-1:111122223333:catalog",
				"arn:aws:glue:us-east-1:111122223333:database/DatabaseName"
      ],
      "Condition": {
        "StringEquals": {
        "aws:SourceArn": "arn:aws:dynamodb:us-east-1:444455556666:table/<table-name>"
        }
      }
    }
  ]
}
```

------

### Membuat peran IAM target
<a name="zero-etl-setup-target-resources-target-iam-role"></a>

Buat peran IAM target dengan izin dan hubungan kepercayaan berikut:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
            "Effect": "Allow"
        },
        {
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "glue:GetDatabase"
            ],
            "Resource": [
                "arn:aws:glue:us-east-1:111122223333:catalog",
                "arn:aws:glue:us-east-1:111122223333:database/DatabaseName"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "glue:CreateTable",
                "glue:GetTable",
                "glue:GetTables",
                "glue:DeleteTable",
                "glue:UpdateTable",
                "glue:GetTableVersion",
                "glue:GetTableVersions",
                "glue:GetResourcePolicy"
            ],
            "Resource": [
                "arn:aws:glue:us-east-1:111122223333:catalog",
                "arn:aws:glue:us-east-1:111122223333:database/DatabaseName",
                "arn:aws:glue:us-east-1:111122223333:table/DatabaseName/*"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "cloudwatch:PutMetricData"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "cloudwatch:namespace": "AWS/Glue/ZeroETL"
                }
            },
            "Effect": "Allow"
        },
        {
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
```

------

Tambahkan kebijakan kepercayaan berikut untuk mengizinkan AWS Glue layanan mengambil peran:

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

****  

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

------

## Membuat gudang data Amazon Redshift
<a name="zero-etl-setup-target-redshift-data-warehouse"></a>

Jika target integrasi nol-ETL Anda adalah gudang data Amazon Redshift, buat gudang data jika Anda belum memilikinya. Untuk membuat workgroup Amazon Redshift Tanpa Server, lihat [Membuat](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-console-workgroups-create-workgroup-wizard.html) workgroup dengan namespace. Untuk membuat klaster Amazon Redshift, lihat [Membuat](https://docs.aws.amazon.com/redshift/latest/mgmt/create-cluster.html) klaster.

 Amazon Redshift Kelompok kerja target atau cluster harus mengaktifkan `enable_case_sensitive_identifier` parameter agar integrasi berhasil. Untuk informasi selengkapnya tentang mengaktifkan sensitivitas huruf besar, lihat [Mengaktifkan sensitivitas huruf besar untuk gudang data Anda](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-setting-up.case-sensitivity.html) di panduan pengelolaan Amazon Redshift.

Setelah pengaturan Amazon Redshift workgroup atau cluster selesai, Anda perlu mengonfigurasi gudang data Anda. Lihat [Memulai integrasi nol-ETL](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-using.setting-up.html) di Panduan Amazon Redshift Manajemen untuk informasi selengkapnya.

## Menyiapkan VPC untuk integrasi nol-ETL Anda
<a name="zero-etl-setup-vpc"></a>

Untuk menyiapkan VPC untuk integrasi nol-ETL Anda:

1. Buka **VPC** > Your VPCs dan pilih Create **VPC**.

   1. Pilih **VPC dan lainnya**.

   1. Tetapkan nama VPC Anda.

   1. Atur IPv4 CIDR: 10.0.0.0/16.

   1. Atur jumlah AZ ke 1.

   1. Atur jumlah subnet publik dan pribadi menjadi 1.

   1. Setel **gateway NAT** ke None.

   1. Setel **titik akhir VPC** ke S3 Gateway.

   1. Aktifkan nama host DNS dan resolusi DNS.

1. Pergi ke **Endpoints** dan pilih **Create Endpoint**.

1. Buat titik akhir untuk layanan ini di subnet pribadi VPC Anda (gunakan grup keamanan default):

   1. com.amazonaws.us-east-1.lambda

   1. com.amazonaws.us-east-1.glue

   1. com.amazonaws.us-east-1.sts

Buat AWS Glue koneksi:

1. Buka **AWS Glue**> **Koneksi data** dan pilih **Buat koneksi**.

1. Pilih **Jaringan**.

1. Pilih VPC, Subnet (pribadi), dan Grup Keamanan default yang Anda buat.

### Menyiapkan peran target untuk VPC
<a name="zero-etl-setup-vpc-target-role"></a>

Peran target harus memiliki izin ini (selain izin lain yang diperlukan oleh ETl integrasi Nol):

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "CustomerVpc",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags",
        "ec2:DeleteTags",
        "ec2:DescribeRouteTables",
        "ec2:DescribeVpcEndpoints",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeSubnets",
        "ec2:CreateNetworkInterface",
        "ec2:DeleteNetworkInterface",
        "glue:GetConnection"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

### Menyiapkan properti sumber daya target leg
<a name="zero-etl-setup-vpc-target-leg"></a>



Jika Anda menggunakan CLI, atur properti sumber daya target leg ke AWS Glue database target yang Anda buat. Lewati peran target ARN, serta nama AWS Glue koneksi.

```
aws glue create-integration-resource-property \
--resource-arn arn:aws:glue:us-east-1:<account-id>:database/exampletarget \
--target-processing-properties '{"RoleArn" : "arn:aws:iam::<account-id>:role/example-role", "ConnectionName":"example-vpc-3"}' \
--endpoint-url https://example.amazonaws.com --region us-east-1
```

### Kemungkinan kesalahan klien
<a name="zero-etl-setup-vpc-client-errors"></a>

Berikut ini adalah kemungkinan kesalahan klien untuk integrasi yang dikonfigurasi dengan VPC.


| Pesan kesalahan | Tindakan yang diperlukan | 
| --- | --- | 
| Peran yang diberikan tidak berwenang untuk melakukan lem: GetConnection pada koneksi. Tambahkan izin ini ke kebijakan peran, lalu tunggu integrasi pulih. | Perbarui kebijakan peran | 
| Peran yang diberikan tidak berwenang untuk melakukan ec2:DescribeSubnets. Tambahkan izin ini ke kebijakan peran, lalu tunggu integrasi pulih. | Perbarui kebijakan peran | 
| Peran yang diberikan tidak berwenang untuk melakukan ec2:DescribeSecurityGroups. Tambahkan izin ini ke kebijakan peran, lalu tunggu integrasi pulih. | Perbarui kebijakan peran | 
| Peran yang diberikan tidak berwenang untuk melakukan ec2:DescribeVpcEndpoints. Tambahkan izin ini ke kebijakan peran, lalu tunggu integrasi pulih. | Perbarui kebijakan peran | 
| Peran yang diberikan tidak berwenang untuk melakukan ec2:DescribeRouteTables. Tambahkan izin ini ke kebijakan peran, lalu tunggu integrasi pulih. | Perbarui kebijakan peran | 
| Peran yang diberikan tidak berwenang untuk melakukan ec2:CreateTags. Tambahkan izin ini ke kebijakan peran, lalu tunggu integrasi pulih. | Perbarui kebijakan peran | 
| Peran yang diberikan tidak berwenang untuk melakukan ec2:CreateNetworkInterface. Tambahkan izin ini ke kebijakan peran, lalu tunggu integrasi pulih. | Perbarui kebijakan peran | 
| Subnet koneksi yang disediakan tidak berisi titik akhir S3 atau gateway NAT yang valid. Perbarui subnet, lalu tunggu integrasi pulih. | Perbarui titik akhir subnet VPC | 
| Subnet koneksi tidak ditemukan. Perbarui subnet koneksi, dan kemudian tunggu integrasi pulih. | Perbarui AWS Glue koneksi | 
| Grup keamanan koneksi tidak ditemukan. Perbarui grup keamanan koneksi, lalu tunggu integrasi pulih. | Perbarui AWS Glue koneksi | 
| Tidak dapat terhubung ke S3 melalui koneksi VPC yang disediakan. Perbarui konfigurasi subnet, lalu tunggu integrasi pulih. | Perbarui titik akhir subnet VPC | 
| Tidak dapat terhubung ke Lambda melalui koneksi VPC yang disediakan. Perbarui konfigurasi subnet, lalu tunggu integrasi pulih. | Perbarui titik akhir subnet VPC | 

## Menyiapkan integrasi lintas akun nol-ETL
<a name="zero-etl-setup-cross-account-integration"></a>

Untuk menyiapkan integrasi lintas akun nol-ETL:

1. Konfigurasikan Kebijakan Sumber Daya target seperti yang dijelaskan dalam[Menyediakan kebijakan Resource Based Access (RBAC) katalog](#zero-etl-setup-target-resources-rbac-policy). Pastikan bahwa peran akun sumber secara eksplisit diizinkan pada sumber daya target.

1. Periksa apakah peran akun sumber (peran yang digunakan untuk membuat integrasi) memiliki yang berikut:

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Stmt123456789012",
               "Action": [
                   "glue:CreateInboundIntegration"
               ],
               "Effect": "Allow",
               "Resource": [
               	"arn:aws:glue:us-east-1:111122223333:catalog",
   							"arn:aws:glue:us-east-1:111122223333:database/DatabaseName"
               ]
           }
       ]
   }
   ```

------

1. Buat integrasi seperti yang dijelaskan dalam[Membuat integrasi](zero-etl-common-integration-tasks.md#zero-etl-creating).