Docs Menu
Docs Home
/
MongoDB Atlas
/ / /

フェデレーティッドデータベースインスタンスの配置

項目一覧

  • 必要なアクセス権
  • 前提条件
  • 手順

このページでは、フェデレーティッドデータベースインスタンスを配置して Amazon Web Services S3バケットのデータにアクセスする方法について説明します。

フェデレーティッドデータベースインスタンスを配置するには、プロジェクトに対する Project Ownerアクセス権が必要です。 Organization Ownerアクセスを持つユーザーは、フェデレーティッドデータベースインスタンスを配置する前に、自分自身をProject Ownerとしてプロジェクトに追加する必要があります。

始める前に、次のことを行う必要があります。

  • MongoDB Atlasアカウントがまだない場合は、作成し

  • AWS CLI をインストールします。

  • Amazon Web ServicesCLIAmazon Web Servicesの設定 アカウントにアクセスします。または、 IAM ロール を作成するには、権限を持つ ManagementAmazon Web Services Console にアクセスする必要があります。

  • 任意。 統合Amazon Web Servicesアクセスを設定します。

Atlas CLI を使用して新しい Data Federation データベースを作成するには、次のコマンドを実行します。

atlas dataFederation create <name> [options]

コマンド構文とパラメーターの詳細については、 Atlas CLIドキュメントのAtlas dataFederation create を参照してください。

Tip

参照: 関連リンク

1
2
3
  1. [ Create New Federated Database ] ドロップダウンをクリックします。

  2. Manual Setup を選択します。

4

[ Amazon Web Services ] 、Amazon Web Services Azure[ Azure ] 、またはGoogle Cloud Platformを選択できます。Google Cloud Platformフェデレーティッドデータベースインスタンスが作成された後は、Atlas Data Federation がクエリを処理するクラウドプロバイダーを変更することはできません。

Amazon Web Services S3バケットのデータ用にフェデレーティッドデータベースインスタンスを構成している場合、データをホストしているクラウドプロバイダーと異なるクラウドプロバイダーを選択することはできません。 つまり、 Amazon Web Servicesを選択する必要があります。

5

デフォルトはFederatedDatabaseInstance[n]です。 フェデレーティッドデータベースインスタンスは、一度作成されると変更できません。

6
  • ガイドを利用する場合は、 Visual Editorをクリックします。

  • 未加工のJSONを編集するには、 JSON Editorをクリックします。

