

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 를 사용하여 Amazon Neptune을 설정하기 위한 사전 조건 AWS CloudFormation
<a name="get-started-prereqs"></a>

 CloudFormation 템플릿을 사용하여 Amazon Neptune 클러스터를 생성하기 전에 다음이 필요합니다.
+ Amazon EC2 키 페어.
+ 를 사용하는 데 필요한 권한입니다 CloudFormation.

## 를 사용하여 Neptune 클러스터를 시작하는 데 사용할 Amazon EC2 키 페어 생성 CloudFormation
<a name="cfn-ec2-key-pair"></a>

 CloudFormation 템플릿을 사용하여 Neptune DB 클러스터를 시작하려면 CloudFormation 스택을 생성하는 리전에서 Amazon EC2key 페어(및 관련 PEM 파일)를 사용할 수 있어야 합니다.

키 페어를 생성해야 하는 경우 Amazon EC2 사용 설명서의 [Amazon EC2를 사용하여 키 페어 생성](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#having-ec2-create-your-key-pair) 또는 Amazon EC2 사용 설명서의 [Amazon EC2를 사용하여 키 페어 생성](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-key-pairs.html#having-ec2-create-your-key-pair)에서 지침을 참조하세요.

## CloudFormation 템플릿을 사용하는 데 필요한 권한을 부여하는 IAM 정책 추가
<a name="cfn-iam-perms"></a>

먼저 [Neptune에 권한이 있는 IAM 사용자 생성](manage-console-iam-user.md)에 설명된 대로 Neptune을 사용하는 데 필요한 권한을 IAM 사용자에게 설정해야 합니다.

그런 다음 AWS 관리형 정책를 해당 사용자에게 추가해야 `AWSCloudFormationReadOnlyAccess`합니다.

마지막으로 다음과 같은 고객 관리형 정책을 생성하여 해당 사용자에게 추가해야 합니다.

------
#### [ 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:*"
            ]
        }
    ]
}
```

------

**참고**  
스택을 삭제하는 데만 필요한 권한은 `iam:DeleteRole`, `iam:RemoveRoleFromInstanceProfile`, `iam:DeleteRolePolicy`, `iam:DeleteInstanceProfile`, `ec2:DeleteVpcEndpoints`입니다.  
또한 `ec2:*Vpc`는 `ec2:DeleteVpc` 권한을 부여합니다.