Acceso requerido
Para implementar una instancia de base de datos federada, debe tener Project Owner acceso al proyecto.
Importante
Los usuarios con acceso deben agregarse Organization Owner como Project Owner al proyecto antes de implementar su instancia de base de datos federada.
Requisitos previos
Before deploying your federated database instance in your AWS S3 bucket, you have to complete the following steps:
Crear una MongoDB Atlas account, if you do not have one already.
Configure the AWS CLI to access your AWS account. Alternatively, you must have access to the AWS Management Console with permission to create IAM roles.
Opcional. Configurar el acceso unificado a AWS.
Procedimiento
Seleccione su proveedor de nube de instancia de base de datos federada
Select AWS as your cloud provider
Escriba el nombre de su instancia de base de datos federada
Haga clic en Continuar
IMPORTANTE: El nombre predeterminado de FederatedDatabaseInstance[n] su instancia de base de datos federada es. Una vez creada, no podrá cambiarle el nombre.
Specify your AWS S3 data store and configure federated databases and virtual collections that map to your data store.
Seleccione el conjunto de datos para su instancia de base de datos federada en la sección Data Sources.
Haga clic en Add Data Sources para seleccionar su almacén de datos.
Especifique su almacén de datos.
Choose Amazon S3 to configure a federated database instance for data in AWS S3 buckets.
Corresponds to
stores.[n].providerJSON configuration setting.Select an AWS IAM role for Atlas.
Puede seleccionar un rol de AWS IAM existente para el cual Atlas esté autorizado desde la lista desplegable de selección de roles o elegir Authorize an AWS IAM Role para autorizar un nuevo rol.
Si seleccionó un rol existente para el cual Atlas está autorizado, continúe con el siguiente paso para enumerar sus buckets de AWS S.3
Si está autorizando a Atlas para un rol existente o está creando un rol nuevo, complete los siguientes pasos antes de continuar con el siguiente paso:
Seleccione Authorize an AWS IAM Role para autorizar un nuevo rol o seleccione un rol existente del menú desplegable y haga clic en Next.
Utiliza el AWS ARN y el ID externo único en la sección Add Atlas to the trust relationships of your AWS IAM role para agregar Atlas a las relaciones de confianza de un rol IAM de AWS existente o nuevo.
En la interfaz de usuario de Atlas, haga clic y expanda uno de los siguientes:
El Create New Role with the AWS CLI muestra cómo usar el ARN y el ID externo único para agregar Atlas a las relaciones de confianza de un nuevo rol de AWS IAM. Siga los pasos de la interfaz de usuario de Atlas para crear un nuevo rol. Para obtener más información, consulte Crear un nuevo rol con la CLI de AWS.
Al autorizar un nuevo rol, si abandona el flujo de trabajo
Configure a New Data Lake:Before validating the role, Atlas will not create the federated database instance. You can go to the Atlas Integrations page to authorize a new role. You can resume the workflow when you have the AWS IAM role ARN.
Tras validar el rol, Atlas no creará la instancia de base de datos federada. Sin embargo, el rol está disponible en el menú desplegable de selección de roles y puede usarse para crear una instancia de base de datos federada. No es necesario volver a autorizar el rol.
El Add Trust Relationships to an Existing Role muestra cómo usar el ARN y el ID externo único para agregar Atlas a las relaciones de confianza de un rol de AWS IAM existente. Siga los pasos de la interfaz de usuario de Atlas para agregar Atlas a la relación de confianza de un rol existente. Para obtener más información, consulte Agregar relaciones de confianza a un rol existente.
IMPORTANT: If you modify your custom AWS role ARN in the future, verify that the access policy for the role includes the appropriate access to the S3 resources for the federated database instance.
- Para más información, consulte
Haga clic en Next.
Ingrese la información del depósito S3.
Introduzca el nombre de su depósito S3.
Corresponds to
stores.[n].bucketJSON configuration setting.Especifique si el depósito es Read-only o ambos Read and write.
Atlas can only query Read-only buckets; if you wish to query and save query results to your S3 bucket, choose Read and write. To save query results to your S3 bucket, the role policy that grants Atlas access to your AWS resources must include the
s3:PutObjectands3:DeleteObjectpermissions in addition to thes3:ListBucket,s3:GetObject,s3:GetObjectVersion, ands3:GetBucketLocationpermissions, which grant read access. See step 4 below to learn more about assigning access policy to your AWS IAM role.Select the region of the S3 bucket.
Corresponds to
stores.[n].regionJSON configuration setting.IMPORTANT: You can't create a federated database instance if Atlas Data Federation is unable to retrieve the region of the specified S3 bucket.
Optional. Specify a prefix that Data Federation should use when searching the files in the S3 bucket. If omitted, Data Federation does a recursive search for all files from the root of the S3 bucket.
Corresponds to
stores.[n].prefixJSON configuration setting.Haga clic en Next.
Assign an access policy to your AWS IAM role.
Follow the steps in the Atlas user interface to assign an access policy to your AWS IAM role.
Su política de roles para acceso de solo lectura o de lectura y escritura debería ser similar a la siguiente:
{ "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> ] } ] } Haga clic en Next.
Define the path structure for your files in the S3 bucket and click Next.
Por ejemplo:
s3://<bucket-name>/<path>/<to>/<files>/<filename>.<file-extension> To add additional paths to data on your S3 bucket, click Add Data Source and enter the path. To learn more about paths, see Define Path File Syntax.
Corresponds to
databases.[n].collections.[n].dataSources.[n].pathJSON configuration setting.Cree bases de datos, colecciones y vistas virtuales y asigne las bases de datos, colecciones y vistas a su almacén de datos.
(Opcional) Haga clic en el botón para:
Base de datos para editar el nombre de la base de datos. El valor predeterminado es
VirtualDatabase[n].Corresponde a la
databases.[n].nameconfiguración JSON.Colección para editar el nombre de la colección. El valor predeterminado es
VirtualCollection[n].Corresponde a la
databases.[n].collections.[n].nameconfiguración JSON.Ver para editar el nombre de la vista.
Puedes hacer clic:
Add Database para agregar bases de datos y colecciones.
asociado con la base de datos para agregar colecciones a la base de datos.
Asociado a la colección para agregar vistas a la misma. Para crear una vista, debe especificar:
El nombre de la vista.
La tubería que se aplicará a la vista.
La canalización de definición de vista no puede incluir las etapas
$outni$merge. Si la definición de vista incluye etapas de canalización anidadas, como$lookupo$facet, esta restricción también se aplica a dichas canalizaciones anidadas.
Para obtener más información sobre las vistas, consulte:
asociado con la base de datos, colección o vista para eliminarlo.
Seleccione AWS S3 del menú desplegable en la sección Data Sources.
Arrastre y suelte el almacén de datos para mapearlo con la colección.
Corresponde a la
databases.[n].collections.[n].dataSourcesconfiguración JSON.
Your configuration for AWS S3 data store should look similar to the following:
{ "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>" } ] } ] }
Para obtener más información sobre los ajustes de configuración, consulte Configurar almacenes de datos para una instancia de base de datos federada.
Define tu almacén de datos de AWS S3.
Edit the JSON configuration settings shown in the UI for
stores. Yourstorescofiguration setting should resemble the following:"stores" : [ { "name" : "<string>", "provider" : "<string>", "region" : "<string>", "bucket" : "<string>", "additionalStorageClasses" : ["<string>"], "prefix" : "<string>", "delimiter" : "<string>", "includeTags": <boolean>, "public": <boolean> } ] Para obtener más información sobre estos ajustes de configuración,
storesconsulte.Defina las bases de datos virtuales, colecciones y vistas de su instancia de base de datos federada.
Edit the JSON configuration settings shown in the UI for
databases. Yourdatabasescofiguration setting should resemble the following:"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>" } ] } ] Para obtener más información sobre estos ajustes de configuración,
databasesconsulte.
Para crear una nueva base de datos de Federación de datos mediante la CLI de Atlas, ejecute el siguiente comando:
atlas dataFederation create <name> [options]
Para obtener más información sobre la sintaxis y los parámetros del comando, consulte la documentación de la CLI de Atlas para atlas dataFederation create.