AWS CloudFormation을 사용한 Amazon DocumentDB 빠른 시작 - Amazon DocumentDB

AWS CloudFormation을 사용한 Amazon DocumentDB 빠른 시작

이 섹션에는 AWS CloudFormation을 사용하여 Amazon DocumentDB(MongoDB 호환)를 신속하게 시작하는 데 도움이 되는 단계 및 기타 정보가 포함되어 있습니다. Amazon DocumentDB 엔드포인트에 관한 일반 정보는 Amazon DocumentDB(MongoDB 호환)란 무엇인가를 참조하세요.

이러한 지침은 AWS CloudFormation 템플릿을 사용하여 기본 Amazon VPC에 클러스터 및 인스턴스를 만듭니다. 이러한 리소스를 사용자가 직접 생성하는 방법에 관한 지침은 Amazon DocumentDB로 시작하기(을)를 참조하십시오.

중요

이 템플릿에 의해 생성된 AWS CloudFormation 스택은 Amazon DocumentDB(예: 클러스터 및 인스턴스) 및 Amazon 탄력성 컴퓨트 클라우드(예: 서브넷 그룹)의 리소스를 포함하여 여러 리소스를 생성합니다.

이 리소스 중 일부는 프리 티어 리소스가 아닙니다. 가격 정보는 Amazon DocumentDB 가격Amazon EC2 가격를 참조하십시오. 이 단원을 완료한 후에는 스택을 삭제하여 요금이 발생하지 않게 할 수 있습니다.

이 AWS CloudFormation 스택은 자습서 목적으로만 사용됩니다. 운영 환경에서 이 템플릿을 사용하는 경우 더 엄격한 IAM 정책 및 보안을 사용하는 것이 좋습니다. 리소스 보안에 대한 자세한 내용은 Amazon VPC 시큐리티Amazon EC2 네트워크 및 시큐리티를 참조하십시오.

사전 조건

Amazon DocumentDB 클러스터를 작성하기 전에 다음 항목이 있어야 합니다.

  • 기본 Amazon VPC

  • 필요한 IAM 권한

필요한 IAM 권한

다음 권한을 통해 AWS CloudFormation 스택에 리소스를 생성할 수 있습니다:

AWS 관리형 정책

  • AWSCloudFormationReadOnlyAccess

  • AmazonDocDBFullAccess

추가 IAM 권한

다음 정책에는 이 AWS CloudFormation 스택을 생성 및 삭제하는 데 필요한 추가 권한이 개괄적으로 정리되어 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GetSSHPublicKey", "iam:ListSSHPublicKeys", "iam:CreateRole", "iam:CreatePolicy", "iam:PutRolePolicy", "iam:CreateInstanceProfile", "iam:AddRoleToInstanceProfile", "iam:GetAccountSummary", "iam:ListAccountAliases", "iam:GetRole", "iam:DeleteRole", "iam:RemoveRoleFromInstanceProfile", "iam:DeleteRolePolicy", "iam:DeleteInstanceProfile", "cloudformation:*Stack", "ec2:DescribeKeyPairs", "ec2:*Vpc", "ec2:DescribeInternetGateways", "ec2:*InternetGateway", "ec2:createTags", "ec2:*VpcAttribute", "ec2:DescribeRouteTables", "ec2:*RouteTable", "ec2:*Subnet", "ec2:*SecurityGroup", "ec2:AuthorizeSecurityGroupIngress", "ec2:DescribeVpcEndpoints", "ec2:*VpcEndpoint", "ec2:*SubnetAttribute", "ec2:*Route", "ec2:*Instances", "ec2:DeleteVpcEndpoints" ], "Resource": "*" }, { "Sid": "iamPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "rds.amazonaws.com" } } } ] }
참고

앞서 다룬 정책에서 굵은 글씨체 권한은 iam:DeleteRole, iam:RemoveRoleFromInstanceProfile, iam:DeleteRolePolicy, iam:DeleteInstanceProfileec2:DeleteVpcEndpoints 스택을 삭제하는 경우에만 필요합니다. 또한 ec2:*Vpcec2:DeleteVpc 권한을 부여합니다.

Amazon EC2 키 페어

AWS CloudFormation 스택을 생성할 리전에서 사용할 수 있는 키 페어(및 PEM 파일)가 있어야 합니다. 키 페어를 만들어야 할 경우, Amazon EC2 사용 설명서Amazon EC2를 사용하여 키 페어 만들기를 참조하세요.

