推定所要時間: 15 分
チュートリアルのこの部分では、Atlas UI の次のクイックスタート ウィザードを使用してフェデレーティッドデータベースインスタンスを配置する方法についてガイドします。
フィードダウンストリーム システム ウィザードを使用すると、Atlas クラスターからフェデレーティッドデータベースインスタンスをエクスポートし、データを Perquet、CSV、 BSON、またはMongoDB拡張JSONに変換し、指定された時点でAWS S3 バケットにデータをコピーするフェデレーティッドデータベースインスタンスを設定できます。 Atlas triggers を使用した間隔。
クエリ データウィザードを使用すると、複数の Atlas クラスターのデータにアクセスするフェデレーティッドデータベースインスタンスを設定でき、すべてのコレクションからフェデレーティッドクエリを実行できます。
ストレージ構成オプションの詳細については、フェデレーティッドデータベースインスタンスのデータストアの構成を参照してください。
必要なアクセス権
フェデレーティッドデータベースインスタンスを配置するには、プロジェクトに対する Project Owner アクセス権が必要です。
重要
Organization Owner アクセスを持つユーザーは、フェデレーティッドデータベースインスタンスを配置する前に、自分自身を Project Owner としてプロジェクトに追加する必要があります。
前提条件
チュートリアルのこの部分を完了するには、次の前提条件を満たしていることを確認してください。
MongoDB Atlasアカウントがまだない場合は、作成します。
フィードダウンストリーム システム ウィザードには、次のものが必要です。
AWSアカウントにアクセスするために構成されたAWS CLI 。または、 IAM ロールを作成するには、 AWS Management Console へのアクセス権が必要です。
抽出されたデータを保存する S バケット。3
データベースを持つ少なくとも 1 つの Atlas クラスター。
クラスター全体のクエリ データ ウィザードには、次のものが必要です。
フェデレーティッドデータベースインスタンスに使用するプロジェクトと同じプロジェクトに配置された少なくとも 1 つの Atlas クラスター。
少なくとも 1 つのデータベース コレクション。 まだコレクションがない場合は、サンプル データを読み込むことができます。
フィードダウンストリーム システム ウィザードの使用
フィードダウンストリーム システム ウィザードを使用すると、Atlas クラスターからAWS S3 バケットにスケジュールで継続的にデータを書込むフェデレーティッドデータベースインスタンスを設定できます。
データソースを指定します。
ドロップダウンから、データソースとして使用する Atlas クラスターを選択します。 デフォルトでは、Atlas Data Federation はこのクラスターにすべてのコレクションを追加します。 データのサブセットを使用するには、 Specific Collectionsをクリックし、データベースを展開し、フェデレーティッドデータベースインスタンスに追加するコレクションを選択します。
Tip
データベースとコレクションをフィルタリングするには、 Specific Collectionsフィールドにテキストを入力します。 ダイアログ ボックスには、検索条件に一致する名前を持つデータベースとコレクションのみが表示されます。
[Continue] をクリックします。
Atlas の AWS IAM ロールを選択します。
ロール選択ドロップダウン リストから、Atlas が認可されている既存のAWS IAM ロールを選択することも、Authorize an AWS IAM Role を選択して新しいロールを認可することもできます。
Atlas が認可する既存のロールを選択した場合は、次のステップに進み、 AWS S3 バケットを一覧表示します。
既存のロールを Atlas に認可するか、新しいロールを作成する場合は、次の手順に進む前に以下の手順を完了してください。
ドロップダウンから、 Authorize an AWS IAM Role ] を選択して新しいロールを承認するか、既存のロールを選択します。
セクションでAWS ARN Role Authorizationと一意の外部IDを使用して、既存または新規のAWS IAM ロールの信頼関係に Atlas を追加します。
Atlas UI で、次のいずれかをクリックします。
Create new AWS IAM roleは、ARN と一意の外部IDを使用して、新しいAWS IAM ロールの信頼関係に Atlas を追加する方法を示します。 Atlas UIの手順に従って新しいロールを作成します。詳しくは、 「 AWS CLI を使用した新しいロールの作成 」を参照してください。
新しいロールを認可する際、ワークフローを終了すると次の状況が発生します。
ロールを検証した後、Atlas はフェデレーティッドデータベースインスタンスを作成しません。 ただし、 ロールはロール選択ドロップダウンで使用可能であり、フェデレーティッドデータベースインスタンスの作成に使用できます。 ロールを再度認可する必要はありません。
重要
将来カスタムAWSロール ARN を変更する場合は、ロールのアクセス ポリシーに、フェデレーティッドデータベースインスタンスの S3 リソースへの適切なアクセスが含まれていることを確認してください。
詳細については、「統合Amazon Web Servicesアクセスの設定 」および「 クラウドプロバイダー アクセス ロールの作成 」を参照してください。
[Validate AWS IAM role] をクリックします。
データの抽出をスケジュールします。
セクションの $out を使用して、Atlas クラスターから S3Schedule Queries バケットにデータを継続的にコピーするためのトリガーを予定します。
Repeat Once Byドロップダウンを使用して、Atlas クラスターからデータを抽出する頻度を指定します。
任意。 何らかの理由で実行されなかった場合に、Atlas Data Federation が同じクエリを再実行する必要があるかどうかを指定します。 デフォルトでは、これは無効になっており、Atlas Data Federation は見逃したクエリを再実行できます。 あるいは、見逃したクエリに追いつけないようにスキップするには、 をSkip Catch Up Eventsに切り替えます。
任意 。Atlas Data Federation が S3バケットにデータを書き込むときに、データの形式を選択します。Atlas Data Federation は、Parquet、CSV、BSON、およびMongoDB拡張JSONをサポートしています。
Max File SizeAtlas Data Federation が S3 バケットに書き込む各ファイルのサイズを制限するには、 を指定します。例、Max File Size を100 MB に設定し、クエリが1 GBのデータを返す場合、Atlas Data Federation はクエリを S3 バケットに書込みます(10 100ファイルごと)。
[Continue] をクリックします。
サンプル データ ウィザードを使用した探索
サンプル データで探索 ウィザードを使用すると、サンプル データをロードしたフェデレーティッドデータベースインスタンスを設定できます。
このフェデレーティッドデータベースインスタンスには、クエリの実行に使用できる次のサンプル データセットが含まれています。
/airbnb/listingsAndReviews/{bedrooms int}/{review_scores.review_scores_rating int}/このパスは、バケーション ハウスのリスティングの詳細とカスタマー レビューを含む
airbnbデータセットを参照します。 このデータセットの詳細については、「 AirBnB リスティング データセットのサンプル 」を参照してください。このパスでは、フェデレーティッドデータベースインスタンスは、
bedroomsフィールドとreview_scores.review_score_ratingsフィールドのクエリ用に最適化されたパーティションを使用します。/analytics/accounts/{limit int}/このパスは、一般的な金融サービス アプリケーションのデータを含む
analyticsデータセットを参照します。 このデータセットの詳細については、「分析用サンプル データセット 」を参照してください。このパスでは、フェデレーティッドデータベースインスタンスは
limitフィールドのクエリ用に最適化されたパーティションを使用します。/analytics/customers/{birthdate isodate}/このデータは、一般的な金融サービス アプリケーションのコレクションを含む
analyticsデータセットを参照します。 このデータセットの詳細については、「分析用サンプル データセット 」を参照してください。このパスでは、フェデレーティッドデータベースインスタンスは
birthdateフィールドのクエリ用に最適化されたパーティションを使用します。/analytics/transactions/{account_id int}/このパスは、一般的な金融サービス アプリケーションのデータを含む
analyticsデータセットを参照します。 このデータセットの詳細については、「分析用サンプル データセット 」を参照してください。このパスでは、フェデレーティッドデータベースインスタンスは
account_idフィールドのクエリ用に最適化されたパーティションを使用します。/mflix/movies/{type string}/{year int}/このパスは、映画と映画館に関するデータを含む
mflixデータセットを参照します。 このデータセットの詳細については、「 Mflix サンプル データセット 」を参照してください。このパスでは、フェデレーティッドデータベースインスタンスは、
typeフィールドとyearフィールドのクエリ用に最適化されたパーティションを使用します。/mflix/sessions.jsonこのパスは、映画と映画館に関するデータを含む
mflixデータセットを参照します。 このデータセットの詳細については、「 Mflix サンプル データセット 」を参照してください。このパスにはパーティション属性が含まれていないため、コレクション内のデータに対するクエリでは、Data Federation はコレクション内のすべてのファイルを検索します。
/mflix/theaters/{theaterId string}/{location.address.zipcode string}/このパスは、映画と映画館に関するデータを含む
mflixデータセットを参照します。 このデータセットの詳細については、「 Mflix サンプル データセット 」を参照してください。このパスでは、フェデレーティッドデータベースインスタンスは、
theaterIdフィールドとlocation.address.zipcodeフィールドのクエリ用に最適化されたパーティションを使用します。/mflix/users.jsonこのパスは、映画と映画館に関するデータを含む
mflixコレクションを参照します。 このデータセットの詳細については、「 Mflix サンプル データセット 」を参照してください。このパスにはパーティション属性が含まれていないため、コレクション内のデータに対するクエリでは、フェデレーティッドデータベースインスタンスはコレクション内のすべてのファイルを検索します。
/nyc-yellow-cab-trips/{trip_start_isodate isodate}/{passenger_count int}/{fare_type string}/このパスは、移動日、料金、利用者数などの行程のデータを含む
nyc-yellow-cab-tripsデータセットを参照します。このパスでは、フェデレーティッドデータベースインスタンスは、
trip_start_isodate、passenger_count、fare_typeフィールドのクエリ用に最適化されたパーティションを使用します。
クラスター全体のクエリ データ ウィザードの使用
クエリ データ ウィザードを使用すると、複数の Atlas クラスターのデータにアクセスするフェデレーティッドデータベースインスタンスを設定できます。
データソースとして使用する Atlas クラスターを指定します。
ドロップダウンから、データソースとして使用する Atlas クラスターを選択します。 Atlas は、このドロップダウンに現在の Atlas プロジェクト内のクラスターのみを表示します。
データベースを展開し、フェデレーティッドデータベースインスタンスに追加するコレクションを選択します。
Tip
データベースとコレクションをフィルタリングするには、 Specific collectionsフィールドにテキストを入力します。 ダイアログ ボックスには、検索条件に一致する名前を持つデータベースとコレクションのみが表示されます。
任意。 Cluster Read Preference設定を展開して、次のフィールドを構成します。
フィールド名説明Read Preference Mode
読み取りリクエストをルーティングするレプリカセット ノードを指定します。 ドロップダウンから、次のいずれかを選択できます。
primary- すべての読み取りリクエストをレプリカセットのプライマリにルーティングしますsecondary- すべての読み取りリクエストをレプリカセットのセカンダリノードにルーティングします
Atlas クラスターをストアとして追加する場合、デフォルト値は
secondaryです。フェデレーティッドデータベースインスタンスのストレージ構成で何も設定しない場合、デフォルト値は
nearestです。 詳しくは、「読み込み設定(read preference)モード 」を参照してください。重要: Data Federationとプライマリ ノードへの影響
Data Federation クエリが、セカンダリ ノードを対象とする読み込み設定 (read preference)で構成されている場合、バッキング Atlas クラスターのプライマリに負荷を生成することは予想されません。セカンダリ で開始されたクエリは、そのノードへのカーソルのアフィニティを維持します。
一部のログでは、
getMore操作がprimaryPreferredの読み込み設定 (read preference)に表示される場合があります。これは期待される動作であり、カーソルがプライマリに切り替えられたことを示すものではありません。primaryPreferredモードはプライマリ ノードとセカンダリ ノードの両方で有効であり、クエリを再発行することなく、まれなロールの変更(セカンダリがプライマリになるなど)を取り扱うことができます。カーソルの実行は、ノード自体のロールが変更されない限り、元のノードで続行されます。Data Federation は、追加の構成なしでワークロードを プライマリ から分離します。
primaryPreferredモードを使用すると、プライマリ ノードとセカンダリ ノードの両方との互換性が確保され、クエリを再発行することなく、セカンダリがプライマリになるなど、まれなロールの変更を処理できます。カーソルの実行は、ノード自体のロールが変更されない限り、元のノードで続行されます。TagSets
読み取りリクエストをルーティングするレプリカセット ノードの、名前と値のペアを含むタグまたはタグ仕様ドキュメントのリストを指定します。 詳しくは、「読み込み設定(read preference)タグセット 」を参照してください。
Maxstaleness Seconds
セカンダリからの読み取りの最大レプリケーションラグ、つまり「古さ」を指定します。 詳細については、「読み込み設定(read preference) maxStalenessSeconds 」を参照してください。
Add Atlas cluster and collectionをクリックし、データソースとして使用するすべての Atlas クラスターに対してこれらの手順を繰り返します。
クラスターの追加が完了したら、[ Continue ] をクリックします。
次のステップ
フェデレーティッドデータベースインスタンスが配置されたので、「 フェデレーティッドデータベースインスタンスへの接続の構成 」に進みます。