Configuración de una base de datos de documentos

Con Amazon DocumentDB (compatible con MongoDB) y AWS Cloud9

Amazon DocumentDB (compatible con MongoDB) es un servicio de base de datos de documentos rápido, escalable, de alta disponibilidad y completamente administrado que es compatible con cargas de trabajo de MongoDB y que hace que sea fácil almacenar, consultar e indexar datos JSON.

Esta tutorial muestra cómo comenzar a utilizar Amazon DocumentDB con AWS Cloud9. Aprenderá a conectarse al clúster de Amazon DocumentDB desde el entorno de AWS Cloud9 con un shell de Mongo y a ejecutar algunas consultas.

Completar el tutorial tiene un costo aproximado de 0,08 USD.

El siguiente diagrama le muestra la arquitectura final de este tutorial.

getting-started-amazon-documentdb-with-aws-cloud9-1
Acerca de este tutorial
Duración 10 minutos o menos                                  
Costo

El tutorial cuesta alrededor de 0,08 USD en el caso de la instancia mediana T3 de Amazon DocumentDB. Consulte los precios de Amazon DocumentDB para obtener más información.

AWS Cloud9 es apto para la capa gratuita. Consulte los precios de AWS Cloud9 para obtener más información.

Caso de uso Bases de datos
Productos Amazon DocumentDB (compatible con MongoDB), AWS Cloud9
Público Desarrollador
Nivel 200: intermedio. Este contenido se centra en ofrecer una perspectiva general de las funciones o servicios de AWS, y asume que el cliente tiene conocimientos prácticos sobre el tema.
Última actualización Agosto de 2020

1. Creación de un entorno de AWS Cloud9

1.1 – Mediante la consola de administración de AWS, en la consola de administración de AWS Cloud9, elija Crear entorno.

getting-started-amazon-documentdb-with-aws-cloud9-2

1.2 – Escriba el nombre DocumentDBCloud9.

getting-started-amazon-documentdb-with-aws-cloud9-3

1.3 – Elija Paso siguiente.

getting-started-amazon-documentdb-with-aws-cloud9-4

1.4 – En la sección Configurar ajustes, acepte todos los valores predeterminados.

1.5 – Elija Paso siguiente.

1.6 – En la sección Revisar, elija Crear entorno.

getting-started-amazon-documentdb-with-aws-cloud9-5

1.7 – El aprovisionamiento del entorno de AWS Cloud9 puede durar hasta tres minutos.

2. Configuración de un grupo de seguridad

2.1 – En la consola de administración de Amazon EC2, en Red y seguridad, elija Grupos de seguridad.

2.2 – Elija Crear grupo de seguridad.

2.3 – En Nombre del grupo de seguridad, escriba demoDocDB.

2.4 – En Descripción, escriba una descripción.

2.5 – En VPC, acepte el uso de su VPC predeterminada.

2.6 – En la sección Reglas de entrada, elija Agregar regla.

2.7 – En Tipo, elija Regla TCP personalizada.

2.8 – En Rango de puertos, escriba 27017.

2.9 – El grupo de seguridad de origen es el grupo de seguridad para el entorno de AWS Cloud9 que acaba de crear. Mantenga el Origen como el valor predeterminado de Personalizado y escriba “cloud9” en el campo adyacente a Personalizado para ver una lista con los grupos de seguridad disponibles.

getting-started-amazon-documentdb-with-aws-cloud9-6

2.10 – Elija el grupo de seguridad que tiene el nombre aws-cloud9-<environment name>

2.11 – Acepte el resto de configuraciones predeterminadas y elija Crear grupo de seguridad. No es necesario que modifique las reglas de salida.

Las siguientes capturas de pantalla le muestran los grupos que fueron creados en este paso, además del grupo de seguridad de AWS Cloud9 que creó al crear un entorno de AWS Cloud9.

getting-started-amazon-documentdb-with-aws-cloud9-7

3. Creación de un clúster de Amazon DocumentDB

3.1 – En la consola de administración de Amazon DocumentDB, en Clústeres, elija Crear.