Amazon DocumentDB AWS CloudFormation 스택 시작

이 섹션에서는 Amazon DocumentDB AWS CloudFormation 스택을 시작하고 구성하는 방법에 대해 설명합니다.

  1. https://console.aws.amazon.com/에서 AWS Management Console에 로그인합니다.

  2. 다음 표는 각 AWS 리전에 대한 Amazon DocumentDB 스택 템플릿을 나열합니다. 스택을 시작할 AWS 리전에 대해 스택 시작을 선택합니다.

    리전 템플릿 보기 Designer에서 보기 시작
    미국 동부(오하이오) 템플릿 보기 Designer에서 보기 Orange button labeled "Launch Stack" with an arrow icon.
    미국 동부(버지니아 북부) 템플릿 보기 Designer에서 보기

    Orange button labeled "Launch Stack" with an arrow icon.

    미국 서부(오레곤)

    템플릿 보기 Designer에서 보기 Orange button labeled "Launch Stack" with an arrow icon.

    아시아 태평양(뭄바이)

    템플릿 보기 Designer에서 보기 Orange button labeled "Launch Stack" with an arrow icon.

    아시아 태평양(서울)

    템플릿 보기 Designer에서 보기 Orange button labeled "Launch Stack" with an arrow icon.

    아시아 태평양(싱가포르)

    템플릿 보기 Designer에서 보기 Orange button labeled "Launch Stack" with an arrow icon.

    아시아 태평양(시드니)

    템플릿 보기 Designer에서 보기 Orange button labeled "Launch Stack" with an arrow icon.

    아시아 태평양(도쿄)

    템플릿 보기 Designer에서 보기 Orange button labeled "Launch Stack" with an arrow icon.

    캐나다(중부)

    템플릿 보기 Designer에서 보기 Orange button labeled "Launch Stack" with an arrow icon.

    유럽(프랑크푸르트)

    템플릿 보기 Designer에서 보기 Orange button labeled "Launch Stack" with an arrow icon.

    유럽(아일랜드)

    템플릿 보기 Designer에서 보기 Orange button labeled "Launch Stack" with an arrow icon.

    유럽(런던)

    템플릿 보기 Designer에서 보기 Orange button labeled "Launch Stack" with an arrow icon.

    유럽(파리)

    템플릿 보기 Designer에서 보기 Orange button labeled "Launch Stack" with an arrow icon.
  3. 스택 생성 — 선택한 Amazon DocumentDB 템플릿을 설명합니다. 모든 스택은 스택에 포함할 AWS 리소스에 대한 구성을 포함하는 템플릿(JSON 또는 YAML 파일)을 기반으로 합니다. 위에 제공된 템플릿에서 스택을 시작하도록 선택했기 때문에, 선택한 AWS 리전에 대한 Amazon DocumentDB 스택을 작성하도록 템플릿이 이미 구성되어 있습니다.

    AWS CloudFormation 스택을 시작하면, Amazon DocumentDB 클러스터에 대한 삭제 방지가 기본적으로 비활성화됩니다. 클러스터에 대해 삭제 방지를 활성화하려면 다음 단계를 완료하십시오. 그렇지 않으면 다음을 선택하여 다음 단계를 계속하십시오.

    Amazon DocumentDB 클러스터에 대해 삭제 보호를 사용하려면:

    1. 스택 생성 페이지의 오른쪽 하단에서 Designer에서 보기를 선택합니다.

    2. 콘솔의 결과 AWS CloudFormation Designer 페이지에서 통합된 JSON 및 YAML 편집기를 사용하여 템플릿을 수정합니다. 다음과 같이 Resources 섹션으로 스크롤하여 DeletionProtection을 포함하도록 수정합니다. AWS CloudFormation Designer 사용에 대한 자세한 내용은 AWS CloudFormation Designer란 무엇입니까?를 참조하십시오.

      JSON:

      "Resources": { "DBCluster": { "Type": "AWS::DocDB::DBCluster", "DeletionPolicy": "Delete", "Properties": { "DBClusterIdentifier": { "Ref": "DBClusterName" }, "MasterUsername": { "Ref": "MasterUser" }, "MasterUserPassword": { "Ref": "MasterPassword" }, "DeletionProtection": "true" } },

      YAML:

      Resources: DBCluster: Type: 'AWS::DocDB::DBCluster' DeletionPolicy: Delete Properties: DBClusterIdentifier: !Ref DBClusterName MasterUsername: !Ref MasterUser MasterUserPassword: !Ref MasterPassword DeletionProtection: 'true'
    3. 페이지 왼쪽 위에서 스택 만들기( Cloud icon with arrow pointing to it, representing cloud upload or storage. )를 선택하여 변경 사항을 저장하고 이러한 변경 사항이 활성화된 스택을 만듭니다.

    4. 변경 사항을 저장하면 스택 만들기 페이지로 리디렉션됩니다.

    5. 다음을 선택하여 계속 진행합니다.

  4. 스택 상세 내역 지정 — 템플릿의 스택 이름과 매개 변수를 입력합니다. 파라미터는 템플릿에서 정의되며, 이를 통해 스택을 생성하거나 업데이트 할 때 사용자 지정 값을 입력할 수 있습니다.

    • 스택 이름에서 스택의 이름을 입력하거나 제공된 이름을 그대로 사용합니다. 스택 이름에는 문자(A—Z 및 a—z), 숫자(0-9) 및 대시(—)를 포함할 수 있습니다.

    • 파라미터에서 다음 세부 정보를 입력합니다:

      • DBC클러스터 이름 — Amazon DocumentDB 클러스터의 이름을 입력하거나 제공된 이름을 사용합니다.

        클러스터 명명 제약 조건:

        • 길이는 [1~63] 글자, 숫자 또는 하이픈입니다.

        • 첫 번째 문자는 글자이어야 합니다.

        • 하이픈으로 끝나거나 하이픈이 2개 연속으로 포함되어서는 안 됩니다.

        • 리전별, AWS 계정별로 Amazon RDS, Nune 및 Amazon DocumentDB에 걸쳐 있는 모든 클러스터에 대해 고유해야 합니다.

      • DBInstanceClass — 드롭다운 목록에서 Amazon DocumentDB 클러스터의 인스턴스 클래스를 선택합니다.

      • DBInstanceName — Amazon DocumentDB 인스턴스의 이름을 입력하거나 제공된 이름을 사용합니다.

        인스턴스 명명 제약 조건:

        • 길이는 [1~63] 글자, 숫자 또는 하이픈입니다.

        • 첫 번째 문자는 글자이어야 합니다.

        • 하이픈으로 끝나거나 하이픈이 2개 연속으로 포함되어서는 안 됩니다.

        • 리전별, AWS 계정별로 Amazon RDS, Nune 및 Amazon DocumentDB에 걸쳐 있는 모든 인스턴스에 대해 고유해야 합니다.

      • MasterPassword — 데이터베이스 관리자 계정 암호입니다.

      • MasterUser — 데이터베이스 관리자 계정 사용자 이름입니다. MasterUser는 문자로 시작해야 하며 영숫자만 포함할 수 있습니다.

    다음을 선택하여 변경 사항을 저장하고 계속합니다.

  5. 스택옵션 구성 — 스택의 태그, 권한 및 추가 옵션을 구성합니다.

    • 태그 — 스택의 리소스에 적용할 태그(키-값) 쌍을 지정합니다. 각 스택에 대해 최대 50개의 고유 태그를 추가할 수 있습니다.

    • 권한 — 선택 사항. IAM 역할을 선택하여 AWS CloudFormation이 스택에서 리소스를 생성, 수정 또는 삭제할 수 있는 방법을 명시적으로 정의합니다. 보안인증 역할을 선택하지 않으면 AWS CloudFormation은 사용자 자격 증명에 따라 권한을 사용합니다. 서비스 역할을 지정하기 전에 역할을 전달할 수 있는 권한이 있는지 확인합니다(iam:PassRole). iam:PassRole 권한은 사용 가능한 역할을 지정합니다.

      참고

      서비스 역할을 지정할 때 AWS CloudFormation에서는 해당 스택에서 수행되는 모든 작업에 대해 항상 해당 역할을 사용합니다. 이 스택에서 작업을 수행할 수 있는 권한이 있는 다른 사용자는 이 역할을 전달할 수 있는 권한이 없더라도 이 역할을 사용할 수 있습니다. 역할에 사용자에게 불필요한 권한이 포함되어 있는 경우 사용자의 권한을 실수로 에스컬레이션할 수 있습니다. 이 역할은 최소 권한을 부여해야 합니다.

    • 고급 옵션 — 다음 고급 옵션을 설정할 수 있습니다:

      • 스택 정책 — 선택 사항. 스택 업데이트 중 의도치 않게 업데이트되지 않도록 하려는 리소스를 정의합니다. 기본적으로 스택 업데이트 중에는 모든 리소스가 업데이트될 수 있습니다.

        스택 정책을 바로 JSON으로 입력하거나 스택 정책이 포함된 JSON 파일을 업로드할 수 있습니다. 자세한 내용은 스택 리소스에 대한 업데이트 방지를 참조하십시오.

      • 롤백 구성 — 선택 사항. 스택을 생성하고 업데이트할 때 모니터링할 AWS CloudFormation의 CloudWatch Logs 알람을 지정합니다. 작업이 경보 임계값을 위반하면 AWS CloudFormation에서 해당 작업이 롤백됩니다.

      • 알림 옵션 — 선택 사항. Simple Notification System(SNS)에 대한 주제를 지정합니다.

      • 스택 생성 옵션 — 선택 사항. 다음과 같은 옵션을 지정할 수 있습니다:

        • 실패 시 롤백 — 스택 생성이 실패한 경우 스택을 롤백해야 하는지 여부입니다.

        • 제한시간 —스택 생성 시간이 초과되기 전까지의 시간(분)입니다.

        • 종료 보호 — 스택이 실수로 삭제되는 것을 방지합니다.

          참고

          AWS CloudFormation종료 보호는 Amazon DocumentDB의 삭제 보호 개념과 다릅니다. 자세한 내용은 종료 방지 및 삭제 방지 섹션을 참조하세요.

    다음을 선택하여 계속 진행합니다.

  6. 리뷰 <stack-name> — 스택 템플릿, 세부 정보 및 구성 옵션을 검토합니다. 페이지 하단에서 빠른 생성 링크를 열어 이와 동일한 기본 구성을 가진 스택을 만들 수도 있습니다.

    • 생성을 선택하여 스택을 생성합니다.

    • 또는 변경 세트 만들기를 선택할 수 있습니다. 변경 세트는 스택을 만들기 전에 이 스택을 구성하는 방법에 대한 미리 보기입니다. 이렇게 하면 변경 세트를 실행하기 전에 다양한 구성을 검사할 수 있습니다.

Amazon DocumentDB 클러스터 액세스

AWS CloudFormation 스택이 완료되면 Amazon EC2 인스턴스를 사용하여 Amazon DocumentDB 클러스터에 연결할 수 있습니다. SSH를 사용하여 Amazon EC2 인스턴스에 연결하는 방법에 대한 자세한 내용은 Amazon EC2 사용자 설명서Linux 인스턴스에 연결을 참조하십시오.

연결된 후에는 Amazon DocumentDB 사용에 대한 내용이 포함된 다음 섹션을 참조하십시오.

종료 방지 및 삭제 방지

삭제 보호 및 종료 보호를 가능하게 하는 Amazon DocumentDB 모범 사례입니다. CloudFormation 종료 보호는 Amazon DocumentDB 삭제 보호 기능과는 확연히 다른 기능입니다.

  • 종료 보호 — CloudFormation 스택에 대한 종료 보호 기능을 사용하여 스택이 실수로 삭제되는 것을 방지할 수 있습니다. 종료료 보호 기능이 활성화된 스택을 삭제하려고 시도하면 삭제가 실패하고 스택은 변함없이 그대로 유지됩니다. CloudFormation을 사용하여 스택을 만들 때 기본적으로 종료 보호 기능이 비활성화됩니다. 스택을 생성할 때 종료 보호 기능을 활성화할 수 있습니다. 자세한 내용은 AWS CloudFormation 스택 옵션 설정을 참조하십시오.

  • 삭제 보호 — 또한 Amazon DocumentDB는 클러스터에 대해 삭제 보호를 실행하는 기능을 제공합니다. 사용자가 삭제 보호가 설정된 Amazon DocumentDB 클러스터를 삭제하려고 할 경우 삭제가 실패하고 클러스터는 변경되지 않습니다. 삭제 방지 기능을 사용하면 Amazon DocumentDB AWS Management Console, AWS CLI 및 CloudFormation에서 실수로 삭제되는 것을 방지할 수 있습니다. Amazon DocumentDB 클러스터에 대한 삭제 방지 사용 및 사용 안 함에 대한 자세한 내용은 삭제 방지을 참조하십시오.