Amazon DocumentDB クイックスタート AWS CloudFormation を使用する - Amazon DocumentDB

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon DocumentDB クイックスタート AWS CloudFormation を使用する

このセクションには、 AWS CloudFormationを使用して Amazon DocumentDB (MongoDB 互換) をすぐに使い始めるための手順やその他の情報が含まれています。Amazon DocumentDB の一般的な情報については、「」を参照してくださいAmazon DocumentDB (MongoDB 互換) とは

これらの手順では AWS CloudFormation テンプレートを使用して、デフォルトの Amazon VPC でクラスターとインスタンスを作成します。これらのリソースを自分で作成する方法については、「Amazon DocumentDB の使用開始」を参照してください。

重要

このテンプレートで作成される AWS CloudFormation スタックは、Amazon DocumentDB のリソース(例えば、クラスターやインスタンス)や Amazon Elastic Compute Cloud のリソース(例えば、サブネットグループ)など、複数のリソースを作成します。

これらのリソースの一部は無料利用枠のリソースではありません。料金情報については、「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:DeleteRoleiam:RemoveRoleFromInstanceProfileiam:DeleteRolePolicyiam:DeleteInstanceProfile、および ec2:DeleteVpcEndpoints の各スタックを削除するときのみ必要です。また、ec2:*Vpc は、ec2:DeleteVpc アクセス許可を付与します。

Amazon EC2 キーペア

AWS CloudFormation スタックを作成するリージョンで使用可能なキーペア (および PEM ファイル) が必要です。キーペアを作成する手順については「Linux インスタンス用 Amazon EC2 ユーザーガイド」の「Amazon EC2 を使用したキーペアの作成」を参照してください。

Amazon DocumentDB AWS CloudFormation スタックを起動する