7
  1. Data Sourcesセクションからフェデレーティッドデータベースインスタンスのデータセットを選択します。

    データストアを選択するには、 Add Data Sourcesをクリックします。

  2. データストアを指定します。

    Amazon Web Services S3バケットのデータ用にフェデレーティッドデータベースインスタンスを構成するには、Amazon S3 を選択します。

    stores.[n].provider JSON構成設定に対応します。

  3. Amazon Web ServicesIAM ロールを選択します。Atlas

    ロール選択ドロップダウン リストから、At に認可されている既存のAmazon Web Services IAM ロールを選択することも、AtlasAuthorize an AWS IAM Role を選択して新しいロールを認可することもできます。

    Atlasが認可されている既存のロールを選択した場合は、次のステップに進み、 Amazon Web Services S3バケットを一覧表示します。

    既存のロールを Atlas に認可するか、新しいロールを作成する場合は、次の手順に進む前に以下の手順を完了してください。

    1. 新しいロールを認可するには [ Authorize an AWS IAM Role ] を選択するか、ドロップダウンから既存のロールを選択して [ Next ] をクリックします。

    2. セクションでAmazon Web Services ARN と一意の外部ID Add Atlas to the trust relationships of your AWS IAM roleAtlasを使用して、既存または新規の IAM ロールの信頼関係にAmazon Web Services を追加します。

      Atlas UI で、次のいずれかの をクリックして展開します。

      • Create New Role with the AWS CLIは、 ARN と一意の外部ID Atlasを使用して、新しいAmazon Web Services IAM ロールの信頼関係に追加する方法を示します。Atlas UI の手順に従って新しいロールを作成します。 詳細については、「 Amazon Web Services CLIを使用した新しいロールの作成 」を参照してください。

        新しいロールを認可する際に、 Configure a New Data Lakeワークフローを終了すると次の操作が実行されます。

        • ロールを検証する前に、Atlas はフェデレーティッドデータベースインスタンスを作成しません。 GoAtlasIntegrationsページに して、新しいロールを 認可 できます。IAM ロール Amazon Web ServicesARN が付与されている場合に、ワークフローを 再開 できます。

        • ロールを検証した後、Atlas はフェデレーティッドデータベースインスタンスを作成しません。 ただし、 ロールはロール選択ドロップダウンで使用可能であり、フェデレーティッドデータベースインスタンスの作成に使用できます。 ロールを再度認可する必要はありません。

      • Add Trust Relationships to an Existing Roleは、 ARN と一意の外部ID Atlasを使用して、既存のAmazon Web Services IAM ロールの信頼関係に追加する方法を示します。Atlas UI の手順に従って、Atlas を信頼関係に既存のロールに追加します。 詳細については、「既存のロールへの信頼関係の追加」を参照してください。

      重要

      将来的にカスタムAmazon Web ServicesロールARNを変更する場合は、ロールのアクセス ポリシーに、フェデレーティッドデータベースインスタンスのS3リソースへの適切なアクセスが含まれていることを確認してください。

    3. [Next] をクリックします。

  4. S 3バケット情報を入力します。

    1. S 3バケットの名前を入力します。

      stores.[n].bucket JSON構成設定に対応します。

    2. バケットがRead-onlyであるか、両方のRead and writeであるかを指定します。

      Atlas はRead-onlyバケットのみをクエリできます。クエリを実行してクエリ結果をS 3バケットに保存する場合は、 Read and writeを選択します。 クエリ結果をS3バケットに保存するには、 AtlasにAmazon Web Servicesリソースへのアクセスを許可するロールポリシーに、s3:ListBuckets3:GetObjects3:GetObjectVersion 権限に加えて、s3:PutObject 権限と s3:DeleteObject 権限を含める必要があります。 } 権限と s3:GetBucketLocation 権限があり、読み取りアクセス権が付与されます。 Amazon Web Services IAMロールにアクセス ポリシーを割り当てる方法の詳細については、以下のステップ 4 を参照してください。

    3. S 3バケットのリージョンを選択します。

      stores.[n].region JSON構成設定に対応します。

      注意

      Atlas Data Federation が指定されたS 3バケットのリージョンを取得できない場合、フェデレーティッドデータベースインスタンスを作成することはできません。

    4. 任意S 3バケット内のファイルを検索するときに Data Federation が使用するプレフィックスを指定します。 省略した場合、Data Federation はS 3バケットのルートからすべてのファイルを再帰的に検索します。

      stores.[n].prefix JSON構成設定に対応します。

    5. [Next] をクリックします。

  5. Amazon Web Services IAM ロールにアクセス ポリシーを割り当てます。

    1. Atlas userインターフェイスの手順に従って、 Amazon Web Services IAM ロールにアクセス ポリシーを割り当てます。

      読み取り専用アクセスまたは読み取りおよび書込みアクセスのロール ポリシーは次のようになります。

      {
      "Version": "2012-10-17",
      "Statement": [
      {
      "Effect": "Allow",
      "Action": [
      "s3:ListBucket",
      "s3:GetObject",
      "s3:GetObjectVersion",
      "s3:GetBucketLocation"
      ],
      "Resource": [
      <role arn>
      ]
      }
      ]
      }
      {
      "Version": "2012-10-17",
      "Statement": [
      {
      "Effect": "Allow",
      "Action": [
      "s3:ListBucket",
      "s3:GetObject",
      "s3:GetObjectVersion",
      "s3:GetBucketLocation",
      "s3:PutObject",
      "s3:DeleteObject"
      ],
      "Resource": [
      <role arn>
      ]
      }
      ]
      }
    2. [Next] をクリックします。

  6. S 3バケット内のファイルのパス構造を定義し、 Nextをクリックします。

    以下に例を挙げます。

    s3://<bucket-name>/<path>/<to>/<files>/<filename>.<file-extension>

    S 3バケット上のデータへの追加パスを追加するには、 Add Data Sourceをクリックしてパスを入力します。 パスの詳細については、「 S 3データのパスの定義 」を参照してください。

    databases.[n].collections.[n].dataSources.[n].path JSON構成設定に対応します。

  7. 仮想データベース、コレクション、ビューを作成し、データベース、コレクション、ビューをデータ ストアにマッピングします。

    1. (任意)クリックのために

      • データベース名を編集するデータベース。 デフォルトはVirtualDatabase[n]です。

        databases.[n].name JSON構成設定に対応します。

      • コレクション名を編集するためのコレクション。 デフォルトはVirtualCollection[n]です。

        databases.[n].collections.[n].name JSON構成設定に対応します。

      • を使用してビュー名を編集します。

      次のコマンドをクリックできます。

      • Add Database : データベースとコレクションを追加します。

      • データベースにコレクションを追加するために関連付けられています。

      • コレクションにビューを追加するコレクションに関連付けられている ビューを作成するには、以下を指定する必要があります。

        • ビューの名前。

        • ビューに適用するパイプライン

          ビュー定義パイプラインには、 $outまたは$mergeステージを含めることはできません。 ビュー定義に、 $lookup$facetなどのネストされたパイプライン ステージが含まれている場合、この制限はそれらのネストされたパイプラインにも適用されます。

        ビューの詳細については、以下を参照してください。

      • 関連付けられているデータベース、コレクション、またはビューを削除します。

    2. Data SourcesセクションのドロップダウンからAWS S3を選択します。

    3. データ ストアをドラッグして削除し、コレクションとマッピングします。

      databases.[n].collections.[n].dataSources JSON構成設定に対応します。

