AWS 上の MongoDB クイックスタートリファレンス

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