

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

# Prasyarat untuk mengatur Amazon Neptunus menggunakan AWS CloudFormation
<a name="get-started-prereqs"></a>

Sebelum Anda membuat cluster Amazon Neptunus menggunakan template, Anda harus CloudFormation memiliki yang berikut:
+ Pasangan kunci Amazon EC2.
+ Izin yang diperlukan untuk menggunakan CloudFormation.

## Buat Pasangan Kunci Amazon EC2 yang akan digunakan untuk meluncurkan kluster Neptunus menggunakan CloudFormation
<a name="cfn-ec2-key-pair"></a>

Untuk meluncurkan cluster DB Neptunus menggunakan CloudFormation template, Anda harus memiliki pasangan EC2key Amazon (dan file PEM terkait) yang tersedia di wilayah tempat Anda membuat tumpukan. CloudFormation 

Jika Anda perlu membuat key pair, lihat [Membuat Pasangan Kunci Menggunakan Amazon EC2 di Panduan Pengguna Amazon EC2, atau Membuat Pasangan](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#having-ec2-create-your-key-pair) [Kunci Menggunakan Amazon EC2 di Panduan Pengguna Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-key-pairs.html#having-ec2-create-your-key-pair) untuk petunjuk.

## Tambahkan kebijakan IAM untuk memberikan izin yang diperlukan untuk menggunakan templat CloudFormation
<a name="cfn-iam-perms"></a>

Pertama, Anda perlu mengatur pengguna IAM dengan izin yang diperlukan untuk bekerja dengan Neptunus, seperti yang dijelaskan dalam. [Membuat pengguna IAM dengan izin untuk Neptunus](manage-console-iam-user.md)

Maka Anda perlu menambahkan kebijakan AWS terkelola,`AWSCloudFormationReadOnlyAccess`, ke pengguna itu.

Terakhir, Anda perlu membuat kebijakan yang dikelola pelanggan berikut dan menambahkannya ke pengguna itu:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::{{111122223333}}:role/*",
            "Condition": {
                "StringEquals": {
                    "iam:passedToService": "rds.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "arn:aws:iam::*:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS",
            "Condition": {
                "StringLike": {
                    "iam:AWSServiceName": "rds.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "sns:ListTopics",
                "sns:ListSubscriptions",
                "sns:Publish"
            ],
            "Resource": "arn:aws:sns:*:{{111122223333}}:*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:ListRetirableGrants",
                "kms:ListKeys",
                "kms:ListAliases",
                "kms:ListKeyPolicies"
            ],
            "Resource": "arn:aws:kms:*:{{111122223333}}:key/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:ListMetrics"
            ],
            "Resource": "arn:aws:cloudwatch:*:{{111122223333}}:service/*-*",
            "Condition": {
                "StringLike": {
                    "cloudwatch:namespace": "AWS/Neptune"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeVpcs",
                "ec2:DescribeAccountAttributes",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcAttribute"
            ],
            "Resource": [
                "arn:aws:ec2:*:{{111122223333}}:vpc/*",
                "arn:aws:ec2:*:{{111122223333}}:subnet/*",
                "arn:aws:ec2:*:{{111122223333}}:security-group/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "rds:CreateDBCluster",
                "rds:CreateDBInstance",
                "rds:AddTagsToResource",
                "rds:ListTagsForResource",
                "rds:RemoveTagsFromResource",
                "rds:RemoveRoleFromDBCluster",
                "rds:ResetDBParameterGroup",
                "rds:CreateDBSubnetGroup",
                "rds:ModifyDBParameterGroup",
                "rds:DownloadDBLogFilePortion",
                "rds:CopyDBParameterGroup",
                "rds:AddRoleToDBCluster",
                "rds:ModifyDBInstance",
                "rds:ModifyDBClusterParameterGroup",
                "rds:ModifyDBClusterSnapshotAttribute",
                "rds:DeleteDBInstance",
                "rds:CopyDBClusterParameterGroup",
                "rds:CreateDBParameterGroup",
                "rds:DescribeDBSecurityGroups",
                "rds:DeleteDBSubnetGroup",
                "rds:DescribeValidDBInstanceModifications",
                "rds:ModifyDBCluster",
                "rds:CreateDBClusterSnapshot",
                "rds:DeleteDBParameterGroup",
                "rds:CreateDBClusterParameterGroup",
                "rds:RemoveTagsFromResource",
                "rds:PromoteReadReplicaDBCluster",
                "rds:RestoreDBClusterFromSnapshot",
                "rds:DescribeDBSubnetGroups",
                "rds:DescribePendingMaintenanceActions",
                "rds:DescribeDBParameterGroups",
                "rds:FailoverDBCluster",
                "rds:DescribeDBInstances",
                "rds:DescribeDBParameters",
                "rds:DeleteDBCluster",
                "rds:ResetDBClusterParameterGroup",
                "rds:RestoreDBClusterToPointInTime",
                "rds:DescribeDBClusterSnapshotAttributes",
                "rds:AddTagsToResource",
                "rds:DescribeDBClusterParameters",
                "rds:CopyDBClusterSnapshot",
                "rds:DescribeDBLogFiles",
                "rds:DeleteDBClusterSnapshot",
                "rds:ListTagsForResource",
                "rds:RebootDBInstance",
                "rds:DescribeDBClusterSnapshots",
                "rds:DeleteDBClusterParameterGroup",
                "rds:ApplyPendingMaintenanceAction",
                "rds:DescribeDBClusters",
                "rds:DescribeDBClusterParameterGroups",
                "rds:ModifyDBSubnetGroup"
            ],
            "Resource": [
                "arn:aws:rds:*:{{111122223333}}:cluster-snapshot:*",
                "arn:aws:rds:*:{{111122223333}}:cluster:*",
                "arn:aws:rds:*:{{111122223333}}:pg:*",
                "arn:aws:rds:*:{{111122223333}}:cluster-pg:*",
                "arn:aws:rds:*:{{111122223333}}:secgrp:*",
                "arn:aws:rds:*:{{111122223333}}:db:*",
                "arn:aws:rds:*:{{111122223333}}:subgrp:*"
            ],
            "Condition": {
                "StringEquals": {
                    "rds:DatabaseEngine": [
                        "graphdb",
                        "neptune"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:GetLogEvents",
                "logs:DescribeLogStreams"
            ],
            "Resource": [
                "arn:aws:logs:*:{{111122223333}}:log-group:*:log-stream:*",
                "arn:aws:logs:*:{{111122223333}}:log-group:*"
            ]
        }
    ]
}
```

------

**catatan**  
Izin berikut hanya diperlukan untuk menghapus tumpukan: `iam:DeleteRole`, `iam:RemoveRoleFromInstanceProfile`, `iam:DeleteRolePolicy`, `iam:DeleteInstanceProfile`, dan `ec2:DeleteVpcEndpoints`.   
Perhatikan juga bahwa `ec2:*Vpc` memberikan izin `ec2:DeleteVpc`.