

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

# Tutorial: Membuat tabel global multi-akun
<a name="V2globaltables_MA.tutorial"></a>

Bagian ini memberikan step-by-step petunjuk untuk membuat tabel global DynamoDB yang menjangkau beberapa akun. AWS 

## Buat tabel global multi-akun menggunakan konsol DynamoDB
<a name="create-ma-gt-console"></a>

Ikuti langkah-langkah ini untuk membuat tabel global multi-akun menggunakan. Konsol Manajemen AWS Contoh berikut membuat tabel global dengan tabel replika di Amerika Serikat.

1. Masuk ke Konsol Manajemen AWS dan buka konsol DynamoDB [https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/)di untuk akun pertama (katakanlah). {{111122223333}}

1. Untuk contoh ini, pilih **US East (Ohio)** dari pemilih Region di bilah navigasi.

1. Di panel navigasi di sisi kiri konsol, pilih **Tabel**.

1. Pilih **Buat Tabel**.

1. Pada halaman **Buat tabel**:

   1. Untuk **Nama tabel**, masukkan **MusicTable**.

   1. Untuk **kunci Partisi**, masukkan**Artist**.

   1. Untuk **tombol Sortir**, masukkan**SongTitle**.

   1. Simpan pengaturan default lainnya dan pilih **Buat tabel**.

1. Tambahkan kebijakan sumber daya berikut ke tabel

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

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
           "Sid": "DynamoDBActionsNeededForSteadyStateReplication",
           "Effect": "Allow",
           "Action": [
               "dynamodb:ReadDataForReplication",
               "dynamodb:WriteDataForReplication",
               "dynamodb:ReplicateSettings"
           ],
           "Resource": "arn:aws:dynamodb:us-east-2:{{111122223333}}:table/MusicTable",
           "Principal": {"Service": ["replication.dynamodb.amazonaws.com"]},
           "Condition": {
               "StringEquals": {
                   "aws:SourceAccount": ["{{444455556666}}","{{111122223333}}"],
                   "aws:SourceArn": [
                       "arn:aws:dynamodb:us-east-1:{{444455556666}}:table/MusicTable",
                       "arn:aws:dynamodb:us-east-2:{{111122223333}}:table/MusicTable"
                   ]
               }
           }
       },
       {
           "Sid": "AllowTrustedAccountsToJoinThisGlobalTable",
           "Effect": "Allow",
           "Action": [
               "dynamodb:AssociateTableReplica"
           ],
           "Resource": "arn:aws:dynamodb:us-east-2:{{111122223333}}:table/MusicTable",
           "Principal": {"AWS": ["{{444455556666}}"]}
       }
   ]
   }
   ```

------

1. Tabel baru ini berfungsi sebagai tabel replika pertama dalam tabel global baru. Ini adalah protojenis untuk tabel replika lain yang Anda tambahkan nantinya.

1. Tunggu meja menjadi **Aktif**. Untuk tabel yang baru dibuat, dari tab **tabel Global**, navigasikan ke **Pengaturan Replikasi** dan klik **Aktifkan**.

1. Keluar dari akun ini ({{111122223333}}di sini).

1. Masuk ke Konsol Manajemen AWS dan buka konsol DynamoDB [https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/)di untuk akun kedua (katakanlah). {{444455556666}}

1. Untuk contoh ini, pilih **US East (Virginia N.)** dari pemilih Region di bilah navigasi.

1. Konsol memastikan bahwa tabel dengan nama yang sama tidak ada di Wilayah yang dipilih. Jika ada tabel dengan nama yang sama, Anda harus menghapus tabel yang ada sebelum dapat membuat tabel replika baru di Wilayah tersebut.

1. Di drop-down dekat **Create Table**, pilih **Create from other account**

1. Pada **tabel Buat dari halaman akun lain**:

   1. Tambahkan **arn:aws:dynamodb:us-east-2:{{111122223333}}:table/MusicTable** sebagai tabel arn untuk tabel sumber.

   1. Dalam **Tabel Replika ARNs**, tambahkan ARN dari tabel sumber lagi. **arn:aws:dynamodb:us-east-2:{{111122223333}}:table/MusicTable** Jika ada beberapa replika yang sudah ada sebagai bagian dari Tabel Global Multi Akun, Anda harus menambahkan setiap replika yang ada ke ReplicaTable ARN.

   1. Simpan pengaturan default lainnya dan pilih **Kirim**.

1. Tab **tabel Global** untuk tabel Musik (dan untuk tabel replika lainnya) menunjukkan bahwa tabel telah direplikasi di beberapa Wilayah.

1. Untuk menguji replikasi:

   1. Anda dapat menggunakan salah satu wilayah di mana replika ada untuk tabel ini

   1. Pilih **Jelajahi item tabel**.

   1. Pilih **Buat item**.

   1. Masuk **item\_1** untuk **Artis** dan **Song Value 1** untuk **SongTitle**.

   1. Pilih **Buat item**.

   1. Verifikasi replikasi dengan beralih ke wilayah lain:

   1. Verifikasi bahwa tabel Musik berisi item yang Anda buat.

## Buat tabel global multi-akun menggunakan AWS CLI
<a name="ma-gt-cli"></a>

Contoh berikut menunjukkan cara membuat tabel global multi-akun menggunakan. AWS CLI Contoh-contoh ini menunjukkan alur kerja lengkap untuk menyiapkan replikasi lintas akun.

------
#### [ CLI ]

Gunakan AWS CLI perintah berikut untuk membuat tabel global multi-akun dengan replikasi lintas akun.

```
# STEP 1: Setting resource policy for the table in account 111122223333