getting-started-amazon-documentdb-with-aws-cloud9-8

3.2 – En la página Crear clúster de Amazon DocumentDB, seleccione db.t3.medium en Clase de instancia y 1 en Número de instancias. Estas opciones ayudarán a minimizar los costos.

getting-started-amazon-documentdb-with-aws-cloud9-9

3.3 – Deje los valores predeterminados para el resto de ajustes.

3.4 – En la sección Autenticación, escriba un nombre de usuario y una contraseña.

getting-started-amazon-documentdb-with-aws-cloud9-10

3.5 – Active Mostrar configuración avanzada.

getting-started-amazon-documentdb-with-aws-cloud9-11

3.6 – En la sección Configuración de red, elija demoDocDB para Grupos de seguridad de la VPC.

getting-started-amazon-documentdb-with-aws-cloud9-12

3.7 – Elija Crear clúster.

Amazon DocumentDB está aprovisionando su clúster en este momento y el proceso podría tardar varios minutos en completarse. Puede conectar su clúster cuando tanto el estado de la instancia como el del clúster sea Disponible. Mientras que Amazon DocumentDB aprovisiona el clúster, finalice los pasos que quedan para conectarse a su clúster de Amazon DocumentDB.

4. Instalación del shell de Mongo

4.1 – Si su entorno de AWS Cloud9 sigue abierto, puede ir directamente al paso 3.

4.2 – En la consola de administración de AWS Cloud9, en Sus entornos, elija DocumentDBCloud9.

4.3 – Elija IDE abierto.

4.4 – En el símbolo del sistema, cree un archivo repositorio con el siguiente código:

echo -e "[mongodb-org-3.6] \nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.6/x86_64/\ngpgcheck=1 \nenabled=1 \ngpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc" | sudo tee /etc/yum.repos.d/mongodb-org-3.6.repo

4.5 – Cuando esté completo, instale el shell de Mongo con el siguiente código:

sudo yum install -y mongodb-org-shell

4.6 – Para cifrar datos en tránsito, descargue el certificado de entidad de certificación para Amazon DocumentDB. Escriba el siguiente código:

wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem

4.7 – Ya está preparado para conectarse a su clúster de Amazon DocumentDB.

5. Conexión al clúster de Amazon DocumentDB

5.1 – En la consola de administración de Amazon DocumentDB, en Clústeres, localice su clúster. Esta publicación utiliza el clúster docdb-2020-02-08-14-15-11.

getting-started-amazon-documentdb-with-aws-cloud9-13

5.2 – Elija el clúster que ha creado haciendo un clic sobre el identificador del clúster (por ejemplo, docdb-2020-02-08-14-15-11 en este ejemplo).

5.3 – Copie la cadena de conexión que se encuentra bajo “Conectar a este clúster con el shell de Mongo”

Omita <insertYourPassword> para que el shell de Mongo le solicite la contraseña cuando se conecte. De este modo, no tendrá que escribir la contraseña en texto no cifrado.

getting-started-amazon-documentdb-with-aws-cloud9-14

5.4 – Su cadena de conexión debería parecerse al siguiente código (consulte la captura de pantalla)

getting-started-amazon-documentdb-with-aws-cloud9-15

5.5 – Cuando escriba su contraseña y vea el mensaje rs0:PRIMARY>, estará conectado a su clúster de Amazon DocumentDB.

Para obtener más información sobre la resolución de problemas, consulte Solución de problemas de Amazon DocumentDB.

6. Inserción y consulta de datos

6.1 – Ahora que ya está conectado a su clúster, puede ejecutar unas cuantas consultas para familiarizarse con el uso de una base de datos de documentos.

Para insertar un único documento, escriba el siguiente código:

db.collection.insert({"hello":"DocumentDB"})

Obtendrá el siguiente resultado:

WriteResult({ "nInserted" : 1 })

6.2 – Puede leer el documento que ha escrito con el comando findOne() (puesto que solo devuelve un único documento). Escriba el siguiente código:

db.collection.findOne()

Obtendrá el siguiente resultado:

