AWS 上の MongoDB クイックスタートリファレンスデプロイガ イド AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド AWS 上の MongoDB: クイックスタートリファレンスデプロイガイド Copyright © 2016 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Abstract MongoDB を AWS クラウドにデプロイするために必要なアーキテクチャ上の考慮事項と設定手順を説明 します。AWS CloudFormation テンプレートは、新しいまたは既存の Amazon VPC へのデプロイを自動 化します。 Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon. AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド Table of Contents ホーム ......................................................................................................................................... 1 クイックスタートについて ..................................................................................................... 2 概要 ............................................................................................................................................ 3 AWS 上の MongoDB .............................................................................................................. 3 料金 .................................................................................................................................... 3 AWS のサービス ................................................................................................................... 4 アーキテクチャ ............................................................................................................................. 6 MongoDB の構造 .................................................................................................................. 6 パフォーマンス ................................................................................................................... 10 プライベートサブネットの MongoDB ..................................................................................... 11 デプロイメント ........................................................................................................................... 12 ここで取り上げる内容 .......................................................................................................... 12 ステップ 1. アカウントを準備する ......................................................................................... 13 ステップ 2(a): 新しい Amazon VPC 内に起動する .................................................................... 16 ステップ 2(b): 既存の Amazon VPC 内に起動する .................................................................... 19 ステップ 3. MongoDB ノードに接続する ................................................................................. 20 MongoDB をテストする ................................................................................................................ 23 データのバックアップ .................................................................................................................. 24 セキュリティ .............................................................................................................................. 25 IAM ................................................................................................................................... 25 OS セキュリティ ................................................................................................................. 25 セキュリティグループ .......................................................................................................... 26 リソース .................................................................................................................................... 27 付録: セキュリティグループの仕様 ................................................................................................. 29 フィードバック ........................................................................................................................... 31 ドキュメントの改訂 ..................................................................................................................... 32 ......................................................................................................................................... 32 iii AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド MongoDB on the AWS Cloud Abstract AWS の MongoDB クイックスタートの概要とデプロイリンクへの簡単なアクセス。 クイックスタートリファレンスデプロイガイド Karthik Krishnan 2015 年 4 月 このクイックスタートリファレンスデプロイガイドは、MongoDB クラスターをアマゾン ウェブ サー ビス (AWS) クラウドにデプロイするために必要なアーキテクチャ上の考慮事項と設定手順を含み、 Amazon Elastic Compute Cloud (Amazon EC2) や Amazon Virtual Private Cloud (Amazon VPC) などの サービスを使用して AWS に MongoDB をデプロイするためのベストプラクティスを説明します。ま た、AWS アカウントへの直接的なデプロイや起動に利用できる自動 AWS CloudFormation テンプレー トへのリンクを示します。 このガイドは、AWS クラウドでの MongoDB ワークロードの実装や拡張を検討している IT インフラス トラクチャアーキテクト、管理者、DvOps プロフェッショナルを対象としています。 以下のリンクは参考情報です。クイックスタートを起動する前に、アーキテクチャ、設定、ネットワー クセキュリティなどの、このガイドで説明されている考慮事項を確認してください。 • クイックスタートを起動し、AWS アカウント の新しい Amazon VPC に MongoDB をデプロ イします (既存の Amazon VPC に MongoDB を デプロイする方法については、「デプロ イ (p. 12)」セクションを参照してください。デ プロイ時間: 約 15 分 • テンプレート表示により、デプロイを自動化す る AWS CloudFormation テンプレートのセット アップを確認します。テンプレートは、起動中 にカスタマイズしたり、他のプロジェクト用に ダウンロードして拡張したりできます。 1 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド クイックスタートについて Note クイックスタートリファレンスデプロイを実行する際は、AWS サービスの利用料金を負担す る必要があります。価格は変更されることがあります。詳細については、「コスト (p. 3)」セ クションや使用する AWS サービスの料金表ページを参照してください。 クイックスタートについて Abstract クイックスタートは、AWS クラウドでの主要なワークロード向けに自動化されているリファレンスデ プロイです。各クイックスタートでは、セキュリティと可用性に関する AWS ベストプラクティスに 沿って、AWS で特定のワークロードをデプロイするために必要な AWS のコンピューティング、ネッ トワーク、ストレージ、その他のサービスを起動、設定、実行します。 2 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド AWS 上の MongoDB 概要 Abstract MongoDB、コスト、AWS でのデプロイで使用される AWS サービスの概要。 AWS 上の MongoDB Abstract MongoDB はオープンソースの NoSQL データベースであり、JSON スタイルのドキュメント指向のス トレージシステムをサポートします。MongoDB では、どのような構造のデータでも保存できる柔軟な データモデルがサポートされており、完全なインデックスのサポート、シャーディング、レプリケー ションを含む一連の豊富な機能をご利用いただけます。 AWS により、柔軟かつスケーラブルでコスト効率の優れた方法で AWS クラウドに MongoDB をデプ ロイするためのインフラストラクチャをセットアップできます。このリファレンスデプロイにより、設 定タスクやデプロイタスクを自動化し、MongoDB クラスターを容易に構築できます。 このクイックスタートは、AWS での MongoDB クラスター (バージョン 2.6 または 3.0) のセルフサー ビス型デプロイをサポートします。 料金 Abstract このデプロイは、MongoDB バージョン 2.6 または 3.0 を指定された設定で自動的に起動します。この クイックスタートリファレンスデプロイの実行中に使用した AWS サービスのコストは、お客様が負担 します。クイックスタートを使用しても追加コストは発生しません。コストは、デプロイする設定のス トレージやコンピューティングによって異なります。 3 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド AWS のサービス 次の表に、このガイドの発行時点での一部設定のコスト見積もりを示します。コストには月平均が反映 され、ストレージデータには各 MongoDB ノード (該当する場合は設定サーバーを除く) にアタッチさ れた Amazon Elastic Block Store (Amazon EBS) ボリュームのサイズが反映されます。 インスタン スタイプ クラスター シャードの 数 レプリカ セット ストレージ (GiB) Amazon EBS ボ リューム IOPS* コスト/月** ($) t2.micro 0 1 10 gp2 30 0 (無料利用枠 ***) m3.2xlarge 0 3 500 gp2 1,500 1,496 m3.2xlarge 0 3 1,000 gp2 3,000 1,646 c3.4xlarge 0 3 2,000 gp2 6,000 2,561 c3.8xlarge 2 3 4,000 gp2 10,000 18,430 c3.8xlarge 2 3 4,000 io1 2 万件 18,430 c3.8xlarge 2 3 8,000 io1 2 万件 21,430 *GP2 ボリュームと PIOPS ボリュームの詳細については、「Amazon EBS ボリュームの種類」を参照 してください。 **価格は変更されることがあります。詳細については、使用する各 AWS サービスの料金表ページや AWS 簡易見積りツールを参照してください。 ***無料利用枠: 対象の詳細については、AWS 無料利用枠のウェブページを参照してください。 AWS のサービス Abstract このクイックスタートで使用される AWS の主要コンポーネントには、次の AWS サービスが含まれま す (AWS を初めて利用する場合は、AWS ドキュメントの「はじめに」セクションを参照してくださ い)。 • Amazon EC2 – Amazon Elastic Compute Cloud (Amazon EC2) サービスは、様々なオペレーティン グシステムで仮想マシンインスタンスを起動できるようにします。既存の Amazon マシンイメージ (AMI) から選択するか、または独自の仮想マシンイメージをインポートできます。 • Amazon VPC – Amazon Virtual Private Cloud (Amazon VPC) サービスは、AWS クラウドの隔離され たプライベートなセクションをプロビジョニングし、定義した仮想ネットワークで AWS サービスや 他のリソースを起動できるようにします。独自の IP アドレス範囲の選択、サブネットの作成、ルー ティングテーブルとネットワークゲートウェイの設定など、仮想ネットワーク環境を完全にコント ロールできます。 • Amazon EBS – Amazon Elastic Block Store (Amazon EBS) は、AWS クラウドの Amazon EC2 イン スタンスで使用するための永続的なブロックレベルのストレージボリュームを提供します。コンポー ネントに障害が発生した場合でも高い可用性と耐久性を提供できるように、各 Amazon EBS ボリュー ムはアベイラビリティーゾーン内で自動的にレプリケートされます。Amazon EBS ボリュームは、 ワークロードの実行に必要な一貫した低レイテンシーのパフォーマンスを提供します。 • AWS CloudFormation – AWS CloudFormation は、関連する AWS リソースのコレクションを容易に 作成および管理し、整った予測可能な方法でプロビジョニングおよび更新できるようにします。テン プレートを使用して、必要なすべての AWS リソース (Amazon EC2 インスタンスなど) を説明しま 4 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド AWS のサービス す。リソースを個別に作成、設計して、それぞれの依存関係を考える必要はありません。AWS CloudFormation がすべてを処理します。 • IAM – AWS Identity and Access Management (IAM) を使用すると、AWS のサービスおよびリソース に対するお客様のユーザーのアクセスを安全にコントロールすることができます。IAM を使用するこ とにより、ユーザー、アクセスキーなどの認証情報、およびユーザーがアクセスできる AWS リソー スを制御するアクセス権限を集中管理できます。 5 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド MongoDB の構造 アーキテクチャ Abstract AWS とクイックスタートでデプロイされた MongoDB コンポーネント、パフォーマンスに関する考慮事項、トポ ロジ AWS CloudFormation は、関連する AWS リソースのコレクションを容易に作成および管理し、整った 予測可能な方法でプロビジョニングおよび更新できるようにします。 次のコンポーネントは、このリファレンスデプロイの一部としてデプロイおよび設定されます。 • 2 つのサブネット (パブリックサブネットとプライベートサブネット) で設定された Amazon VPC。 • アウトバウンドのインターネット接続とインバウンドの SSH (Secure Shell) アクセスのため、ネッ トワークアドレス変換 (NAT) インスタンスがパブリックサブネットにデプロイされ、Elastic IP アド レス (EIP) で設定されます。NAT インスタンスは、プライベートネットワーク内で Amazon EC2 イ ンスタンスが起動された場合のインターネットアクセスに使用されます。 • デプロイプロセスには、AWS サービスへの詳細に調整されたアクセス許可を持つ AWS Identity and Access Management (IAM) インスタンスロールが必要です。 • 各インスタンスや機能のセキュリティグループにより、必要なプロトコルやポートのみにアクセスが 制限されます。 • 完全に MongoDB クラスター (レプリカセット、シャード、設定サーバーなど) とカスタマイズ可能 な Amazon EBS ストレージ。クイックスタートは、すべての MongoDB 関連ノードをプライベート サブネットで起動します。そのため、ノードは SSH を使用してアクセスされ、NST インスタンスに 接続します。さらに、クイックスタートはセキュリティグループをセットアップしてノード間のアク セスを制限します。コンソールは、必要に応じてセキュリティグループの追加のカスタマイズをサ ポートします。 MongoDB の構造 Abstract リファレンスデプロイで使用される構成要素の例を示します。 レプリカセット。同じデータを保持するmongod インスタンスのグループを指します。レプリケーショ ンの目的は、1 つのサーバーがダウンした際に高可用性を確保することです。このリファレンスデプロ イでは 1 つまたは 3 つのレプリカセットをサポートしています。レプリカセットが 3 つの場合、リファ レンスデプロイは 3 つのサーバーを 3 つの異なるアベイラビリティーゾーンで起動します (リージョン 6 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド MongoDB の構造 がサポートしている場合)。実稼働用クラスターでは、3 つのレプリカセット (Primary、Secondary0、 Secondary1) を使用することが推奨されます。 すべてのクライアントは、通常プライマリノードを操作して読み取りや書き込みのオペレーションを実 行します。読み取りオペレーションでは、プリファレンスとしてセカンダリノードを設定できますが、 書き込みオペレーションは必ずプライマリノードで行われ、セカンダリノードで非同期にレプリケート されます。読み取りオペレーションでセカンダリノードを選択する場合は、古いデータに注意する必要 があります。これは、セカンダリノードがプライマリノードと同期されていない場合があるためです。 読み取りオペレーションがどのようにレプリカセットにルーティングされるかについては、MongoDB ドキュメントを参照してください。 開発環境では、1 つのレプリカセットから始めて、本稼働中に 3 つのレプリカセットに移行できます。 図 1 にレプリケーション係数 3 の MongoDB リファレンスデプロイを示します。 図 1: 3 つのレプリカセットを使用する AWS の MongoDB クラスター プライマリインスタンスが失敗した場合、別のアベイラビリティーゾーンのセカンダリインスタンスの 1 つが新しいプライマリノードとなり、自動フェールオーバーが確実に実行されます。 7 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド MongoDB の構造 シャーディング。複数のノードに渡るデータのディストリビューションを指します。複数のノードに 渡って異なるデータを保存することで、読み取りや書き込みのパフォーマンスのための水平方向のス ケーラビリティが実現します。データセットが大きい場合、単一ノードでは CPU または I/O パフォー マンスによってボトルネックが発生することがあります。シャーディングは、シャードノードが処理す るオペレーションの数を減らし、クラスター全体のパフォーマンスを向上させることで、このボトル ネックを解決します。このクイックスタートは、最大 3 つのシャードをサポートします。シャード数を 0 にすると、クラスターがレプリケートされます。 シャードされたクラスター。MongoDB は、シャードされたクラスターを通じてシャ―ディングをサポー トします。各シャードはレプリカセットになる場合があります。このクイックスタートは、1 または 3 つのレプリカセットをサポートします。そのため各シャードは、1 つまたは 3 つのアベイラビリティー ゾーンに格納されます。シャードされたクラスターは、各シャードの高可用性を実現するため、実稼働 に推奨されます。 クエリルーター。mongos プロセスやクライアントとのインターフェースを実行するインスタンスで す。mongos プロセスは、アプリケーションレイヤーからクエリを処理し、シャードされたクラスター 内のクエリデータの場所を決定します。このリファレンスデプロイは、プライマリノードで 1 つのクエ リルーターを実行します。必要に応じて、追加のルーターを手動で開始できます。 設定サーバー。このリファレンスデプロイは、シャードされたクラスター内の 3 つの異なるアベイラビ リティーゾーンで 3 つの設定サーバーを起動します。これらはクラスターのメタデータを保存する軽量 のインスタンスであるため、設定サーバーはスモールインスタンスタイプで十分です。 図 2 に、2方向シャードと3方向レプリケーションが行われたクラスターを示します。 8 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド MongoDB の構造 図 2: 3 つのレプリカセットと 2 方向シャ―ディングを使用する AWS の MongoDB クラスター 9 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド パフォーマンス パフォーマンスに関する考慮事項 Abstract リファレンス実装ではコンピューティングとストレージの様々な選択肢が示されます。次の表に、コン ピューティングの選択肢の例を示します。 インスタンスタイプ vCPU メモリ (GiB) ワークロードタイプ c3.4xlarge 16 55 コンピューティング最適 化 c3.8xlarge 32 60 コンピューティング最適 化 c4.8xlarge 36 60 コンピューティング最適 化 r3.4xlarge 16 122 メモリ最適化 r3.2xlarge 8 61 メモリ最適化 r3.8xlarge 32 244 メモリ最適化 一般的なガイドラインとして、垂直方向ではなく水平方向にインスタンスを増加させることを検討しま す。水平方向のスケーリングにより、シングルノードの制限を克服し、単一障害点を回避し、さらにク ラスター全体のスループットを潜在的に向上させることができます。 ストレージについては、データベースの要件によって、各ノードにアタッチされるストレージボリュー ムを変更することができます。Amazon EBS のボリュームタイプは、「汎用 (SSD)」、「プロビジョ ンド IOPS (SSD)」、「マグネティック」の 3 つがあります。これらはパフォーマンス特性とコストが 異なるため、アプリケーションのニーズに応じて適切なストレージパフォーマンスと料金を選択できま す。Amazon EBS のボリュームタイプはすべて、耐久性に優れた同じスナップショット機能を備え、 99.999% の可用性を保証します。このリファレンスデプロイは、汎用ストレージボリュームとプロビ ジョンド IOPS ストレージボリュームをサポートします。 次の表に、各ストレージのタイプのパフォーマンス特性の一部を示します。パフォーマンス要件によっ ては、ストレージタイプや Amazon EBS プロビジョンド IOPS 容量 (選択している場合) を決定する前 にアプリケーションをベンチマークすることが必要な場合があります。 ボリュームタイプ vCPU メモリ (GiB) ストレージメディア SSD タイプ SSD タイプ 最大ボリュームサイズ 16 TiB 16 TiB 最大 IOPS/ボリューム 10,000 2 万件 10 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド プライベートサブネットの MongoDB プライベートサブネットの MongoDB クラスター Abstract 図 3: プライベートサブネットトポロジ プライベートサブネットクラスタートポロジには、Elastic IP アドレス (EIP) が関連付けられた NAT イ ンスタンスと、SSH が NAT インスタンスにアクセスできるようにするセキュリティグループアドレス が含まれます。その他の MongoDB 関連の Amazon EC2 インスタンスはすべて、プライベートサブネッ ト内に作成されます。このトポロジでは、MongoDB 内の Amazon EC2 インスタンスがインターネッ トやその他の AWS サービスに直接アクセスすることはありません。その代わり、これらのアクセス は、パブリックサブネット内の NAT インスタンス経由でルーティングされます。詳細については、 「Amazon VPC NAT インスタンスの高可用性」を参照してください。 11 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド ここで取り上げる内容 デプロイメント Abstract AWS で MongoDB をデプロイする手順。 柔軟な AWS プラットフォームに MongoDB を簡単にデプロイできます。このガイドは、完全にカスタ マイズ可能な MongoDB クラスターをオンデマンドでセットアップする顧客の参考資料となります。 AWS でスケーラブルなオンデマンドのインフラストラクチャを構築することで、大規模なコンピュー ティングとストレージ要件に対応するにコスト効率に優れたソリューションが実現します。 AWS の柔軟なアーキテクチャにより、環境に最も適したネットワーク、コンピューティング、ストレー ジインフラストラクチャを選択できます。トップレベルでは、クイックスタートを既存の Amazon VPC にデプロイしたり、MongoDB クラスター用に新しい Amazon VPC を作成したりできます。 ここで取り上げる内容 Abstract AWS に MongoDB をデプロイする手順は、次のステップで構成されています。詳細な手順については、 各ステップのリンクをクリックしてください。 • ステップ 1. AWS アカウントを準備する (p. 13) • まだ AWS アカウントを持っていない場合は、サインアップしてアカウントを作成します。 • スタックを AWS にデプロイするリージョンを選択します。 • リージョンにキーペアを作成します。 • Amazon EC2 インスタンスと Amazon EBS ボリュームのアカウント制限を確認し、必要に応じて 制限の引き上げをリクエストします。 既存の Amazon VPC があるかどうかに基づいて、ステップ 2(a) またはステップ 2(b) を選択します。 • ステップ 2(a). 新しい Amazon VPC にクイックスタートを起動する (p. 16) クイックスタートを起動して MongoDB を新しい Amazon VPC にデプロイすると、このクイックス タートに含まれる AWS CloudFormation テンプレートが以下の操作を自動化します。 • Amazon VPC をセットアップします。 12 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド ステップ 1. アカウントを準備する • Amazon VPC 内のプライベートサブネットとパブリックサブネット、NAT インスタンス、セキュ リティ グループ、IAM ロールなど、MongoDB のデプロイ中に必要な様々なネットワークリソース を作成します。 • Amazon EBS をセットアップして MongoDB を保存します。必要に応じて Amazon EBS をカスタ マイズできます。AWS CloudFormation テンプレートは、ストレージタイプとストレージサイズの 両方を設定するオプションを提供します。Amazon EBS ボリューム用に Provisioned IOPS を選択 することもできます。 • MongoDB 設定をカスタマイズするオプションを指定した後、起動します。MongoDB のバージョ ン番号 (2.6 または 3.0)、レプリカセットの数 (1 または 3)、シャード数 (0、1、2、または 3)、イ ンスタンスあたりのマイクロシャード数を選択できます。 • セキュリティ設定を完全に自動化して各 MongoDB インスタンスに最小の権限を指定し、ファイア ウォールオプションを設定して MongoDB ノード間のアクセスを開放します。 • ステップ 2(b). 既存の Amazon VPC にクイックスタートを起動する (p. 19) このクイックスタートは、既存の Amazon VPC にMongoDB をデプロイするための独立したテンプ レートを提供します。AWS 内に既に Amazon VPC を構築していて、Amazon VPC に MongoDB を デプロイする場合は、このオプションを使用します。テンプレートは、ステップ 2(a) での新しい Amazon VPC の作成を除いたすべてのステップを自動化します。 • ステップ 3. MongoDB ノード サービスに接続する (p. 20) ノードはプライベートサブネットにあるため、SSH を使用し、NAT インスタンスを介して MongoDB ノードに接続します。 ステップ 1. AWS アカウントを準備する Abstract AWS クラウドに MongoDB をデプロイする AWS アカウントを準備する方法 1. 2. AWS アカウントを取得済みでない場合は、http://aws.amazon.com で画面上の指示に従って作成し ます。 サインアップ手順の一環として、通話呼び出しを受け取り、電話のキーパッドを用いて PIN を入力することが求められます。 ナビゲーションバーのリージョンセレクターを使用し、AWS に MongoDB クラスターをデプロイ する Amazon EC2 リージョンを選択します。 Amazon EC2 のロケーションは、リージョンとアベイラビリティーゾーンで構成されています。 リージョンは、独立した地理的領域に分散して存在します。すべての Amazon EC2 インスタンス (R3 インスタンス以外) を任意のリージョンで起動できます。R3 インスタンスは現在、AWS GovCloud (US)、中国(北京)、および 南米(サンパウロ) を除くすべての AWS リージョンで 利用可能です。 13 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド ステップ 1. アカウントを準備する 図 4: Amazon EC2 リージョンを選択する ヒント データセンターや社内ネットワークに最も近いリージョンを選択して、AWS で実行され ているシステム間、および企業ネットワーク上のシステムとユーザー間のネットワークレ イテンシーを削減するためにリージョンを選択することを検討します。 3. 任意のリージョンでキーペアを作成します。これを行うには、Amazon EC2 コンソールのナビゲー ションペインで [Key Pairs]、[Create Key Pair] を選択し、名前を入力して [Create] を選択します。 図 5: キーペアを作成する Amazon EC2 はパブリックキー暗号を使用して、ログイン情報の暗号化と復号化を行います。イ ンスタンスにログイン可能にするには、キーペアを作成する必要があります。Linux では、キーペ アを使用して SSH ログインを認証します。 14 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド ステップ 1. アカウントを準備する 4. 必要に応じて、デプロイする Amazon EC2 インスタンスタイプのためにサービス上限緩和申請を 実行します。これを行うには、AWS サポートセンターで、[Create Case]、[Service Limit Increase]、 [EC2 instances] の順に選択し、上限緩和フォームのフィールドに入力します。 インスタンスタイプによって、実行できるインスタンス数のデフォルト制限を 2 から最大 20 にな ります。デフォルトのインスタンス制限は、Amazon EC2 FAQ ページで確認できます。このイン スタンスタイプを使用するデプロイが既に存在する場合、またはこのリファレンスデプロイでデ フォルト設定を超過することが見込まれる場合は、Amazon EC2 インスタンスサービス上限緩和 をリクエストする必要があります。新しいサービスの上限が有効になるには、数日かかる場合があ ります。詳細については、『AWS ドキュメント』の「Amazon EC2 サービスの制限」を参照して ください。 図 6: サービスの上限緩和を申請する 5. 必要に応じて、使用可能な Amazon EBS ボリュームの制限の引き上げをリクエストします。制限 タイプとして [EBS] を選択し、ステップ 4 の要領で制限申請フォームのフィールドに入力します。 15 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド ステップ 2(a): 新しい Amazon VPC 内に起動する ステップ 2(a). 新しい Amazon VPC にクイックス タートを起動する Abstract AWS クラウドの新しい Amazon VPC に MongoDB をデプロイする手順 このステップでは、以下を自動化する AWS CloudFormation テンプレートを起動します。 • MongoDB デプロイのためのベース AWS ネットワークインフラストラクチャを提供する Amazon VPC を設定します。 • Amazon VPC 内のパブリックサブネットおよびプライベートサブネット、パブリックサブネット内 で起動される NAT インスタンス、セキュリティグループ、IAM ロールなどの MongoDB のデプロイ に必要なネットワークリソースを作成します。 • 選択したレプリカセットやシャ―ディングのオプションに基づいて、Amazon Linux を実行する Amazon EC2 インスタンスを起動します。さらに、Amazon EBS ストレージボリュームは自動的にこれらの インスタンスにアタッチされます。 • 選択した MongoDB のバージョンを、必要なスクリプトと設定ファイルとともにダウンロードしま す。 ここでのすべてのステップは、AWS CloudFormation テンプレートで完全に自動化されます。構成設定 の一部を変更できますが、[KeyName] のみはテンプレートによって必須入力となっています。これは、 AWS アカウントのセットアップ時にステップ 1 (p. 13) で作成されたキーペアの名前です。 1. AWS CloudFormationテンプレートを AWS アカウントに起動します。 テンプレートは、デフォルトで US East (N. Virginia) リージョンで起動されます。ナビゲー ションバーのリージョンセレクターを使用する ことで、リージョンを変更できます。デプロイ 時間: 約 15 分 Note このクイックスタートリファレンスデプロイの実行中に使用した AWS サービスのコスト は、お客様が負担します。このクイックスタートを使用しても追加コストは発生しませ ん。様々なインスタンスタイプとストレージ設定の費用の見積については、「費用 (p. 3)」 のセクションを参照してください。価格は変更されることがあります。詳細については、 このクイックスタートで使用する各 AWS サービスの料金表ページを参照してください。 2. 3. テンプレートをダウンロードし、実装の開始点として使用することもできます。 [Select Template] ページで、スタック名とテンプレートソースをデフォルト設定のままにし、[Next] を選択します。 [Specify Parameters] ページで、テンプレートのパラメータを確認します。[KeyName] パラメータ の値を指定します。次の追加パラメータをカスタマイズすることもできます。AWS CloudFormation テンプレートはこれらの設定を使用してクラスター設定ファイルを作成します。終了したら、[Next] を選択します。 16 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド ステップ 2(a): 新しい Amazon VPC 内に起動する ネットワーク設定 パラメータ Default 説明 VPCCIDR 10.0.0.0/16 作成している Amazon VPC の CIDR ブロック。 PublicSubnet 10.0.1.0/24 新しい Amazon VPC にあるパ ブリック DMZ サブネットの CIDR ブロック。 PrimaryReplicaSubnet 10.0.2.0/24 プライマリレプリカがデプロイ されているプライベートサブ ネットの CIDR ブロック。 SecondaryReplicaSubnet0 10.0.3.0/24 セカンダリレプリカセット 0 の プライベートサブネットの CIDR ブロック (ClusterReplicaSetCount >= 2 の場合にのみ適 用)。 SecondaryReplicaSubnet1 10.0.4.0/24 セカンダリレプリカセット 1 の プライベートサブネットの CIDR ブロック (ClusterReplicaSetCount >= 2 の場合にのみ適 用)。 RemoteAccessCIDR 0.0.0.0/0 SSH を使用して NAT インスタ ンスに接続するための IP CIDR。 KeyName 既存のパブリック/プライベート キーペアを指定することで、起 動後にインスタンスに安全に接 続できます。AWS アカウント を準備した際に、ステップ 1 (p. 13) で作成したキーペアで す。 パラメータ Default 説明 NATInstanceType m1.small NAT インスタンスの Amazon EC2 インスタンスタイプ。 NodeInstanceType m3.medium MongoDB ノードの Amazon EC2 インスタンスタイプ。 ConfigServerInstanceType t2.micro 設定サーバーの Amazon EC2 イ ンスタンスタイプ。 コンピューティングの設定 17 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド ステップ 2(a): 新しい Amazon VPC 内に起動する ストレージ設定 パラメータ Default 説明 VolumeSize 400 ノートにアタッチされる Amazon EBS ボリュームサイズ (データ) (GiB)。 VolumeType gp2 Amazon EBS ボリュームタイプ (gp2 または io1)。 Iops 100 io1 ボリュームを選択した場合 の Amazon EBS ボリュームの IOPS。それ以外の場合、この設 定は無視されます。 パラメータ Default 説明 ClusterReplicaSetCount 1 レプリカセットの数。1 または 3 を選択します。 ClusterShardCount 0 シャード数。0、1、2、または 3 を選択します。0 はシャ―ディ ングなしです。> 1 でシャ―ディ ングを設定します。 ShardsPerNode 1 ノードあたりのマイクロシャー ド数。 MongoDBVersion 3.0 MongoDB バージョン (2.6 また は 3.0)。 MongoDB オプション 4. 5. [Options] ページで、[Next] を選択します。 [Review]ページで設定を確認し、[Create] を選択してスタックをデプロイします。 図 7 のように [Status] フィールドに「CREATE_COMPLETE」が表示されていれば、MongoDB の 準備は完了しています。 18 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド ステップ 2(b): 既存の Amazon VPC 内に起動する 図 7: MongoDB クラスターを正常に作成 ステップ 2(b). クイックスタートを既存の Amazon VPC に起動する Abstract AWS クラウドの既存の VPC に MongoDB をデプロイする手順。 19 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド ステップ 3. MongoDB ノードに接続する 既存の Amazon VPC がある場合も、クイックスタートを使用して MongoDB クラスターを構築できま す。デプロイの手順は、ステップ 2(a) (p. 16) と同じですが、ネットワークパラメータの設定のみが異 なります。CIDR 範囲の代わりに、次の表に従って対応するサブネットの ID を入力します。他の全て のオプションは同じままです。 テンプレートは、デフォルトで US East (N. Virginia) リージョンで起動されます。ナビゲーション バーのリージョンセレクターを使用することで、 リージョンを変更できます。デプロイ時間: 約 15 分 パラメータ Default 説明 PrimaryNodeSubnet subnet-xxxx ( ) プライマリノードをデプロイする Amazon VPC の既存のサブネッ トの ID。 Secondary0NodeSubnet subnet-xxxx ( ) セカンダリレプリカセット 0 (該 当する場合) をデプロイする Amazon VPC の既存のサブネッ トの ID。 Secondary1NodeSubnet subnet-xxxx ( ) セカンダリレプリカセット 1 (該 当する場合) をデプロイする Amazon VPC の既存のサブネッ トの ID。 テンプレートをダウンロードし、実装の開始点として使用することもできます。 ステップ 3. MongoDB ノードに接続します。 Abstract AWS のデプロイ後に MongoDB ノードに接続する方法。 AWS CloudFormation テンプレートが正常にスタックを作成している場合、すべての MongoDB ノード は、AWS アカウントにインストールされたソフトウェアを実行します。MongoDB ノードに接続する には、SSH を使用して NAT インスタンスに接続します。Amazon EC2 コンソールで、インスタンスを 選択してから [Connect] を選択します。 20 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド ステップ 3. MongoDB ノードに接続する 図 8: MongoDB ノードに接続する SSH を使用して NAT インスタンスに接続すると、同様の方法で任意の MongoDB ノードに接続できま す (ノードを選択して [Connect] を選択し、SSH コマンドを見つけます)。 重要 MongoDB ノードに接続するには、プライベートキー (.pem) ファイルが必要です。プライベー トキー (.pem) ファイルを NAT インスタンスにコピーします。例: scp –i mykey.pem mykey.pem ec2-user@NAT-public-ip:/home/ec2-user/mykey.pem すべての MongoDB ノードが、IAM ロールで起動される点に注意してください。このロールにより Amazon DynamoDB テーブルの作成と消去、Amazon Simple Storage Service (Amazon S3) へのアクセ スし、Amazon EC2 インスタンスの作成と消去などの様々なタスクの権限が付与されます。IAM コン 21 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド ステップ 3. MongoDB ノードに接続する ソールを使用してポリシーを変更できます。IAM ロールの利点の詳細については、AWS ドキュメント の「Amazon EC2 で実行されるアプリケーションにアクセス許可を委任する IAM ロールの使用」を参 照してください。 22 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド MongoDB をテストする Abstract AWS で MongoDB のデプロイを検証するための手順。 AWS CloudFormation テンプレートが正常に完了すると、システムは、プライマリレプリカセットの各 ノードで mongos インスタンスを実行します。システムを検証して設定を確認するには、次の手順を実 行します。 1. 2. SSH を使用し、クイックスタートテンプレートで作成されたプライマリインスタンスの 1 つにロ グインします。 端末から次のコマンドを実行します。 mongo sh.printShardingStatus() 3. mongo シェルがデフォルトの TCP ポート (27017) でローカルホストに接続されていること、さら にクイックスタートテンプレート用に指定した設定が出力に反映されていることを確認します。 MongoDB サーバーのテストの詳細については、MongoDB ドキュメントを参照してください。 23 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド データのバックアップ Abstract AWS へのデプロイ後、MongoDB データを Amazon S3 にバックアップする際の推奨事項。 バックアップのため、Amazon S3 を使用して MongoDB データのコピーを保持することが推奨されま す。Amazon S3 では、複数の施設にまたがる複数のデバイスにデータオブジェクトが冗長的に格納さ れるので、多数のさまざまなクライアントやアプリケーションスレッドからデータオブジェクトに対す る読み込み/書き込みの同時アクセスが可能になります。Amazon S3 に格納された冗長データを使用す れば、インスタンスまたはアプリケーションの障害から迅速かつ確実に復旧できます。 その他のバックアップ戦略については、MongoDB ドキュメントを参照してください。 24 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド IAM セキュリティ Abstract AWS 上の MongoDB のセキュリティに関する考慮事項とガイドライン AWS クラウドが提供するスケーラブルで信頼性の高いプラットフォームは、顧客がアプリケーション やデータを素早く安全にデプロイすることを可能にします。 AWS インフラストラクチャでシステムを構築すると、お客様と AWS の間でセキュリティ上の責任が 分担されます。この共有モデルにより、ホストオペレーティングシステムや仮想化レイヤーから、サー ビスが実行されている施設の物理的なセキュリティまで、コンポーネントが AWS によって運用、管 理、制御されるため、運用上の負担を軽減させることができます。一方で、ゲストオペレーティングシ ステム (アップデートやセキュリティパッチを含む)、その他の関連するアプリケーション、ならびに AWS より提供されるセキュリティグループのファイアウォールの設定に関する責任と管理はお客様に 任されます。AWS のセキュリティの詳細については、AWS セキュリティセンターを参照してくださ い。 AWS Identity and Access Management (IAM) Abstract このソリューションは、最小限の特権アクセスを持つ IAM ロールを利用しています。プロビジョニン グされたインスタンスで SSH キー、シークレットキー、またはアクセスキーを保存することは必要な く、また推奨されません。 OS セキュリティ Abstract クラスターノードのルートユーザーには、デプロイプロセス中に指定された SSH キーでのみアクセス できます。AWS はこれらの SSH キーを保存しないため、SSH キーを紛失するとこれらのインスタン スにアクセスできなくなる場合があります。 オペレーティングシステムパッチは、お客様の責任において定期的に実行する必要があります。 25 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド セキュリティグループ 個のセキュリティグループ Abstract セキュリティグループは、1 つ以上のインスタンスのトラフィックを制御するファイアウォールとして 機能します。インスタンスを起動するときに、1 つ以上のセキュリティグループとインスタンスを関連 付けます。各セキュリティグループに対してルールを追加し、関連付けられたインスタンスに対するト ラフィックを許可します。セキュリティグループのルールはいつでも変更できます。新しいルールは、 セキュリティグループに関連付けられているインスタンスすべてに自動的に適用されます。 このソリューションの一部として作成されて各インスタンスに割り当てられたセキュリティグループ は、MongoDB に必要な様々な機能へのアクセスが確保されるように、可能な限り制限されます。クラ スターが起動され実行された後に、必要に応じてさらにアクセスを制限する場合は、セキュリティグ ループを確認することが推奨されます。 26 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド その他のリソース Abstract MongoDB を AWS にデプロイするための追加の参考資料とリンク。 AWS サービス • はじめに • AWS CloudFormation • Amazon EC2: • ユーザーガイド • リージョンとアベイラビリティーゾーン • キーペア • インスタンスストア • よくある質問 • Amazon EBS: • 概要 • ボリュームの種類 • AWS Identity and Access Management: • ユーザーガイド • IAM の利点 • Amazon VPC: • ドキュメント • NAT インスタンスの高可用性 • AWS セキュリティセンター • AWS 簡易見積りツール MongoDB • MongoDB on AWS: ガイドラインとベストプラクティス • MongoDB プロダクションノート • MongoDB MMS ドキュメント • MongoDB アーキテクチャガイド 27 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド • MongoDB のパフォーマンスベストプラクティス • MongoDB のマルチデータセンターデプロイ • MongoDB サーバーのテスト • MongoDB のバックアップ方法 • mongodump のリファレンス 追加のクイックスタートリファレンスデプロイ • AWS クイックスタートのホームページ 28 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド 付録: セキュリティグループの仕様 Abstract AWS の MongoDB クイックスタートのインバウンドおよびアウトバウンドプロトコルとポートの設定。 次の表に、このクイックスタートでデプロイされた様々なインスタンスに割り当てられ、設定されたイ ンバウンドおよびアウトバウンドプロトコルとポートを示します。 NAT セキュリティグループ インバウンド: 送信元 プロトコル ポート範囲 (サービス) コメント デプロイプロセス中に指 TCP 定された CIDR ブロック に制限されます。 22 (SSH) ネットワークから Linux インスタンスへのインバ ウンド SSH アクセス (インターネットゲート ウェイ経由) を許可しま す。 10.0.0.0/16 TCP 80 (HTTP) Amazon VPC にデプロ イされたインスタンスか らのみ、受信 HTTP ア クセスを許可します。 10.0.0.0/16 TCP 443 (HTTP) Amazon VPC にデプロ イされたインスタンスか らのみ、受信 HTTPS ア クセスを許可します。 送信先 プロトコル ポート範囲 コメント 10.0.1.0/24 TCP 22 (SSH) NAT インスタンスから 10.0.1.0 サブネットへの SSH アクセスを許可し ます。 アウトバウンド: 29 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド NAT セキュリティグループ 0.0.0.0/0 TCP 80 (SSH) Amazon VPC にデプロ イされたインスタンスか ら任意の場所へのアウト バウンド HTTP アクセ スを許可します。 0.0.0.0/0 TCP 443 (SSH) Amazon VPC にデプロ イされたインスタンスか ら任意の場所へのアウト バウンド HTTPS アクセ スを許可します。 10.0.2.0/24 TCP 22 (SSH) NAT インスタンスから 10.0.2.0 サブネット (プ ライマリ レプリカ) への SSH アクセスを許可し ます。 10.0.3.0/24 TCP 22 (SSH) NAT インスタンスから 10.0.3.0 サブネット (Secondary0 レプリカ) への SSH アクセスを許 可します。 10.0.4.0/24 TCP 22 (SSH) NAT インスタンスから 10.0.4.0 サブネット (Secondary1 レプリカ) への SSH アクセスを許 可します。 ポート範囲 (サービス) コメント デプロイプロセス中に指 TCP 定された CIDR ブロック に制限されます。 22 (SSH) ネットワークから Linux インスタンスへのインバ ウンド SSH アクセス (インターネットゲート ウェイ経由) を許可しま す。 カスタム TCP ルール TCP 1-65535 10.0.2.0/24 カスタム TCP ルール TCP 1-65535 10.0.3.0/24 カスタム TCP ルール TCP 1-65535 10.0.4.0/24 送信先 プロトコル ポート範囲 コメント 0.0.0.0/0 TCP 1-65535 すべてのクラスターノー ドからの任意の宛先への アウトバウンドアクセス を許可します。 MongoDB クラスターノード インバウンド: 送信元 プロトコル アウトバウンド: 30 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド フィードバックの送信 Abstract AWS の MongoDB クイックスタートでフィードバックを実行する方法です。 質問やコメントを歓迎しています。AWS クイックスタートディスカッションフォーラムにフィードバッ クを投稿してください。 GitHub リポジトリでは、このクイックスタートのテンプレートとスクリプトをダウンロードし、カス タマイズ内容を他のユーザーと共有できます。 31 AWS 上の MongoDB クイックスタートリファレンスデプ ロイガイド ドキュメントの改訂 Abstract AWS の MongoDB クイックスタートデプロイガイドの履歴テーブルを変更します。 日付 変更 場所 2015 年 4 月 日 初版発行 – 通知 Abstract このデプロイガイドは、情報提供のみを目的としています。本書は、発行時点における AWS の現行製 品と慣行を表したものであり、それらは予告なく変更されることがあります。お客様は本文書の情報お よび AWS 製品の使用について独自に評価する責任を負うものとします。これらの情報は、明示または 黙示を問わずいかなる保証も伴うことなく、「現状のまま」提供されるものです。本文書内のいかなる ものも、AWS、その関係者、サプライヤ、またはライセンサーからの保証、表明、契約的なコミット メント、条件や確約を意味するものではありません。お客様に対する AWS の責任は AWS 契約によっ て規定されています。また、本文書は、AWS とお客様との間の契約に属するものではなく、また、当 該契約が本文書によって修正されることもありません。 32
© Copyright 2025 ExpyDoc