cat > /tmp/source-resource-policy.json << 'EOF'
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Sid": "DynamoDBActionsNeededForSteadyStateReplication",
            "Effect": "Allow",
            "Action": [
                "dynamodb:ReadDataForReplication",
                "dynamodb:WriteDataForReplication",
                "dynamodb:ReplicateSettings"
            ],
            "Resource": "arn:aws:dynamodb:us-east-2:111122223333:table/MusicTable",
            "Principal": {"Service": ["replication.dynamodb.amazonaws.com"]},
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": ["444455556666","111122223333"],
                    "aws:SourceArn": [
                        "arn:aws:dynamodb:us-east-1:444455556666:table/MusicTable",
                        "arn:aws:dynamodb:us-east-2:111122223333:table/MusicTable"
                    ]
                }
            }
        },
        {
            "Sid": "AllowTrustedAccountsToJoinThisGlobalTable",
            "Effect": "Allow",
            "Action": [
                "dynamodb:AssociateTableReplica"
            ],
            "Resource": "arn:aws:dynamodb:us-east-2:111122223333:table/MusicTable",
            "Principal": {"AWS": ["444455556666"]}
        }
    ]
}
EOF

# Step 2: Create a new table (MusicTable) in US East (Ohio), 
#   with DynamoDB Streams enabled (NEW_AND_OLD_IMAGES),
#   and Settings Replication ENABLED on the account 111122223333

aws dynamodb create-table \
    --table-name MusicTable \
    --attribute-definitions \
        AttributeName=Artist,AttributeType=S \
        AttributeName=SongTitle,AttributeType=S \
    --key-schema \
        AttributeName=Artist,KeyType=HASH \
        AttributeName=SongTitle,KeyType=RANGE \
    --billing-mode PAY_PER_REQUEST \
    --stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES \
    --global-table-settings-replication-mode ENABLED \
    --resource-policy file:///tmp/source-resource-policy.json \
    --region us-east-2 


# Step 3: Creating replica table in account 444455556666

# Resource policy for account 444455556666
cat > /tmp/dest-resource-policy.json << 'EOF'
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Sid": "DynamoDBActionsNeededForSteadyStateReplication",
            "Effect": "Allow",
            "Action": [
                "dynamodb:ReadDataForReplication",
                "dynamodb:WriteDataForReplication",
                "dynamodb:ReplicateSettings"
            ],
            "Resource": "arn:aws:dynamodb:us-east-1:444455556666:table/MusicTable",
            "Principal": {"Service": ["replication.dynamodb.amazonaws.com"]},
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": ["444455556666","111122223333"],
                    "aws:SourceArn": [
                        "arn:aws:dynamodb:us-east-1:444455556666:table/MusicTable",
                        "arn:aws:dynamodb:us-east-2:111122223333:table/MusicTable"
                    ]
                }
            }
        }
    ]
}
EOF

# Execute the replica table creation
aws dynamodb create-table \
    --table-name MusicTable \
    --global-table-source-arn "arn:aws:dynamodb:us-east-2:111122223333:table/MusicTable" \
    --resource-policy file:///tmp/dest-resource-policy.json \
    --global-table-settings-replication-mode ENABLED \
    --region us-east-1

# Step 4: View the list of replicas created using describe-table
aws dynamodb describe-table \
    --table-name MusicTable \
    --region us-east-2 \
    --query 'Table.{TableName:TableName,TableStatus:TableStatus,MultiRegionConsistency:MultiRegionConsistency,Replicas:Replicas[*].{Region:RegionName,Status:ReplicaStatus}}'

# Step 5: To verify that replication is working, add a new item to the Music table in US East (Ohio)
aws dynamodb put-item \
    --table-name MusicTable \
    --item '{"Artist": {"S":"item_1"},"SongTitle": {"S":"Song Value 1"}}' \
    --region us-east-2

# Step 6: Wait for a few seconds, and then check to see whether the item has been 
# successfully replicated to US East (N. Virginia) and Europe (Ireland)
aws dynamodb get-item \
    --table-name MusicTable \
    --key '{"Artist": {"S":"item_1"},"SongTitle": {"S":"Song Value 1"}}' \
    --region us-east-1

aws dynamodb get-item \
    --table-name MusicTable \
    --key '{"Artist": {"S":"item_1"},"SongTitle": {"S":"Song Value 1"}}' \
    --region us-east-2

# Step 7: Delete the replica table in US East (N. Virginia) Region
aws dynamodb delete-table \
    --table-name MusicTable \
    --region us-east-1

# Clean up: Delete the primary table
aws dynamodb delete-table \
    --table-name MusicTable \
    --region us-east-2
```

------