{ "_id" : ObjectId("5e401fe56056fda7321fbd67"), "hello" : "DocumentDB" }

6.3 – Para ejecutar más consultas, considere el caso de uso de perfiles de videojuegos. Primero, debe introducir unas cuantas entradas en una colección de perfiles con derechos. Escriba el siguiente código:

db.profiles.insertMany([

{ "_id" : 1, "name" : "Tim", "status": "active", "level": 12, "score":202},

{ "_id" : 2, "name" : "Justin", "status": "inactive", "level": 2, "score":9},

{ "_id" : 3, "name" : "Beth", "status": "active", "level": 7, "score":87},

{ "_id" : 4, "name" : "Jesse", "status": "active", "level": 3, "score":27}

])

Obtendrá el siguiente resultado:

{ "acknowledged" : true, "insertedIds" : [ 1, 2, 3, 4 ] }

6.4 – Utilice el comando find() para devolver todos los documentos de la colección de perfiles. Escriba el siguiente código:

db.profiles.find()

Obtendrá el siguiente resultado:

{ "_id" : 1, "name" : "Tim", "status" : "active", "level" : 12, "score" : 202 }

{ "_id" : 2, "name" : "Justin", "status" : "inactive", "level" : 2, "score" : 9 }

{ "_id" : 3, "name" : "Beth", "status" : "active", "level" : 7, "score" : 87 }

{ "_id" : 4, "name" : "Jesse", "status" : "active", "level" : 3,

6.5 – Utilice una consulta para un único documento con un filtro. Escriba el siguiente código:

db.profiles.find({name: "Jesse"})

Obtendrá el siguiente resultado:

{ "_id" : 4, "name" : "Jesse", "status" : "active", "level" : 3, "score" : 27 }

6.6 – Un caso de uso común en videojuegos es buscar un perfil de un usuario específico e incrementar el valor en el perfil del usuario. En este escenario, quiere llevar a cabo una promoción para los jugadores más activos. Si el jugador completa una encuesta, aumentará diez puntos su puntuación.

Para hacerlo, utilice el comando findandModify. En este caso de uso, el usuario Tim recibió y completó una encuesta. Para recompensar a Tim y aumentar su puntuación, escriba el siguiente código:

db.profiles.findAndModify({

   query: { name: "Tim", status: "active"},

   update: { $inc: { score: 10 } }

})

Obtendrá el siguiente resultado:

{

      "_id" : 1,

      "name" : "Tim",

      "status" : "active",

      “nivel” : 12,

      “puntuación” : 202

}

6.7 – Puede verificar el resultado con la siguiente consulta:

db.profiles.find({name: "Tim"})

Obtendrá el siguiente resultado:

{ "_id" : 1, "name" : "Tim", "status" : "active", "level" : 12, "score" : 212 }

7. Limpieza

Cuando complete el tutorial, detenga su clúster de Amazon DocumentDB para reducir los costos o eliminar el clúster por completo.

De forma predeterminada, después de 30 minutos de inactividad, su entorno de AWS Cloud9 detiene la instancia EC2 subyacente para ayudar a reducir costos.

 

Felicitaciones

Esta tutorial le ha mostrado cómo comenzar a utilizar Amazon DocumentDB con un entorno de AWS Cloud9.

Ha sido capaz de instalar el shell de Mongo, crear un clúster de Amazon DocumentDB, conectarse a su clúster y realizar varias consultas, además de comprobar lo fácil que resulta introducir y hacer consultas de documentos JSON en Amazon DocumentDB.

Amazon DocumentDB (compatible con MongoDB) es un servicio de base de datos de documentos rápido, escalable, de alta disponibilidad y completamente administrado que es compatible con cargas de trabajo de MongoDB y que hace que sea fácil almacenar, consultar e indexar datos JSON.

¿Le resultó útil este tutorial?

Gracias
Indíquenos lo que le gustó.
Lamentamos haberlo decepcionado
¿Hay información desactualizada, confusa o inexacta? Ayúdenos a mejorar este tutorial con sus comentarios.