Amazon Web Services S3データストアの構成は次のようになります。

{
"stores" : [
{
"name" : "<string>",
"provider": "<string>",
"region" : "<string>",
"bucket" : "<string>",
"additionalStorageClasses" : ["<string>"],
"prefix" : "<string>",
"includeTags": <boolean>,
"delimiter": "<string>",
"public": <boolean>
}
],
"databases" : [
{
"name" : "<string>",
"collections" : [
{
"name" : "<string>",
"dataSources" : [
{
"storeName" : "<string>",
"path" : "<string>",
"defaultFormat" : "<string>",
"provenanceFieldName": "<string>",
"omitAttributes": true | false
}
]
}
],
"maxWildcardCollections" : <integer>,
"views" : [
{
"name" : "<string>",
"source" : "<string>",
"pipeline" : "<string>"
}
]
}
]
}

構成設定の詳細については、「フェデレーティッドデータベースインスタンス用のデータストアの定義 」を参照してください。

  1. Amazon Web Services S3 データ ストアを定義します。

    storesの UI に表示されるJSON構成設定を編集します。 storesの構成設定は次のようになります。

    "stores" : [
    {
    "name" : "<string>",
    "provider" : "<string>",
    "region" : "<string>",
    "bucket" : "<string>",
    "additionalStorageClasses" : ["<string>"],
    "prefix" : "<string>",
    "delimiter" : "<string>",
    "includeTags": <boolean>,
    "public": <boolean>
    }
    ]

    これらの構成設定の詳細については、 storesを参照してください。

  2. フェデレーティッドデータベースインスタンスの仮想データベース、コレクション、ビューを定義します。

    databasesの UI に表示されるJSON構成設定を編集します。 databasesの構成設定は次のようになります。

    "databases" : [
    {
    "name" : "<string>",
    "collections" : [
    {
    "name" : "<string>",
    "dataSources" : [
    {
    "storeName" : "<string>",
    "defaultFormat" : "<string>",
    "path" : "<string>",
    "provenanceFieldName": "<string>",
    "omitAttributes": <boolean>
    }
    ]
    }
    ],
    "maxWildcardCollections" : <integer>,
    "views" : [
    {
    "name" : "<string>",
    "source" : "<string>",
    "pipeline" : "<string>"
    }
    ]
    }
    ]

    これらの構成設定の詳細については、 databasesを参照してください。

8

フェデレーティッドクエリの他のデータ ストアを追加するには、次を参照してください。

注意

クラウドプロバイダー間でフェデレーティッドクエリを実行するために、Azure Blog Storage データストアを接続することはできません。

9

戻る

AWS S3 バケット