このセクションでは、Amazon DocumentDB AWS CloudFormation スタックを起動して設定する方法について説明します。

  1. AWS Management Console (https://console.aws.amazon.com/) にサインインします。

  2. 次の表に、各 AWS リージョン Amazon DocumentDB スタックテンプレートを示します。スタックを起動したい AWS リージョン の [スタックの起動] を選択します。

    リージョン テンプレートを表示 デザイナーで表示 起動する
    米国東部(オハイオ) テンプレートを表示 デザイナーで表示
    米国東部(バージニア北部) テンプレートを表示 デザイナーで表示

    米国西部(オレゴン)

    テンプレートを表示 デザイナーで表示

    アジアパシフィック(ムンバイ)

    テンプレートを表示 デザイナーで表示

    アジアパシフィック(ソウル)

    テンプレートを表示 デザイナーで表示

    アジアパシフィック(シンガポール)

    テンプレートを表示 デザイナーで表示

    アジアパシフィック(シドニー)

    テンプレートを表示 デザイナーで表示

    アジアパシフィック(東京)

    テンプレートを表示 デザイナーで表示

    カナダ(中部)

    テンプレートを表示 デザイナーで表示

    欧州 (フランクフルト)

    テンプレートを表示 デザイナーで表示

    欧州 (アイルランド)

    テンプレートを表示 デザイナーで表示

    欧州 (ロンドン)

    テンプレートを表示 デザイナーで表示

    欧州 (パリ)

    テンプレートを表示 デザイナーで表示
  3. [スタックの作成] - 選択した Amazon DocumentDB テンプレートについて説明します。すべてのスタックは、テンプレート - JSON または YAML ファイル - に基づいており、スタックに含めたい AWS リソースに関する設定が含まれています。上記の提供されたテンプレートからスタックを起動することを選択したので、テンプレートは、選択した AWS リージョン のための Amazon DocumentDB スタックを作成するように既に構成されています。

    AWS CloudFormation スタックを起動すると、Amazon DocumentDB クラスターの 削除保護 はデフォルトで無効になっています。クラスターの削除保護を有効にする場合は、次のステップを実行します。それ以外の場合は、[次へ] を選択して次のステップに進みます。

    Amazon DocumentDB クラスターの削除保護を有効にするには

    1. スタック作成 ページの右下隅から、デザイナーで表示 を選択します。

    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. ページの左上隅にある [スタックの作成] ( ) を選択して変更を保存し、これらの変更を有効にしてスタックを作成します。

    4. 変更を保存すると、[スタックの作成] ページにリダイレクトされます。

    5. 次へを選択して続行します。

  4. [スタックの詳細をの指定] - テンプレートのスタック名とパラメータを入力します。パラメータはテンプレートで定義されます。パラメータを使用すると、スタックの作成時または更新時にカスタム値を入力できます。

    • [スタック名] に、スタックの名前を入力するか、指定された名前を受け入れます。スタック名には、文字 (A~Z および a~z)、数字 (0~9)、およびダッシュ (-) を使用できます。

    • [パラメータ] に、次の詳細を入力します。

      • DBClusterName — Amazon DocumentDB クラスターの名前を入力するか、指定された名前を受け入れます。

        クラスターの名前付けの制約:

        • 長さは [1 〜 63] 個の英字、数字、またはハイフンです。

        • 1 字目は英字である必要があります。

        • ハイフンを、文字列の最後に使用したり、2 つ続けて使用したりすることはできません。

        • AWS アカウント ごとに、リージョンごとに、Amazon RDS、Neptune、Amazon DocumentDB にわたるすべてのクラスターに対して一意である必要があります。

      • DBInstanceClass — ドロップダウンリストから、Amazon DocumentDB クラスターのインスタンスクラスを選択します。

      • DBInstanceName — Amazon DocumentDB インスタンスの名前を入力するか、指定された名前を受け入れます。

        インスタンスの名前付けの制約:

        • 長さは [1 〜 63] 個の英字、数字、またはハイフンです。

        • 1 字目は英字である必要があります。

        • ハイフンを、文字列の最後に使用したり、2 つ続けて使用したりすることはできません。

        • AWS アカウント ごとに、リージョンごとに、Amazon RDS、Neptune、Amazon DocumentDB のすべてのインスタンスで一意である必要があります。

      • MasterPassword — データベース管理者アカウントのパスワード。

      • MasterUser — データベース管理者アカウントのユーザー名。 MasterUser は文字で始まり、英数字のみを含めることができます。

    [次へ] を選択して変更を保存し、続行します。

  5. [スタックオプションの設定] - スタックのタグ、アクセス権限、および追加オプションを設定します。

    • [タグ] - スタック内のリソースに適用するタグ(キーと値のペア)を指定します。スタックごとに最大 50 個の一意のタグを追加できます。

    • [アクセス権限] - オプションです。IAM ロールを選択して、AWS CloudFormation がスタック内のリソースを作成、変更、または削除できる方法を明示的に定義します。ロールを選択しない場合、AWS CloudFormation はユーザー認証情報に基づいてアクセス権限を使用します。サービスロールを指定する前に、サービスロールを割り当てるアクセス権限 (iam:PassRole) があるかどうかを確認します。iam:PassRole アクセス権限は、どのロールを使用できるかを指定します。

      注記

      サービスロールを指定すると、AWS CloudFormation はスタックで実行されるすべてのオペレーションにそのロールを必ず使用します。このスタックでオペレーションを実行するアクセス権限を持つ他のユーザーは、割り当てるアクセス権限がない場合でも、このロールを使用できます。ユーザーが持つべきではないアクセス権限がロールに含まれる場合、ユーザーのアクセス権限を非意図的にエスカレーションできてしまいます。ロールが最小特権を付与することを確認します。

    • [高度なオプション] - 以下の高度なオプションを設定することができます。

      • [スタックポリシー] - オプションです。スタックの更新中、意図しない更新から保護するリソースを定義します。デフォルトでは、スタックの更新時にすべてのリソースを更新できます。

        スタックポリシーを JSON として直接入力するか、スタックポリシーを含む JSON ファイルをアップロードすることができます。詳細については、「スタックのリソースが更新されないようにする」を参照してください。

      • [ロールバック構成] - オプションです。スタックの作成および更新時に がモニタリングAWS CloudFormationする CloudWatch ログアラームを指定します。オペレーションがアラームしきい値を超えると、AWS CloudFormation はアラームしきい値をロールバックします。

      • [通知オプション] - オプションです。Simple Notification System (SNS) のトピックを指定します。

      • [スタック作成オプション] - オプションです。以下のオプションを指定できます。

        • [失敗時のロールバック] - スタックの作成に失敗した場合、スタックをロールバックするかどうかを指定します。

        • [タイムアウト] - スタック作成がタイムアウトするまでの時間 (分)です。

        • [終了保護] - スタックが誤って削除されるのを防ぎます。

          注記

          AWS CloudFormation の終了保護は、Amazon DocumentDB の削除保護の概念とは異なります。詳細については、「終了保護と削除保護」を参照してください。

    次へを選択して続行します。

  6. [<stack-name> の確認] - スタックテンプレート、詳細、設定オプションを確認します。ページの下部にある quick-create link を開いて、これと同じ基本設定のスタックを作成することもできます。

    • [作成] を選択してスタックを作成します。

    • または、[変更セットの作成] を選択することもできます。変更セットは、スタックを作成する前に、このスタックがどのように設定されるかをプレビューするものです。これにより、変更セットを実行する前にさまざまな設定を調べることができます。

Amazon DocumentDB クラスターにアクセスする

AWS CloudFormation スタックが完成したら、Amazon EC2 インスタンスを使用して Amazon DocumentDB クラスターに接続することができます。SSH を使用して Amazon EC2 インスタンスに接続する方法については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の「Linux インスタンスへの接続」を参照してください。

接続後、Amazon DocumentDB の使用に関する情報を含む、次のセクションを参照してください。

終了保護と削除保護

削除保護と終了保護を有効にするのは Amazon DocumentDB のベストプラクティスです。 CloudFormation 終了保護は、Amazon DocumentDB 削除保護機能とは明確に異なる機能です。

  • 終了保護 — スタックに対して終了保護を有効にすることで、 CloudFormation スタックが誤って削除されるのを防ぐことができます。終了保護を有効にした状態でスタックを削除しようとすると、削除は失敗し、スタックは変更されません。を使用してスタックを作成すると、終了保護はデフォルトで無効になります CloudFormation。終了保護は、スタック作成時に有効にすることができます。詳細については、「AWS CloudFormation スタックオプションの設定」を参照してください。

  • 削除保護 - Amazon DocumentDB は、クラスターに対して削除保護を有効にする機能も提供します。削除保護が有効になっている Amazon DocumentDB クラスターを削除しようとすると、削除は失敗し、クラスターは変更されません。削除保護を有効にするAWS CLIと、Amazon DocumentDB 、AWS Management Console、および からの偶発的な削除から保護します CloudFormation。Amazon DocumentDB クラスターの削除保護の有効化、および無効化の詳細については 削除保護 を参照してください。