Introducción a MemoryDB
Este ejercicio explica los pasos para crear, conceder acceso, conectarse y, finalmente, eliminar un clúster de MemoryDB mediante la consola de administración de MemoryDB.
nota
A los fines de este ejercicio, le recomendamos que utilice la opción Creación sencilla al crear un clúster y que vuelva a las otras dos opciones una vez que haya explorado más en detalle las funciones de MemoryDB.
Temas
Paso 1: Configurar
A continuación encontrará los temas que describen las acciones puntuales que es preciso realizar para comenzar a usar MemoryDB.
Cómo crear una Cuenta de AWS
Si no dispone de una Cuenta de AWS, siga estos pasos para crear una.
Procedimiento para registrarse en Cuenta de AWS
Abra https://portal.aws.amazon.com/billing/signup
. Siga las instrucciones que se le indiquen.
Parte del procedimiento de registro consiste en recibir una llamada telefónica o mensaje de texto e indicar un código de verificación en el teclado del teléfono.
Al registrarse en una Cuenta de AWS, se crea un Usuario raíz de la cuenta de AWS. El usuario raíz tendrá acceso a todos los Servicios de AWS y recursos de esa cuenta. Como práctica recomendada de seguridad, asigne acceso administrativo a un usuario y utilice únicamente el usuario raíz para realizar tareas que requieren acceso de usuario raíz.
AWS le enviará un correo electrónico de confirmación cuando complete el proceso de registro. Puede ver la actividad de la cuenta y administrarla en cualquier momento entrando en https://aws.amazon.com/
Creación de un usuario con acceso administrativo
Después de registrarse para obtener una Cuenta de AWS, proteja su Usuario raíz de la cuenta de AWS, habilite AWS IAM Identity Center y cree un usuario administrativo para no usar el usuario raíz en las tareas cotidianas.
Protección de Usuario raíz de la cuenta de AWS
-
Inicie sesión en Consola de administración de AWS
como propietario de la cuenta; para ello, elija Usuario raíz e introduzca el correo electrónico de su Cuenta de AWS. En la siguiente página, escriba su contraseña. Para obtener ayuda para iniciar sesión con el usuario raíz, consulte Iniciar sesión como usuario raíz en la Guía del usuario de AWS Sign-In.
-
Active la autenticación multifactor (MFA) para el usuario raíz.
Para obtener instrucciones, consulte Habilitación de un dispositivo MFA virtual para su usuario raíz de la Cuenta de AWS (consola) en la Guía del usuario de IAM.
Creación de un usuario con acceso administrativo
-
Activar IAM Identity Center.
Consulte las instrucciones en Activar AWS IAM Identity Center en la Guía del usuario de AWS IAM Identity Center.
-
En IAM Identity Center, conceda acceso administrativo a un usuario.
Para ver un tutorial sobre cómo usar Directorio de IAM Identity Center como origen de identidad, consulte Configuración del acceso de los usuarios con el Directorio de IAM Identity Center predeterminado en la Guía del usuario de AWS IAM Identity Center.
Inicio de sesión como usuario con acceso de administrador
-
Para iniciar sesión con el usuario de IAM Identity Center, use la URL de inicio de sesión que se envió a la dirección de correo electrónico cuando creó el usuario de IAM Identity Center.
Para obtener ayuda para iniciar sesión con un usuario de IAM Identity Center, consulte Inicio de sesión en el portal de acceso de AWS en la Guía del usuario de AWS Sign-In.
Concesión de acceso a usuarios adicionales
-
En IAM Identity Center, cree un conjunto de permisos que siga la práctica recomendada de aplicar permisos de privilegios mínimos.
Para conocer las instrucciones, consulte Create a permission set en la Guía del usuario de AWS IAM Identity Center.
-
Asigne usuarios a un grupo y, a continuación, asigne el acceso de inicio de sesión único al grupo.
Para conocer las instrucciones, consulte Add groups en la Guía del usuario de AWS IAM Identity Center.
Conceder acceso programático
Los usuarios necesitan acceso programático si desean interactuar con AWS fuera de la Consola de administración de AWS. La forma de conceder el acceso programático depende del tipo de usuario que acceda a AWS.
Para conceder acceso programático a los usuarios, seleccione una de las siguientes opciones.
| ¿Qué usuario necesita acceso programático? | Para | Mediante |
|---|---|---|
|
Identidad del personal (Usuarios administrados en el IAM Identity Center) |
Utiliza credenciales temporales para firmar las solicitudes programáticas a la AWS CLI, los AWS SDK y las API de AWS. |
Siga las instrucciones de la interfaz que desea utilizar:
|
| IAM | Utiliza credenciales temporales para firmar las solicitudes programáticas a la AWS CLI, los AWS SDK y las API de AWS. | Siguiendo las instrucciones de Uso de credenciales temporales con recursos de AWS de la Guía del usuario de IAM. |
| IAM | (No recomendado) Utilizar credenciales a largo plazo para firmar las solicitudes programáticas a la AWS CLI, los AWS SDK o las API de AWS. |
Siga las instrucciones de la interfaz que desea utilizar:
|
Temas relacionados:
¿Qué es IAM? en la Guía del usuario de IAM.
Credenciales de seguridad de AWS en la Referencia general de AWS.
Configurar los permisos (solo para nuevos usuarios de MemoryDB)
Para dar acceso, agregue permisos a los usuarios, grupos o roles:
-
Usuarios y grupos en AWS IAM Identity Center:
Cree un conjunto de permisos. Siga las instrucciones de Creación de un conjunto de permisos en la Guía del usuario de AWS IAM Identity Center.
-
Usuarios gestionados en IAM a través de un proveedor de identidades:
Cree un rol para la federación de identidades. Siga las instrucciones descritas en Creación de un rol para un proveedor de identidad de terceros (federación) en la Guía del usuario de IAM.
-
Usuarios de IAM:
-
Cree un rol que el usuario pueda aceptar. Siga las instrucciones descritas en Creación de un rol para un usuario de IAM en la Guía del usuario de IAM.
-
(No recomendado) Adjunte una política directamente a un usuario o añada un usuario a un grupo de usuarios. Siga las instrucciones descritas en Adición de permisos a un usuario (consola) de la Guía del usuario de IAM.
-
MemoryDB crea y utiliza roles vinculados a servicios para aprovisionar recursos y obtener acceso a otros servicios y recursos de AWS en su nombre. Para que MemoryDB cree un rol vinculado a un servicio para usted, utilice la política administrada de AWS denominada AmazonMemoryDBFullAccess. Esta función ya está aprovisionada con los permisos que el servicio requiere para crear un rol vinculado a un servicio en su nombre.
Si lo prefiere, puede no utilizar la política predeterminada, sino una administrada de forma personalizada. (En este caso, asegúrese de tener los permisos para llamar a iam:createServiceLinkedRole o bien de haber creado el rol vinculado al servicio de MemoryDB.
Para obtener más información, consulte los siguientes temas:
Descarga y configuración de la AWS CLI
La AWS CLI se encuentra disponible en http://aws.amazon.com/cli
Diríjase a la Guía del usuario de la interfaz de la línea de comandos de AWS.
Siga las instrucciones para Instalar la AWS CLI y Configurar la AWS CLI.
Paso 2: crear un clúster
Antes de crear un clúster para su uso en producción, obviamente debe considerar cómo configurará el clúster a fin de satisfacer las necesidades del negocio. Estos problemas se abordan en la sección Preparación de un clúster. A los efectos de este ejercicio de introducción, puede aceptar los valores de configuración predeterminados donde se apliquen.
El clúster que crea se ejecutará en un entorno real, no en uno de pruebas. Deberá pagar las tarifas de uso estándares de MemoryDB para la instancia hasta que la elimine. Los cargos totales serán mínimos (normalmente menos de un dólar) si completa el ejercicio descrito aquí de una vez y elimina el clúster al finalizar. Para obtener más información sobre las tarifas de uso de MemoryDB, consulte MemoryDB
El clúster se lanza en una nube privada virtual (VPC) en función del servicio de Amazon VPC.
Creación de un clúster de MemoryDB
En los siguientes ejemplos se muestra cómo crear un clúster con la Consola de administración de AWS, la AWS CLI y la API de MemoryDB.
Para crear un clúster utilizando la consola de MemoryDB
-
Inicie sesión en la Consola de administración de AWS y abra la consola de MemoryDB en https://console.aws.amazon.com/memorydb/
. -
Seleccione Clústeres en el panel de navegación izquierdo y, a continuación, seleccione Crear.
Para crear un clúster mediante la AWS CLI, consulte create-cluster. A continuación se muestra un ejemplo:
Para Linux, macOS o Unix:
aws memorydb create-cluster \ --cluster-name my-cluster \ --node-type db.r6g.large \ --acl-name my-acl \ --engine valkey \ --subnet-group my-sg
Para Windows:
aws memorydb create-cluster ^ --cluster-name my-cluster ^ --node-type db.r6g.large ^ --acl-name my-acl ^ --engine valkey --subnet-group my-sg
Debería obtener la siguiente respuesta JSON:
{ "Cluster": { "Name": "my-cluster", "Status": "creating", "NumberOfShards": 1, "AvailabilityMode": "MultiAZ", "ClusterEndpoint": { "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "7.2", "EnginePatchVersion": "7.2.6", "ParameterGroupName": "default.memorydb-valkey7", "Engine": "valkey" "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN":"arn:aws:memorydb:us-east-1:xxxxxxxxxxxxxx:cluster/my-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "ACLName": "my-acl", "DataTiering": "false", "AutoMinorVersionUpgrade": true } }
Puede empezar a usar el clúster una vez que su estado cambie a available.
importante
Cuando su clúster esté disponible, se cobrará por cada hora u hora parcial que el clúster esté activo, incluso si no lo está utilizando de forma activa. Para dejar de incurrir en cargos por este clúster, debe eliminarlo. Consulte Paso 5: eliminar un clúster.
Para crear un clúster mediante la API de MemoryDB, utilice la acción CreateCluster.
importante
Cuando su clúster esté disponible, se le cobrará por cada hora u hora parcial que el clúster esté activo, incluso si no lo está utilizando. Para dejar de incurrir en cargos por este clúster, debe eliminarlo. Consulte Paso 5: eliminar un clúster.
Configuración de la autenticación
Para obtener información sobre cómo configurar la autenticación para el clúster, consulte Autenticación con IAM yAutenticación de usuarios con listas de control de acceso (ACL).
Paso 3: autorizar acceso al clúster
En esta sección se presupone que se encuentra familiarizado con los procesos de lanzar instancias de Amazon EC2 y conectarse a estas. Para obtener más información, consulte la Guía de introducción de Amazon EC2.
Los clústeres de MemoryDB se han diseñado para que se pueda obtener acceso a ellos desde una instancia de Amazon EC2. También se puede acceder a ellos mediante aplicaciones en contenedores o sin servidor que se ejecuten en Amazon Elastic Container Service o AWS Lambda. Lo más habitual es obtener acceso a un clúster de MemoryDB desde una instancia de Amazon EC2 en la misma Amazon Virtual Private Cloud (Amazon VPC); este será el caso utilizaremos para este ejercicio.
Antes de poder conectarse a un clúster desde una instancia EC2, debe autorizar a la instancia EC2 el acceso al clúster.
El caso de uso más común es cuando una aplicación implementada en una instancia EC2 debe conectarse a un clúster en la misma VPC. La forma más sencilla de administrar el acceso entre instancias EC2 y clústeres de la misma VPC es realizar lo siguiente:
-
Cree un grupo de seguridad de VPC para su clúster. Este grupo de seguridad se puede utilizar para restringir el acceso a los clústeres. Por ejemplo, puede crear una regla personalizada para este grupo de seguridad que permita el acceso mediante TCP utilizando el puerto que asignó al clúster de base de datos cuando lo creó y una dirección IP que se utilizará para obtener acceso al clúster.
El puerto predeterminado para los clústeres de MemoryDB es
6379. -
Cree un grupo de seguridad de VPC para sus instancias EC2 (servidores web y de aplicaciones). Si es necesario, este grupo de seguridad puede permitir el acceso a la instancia EC2 desde Internet a través de la tabla de enrutamiento de la VPC. Por ejemplo, puede establecer reglas en este grupo de seguridad para permitir el acceso mediante TCP a la instancia EC2 a través del puerto 22.
-
Cree reglas personalizadas en el grupo de seguridad para su clúster que permitan las conexiones desde el grupo de seguridad que creó para las instancias EC2. Esto permitirá a cualquier miembro del grupo de seguridad obtener acceso a los clústeres.
Para crear una regla en un grupo de seguridad de VPC que permita establecer conexiones desde otro grupo de seguridad
-
Inicie sesión en la consola de administración de AWS y abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc
. -
En el panel de navegación izquierdo, elija Security Groups.
-
Seleccione o cree un grupo de seguridad que utilizará para sus clústeres. En Inbound Rules (Reglas de entrada), seleccione Edit Inbound Rules (Editar reglas de entrada) y, a continuación, seleccione Add Rule (Agregar regla). Este grupo de seguridad permitirá el acceso a los miembros de otro grupo de seguridad.
-
En Type (Tipo), elija Custom TCP Rule (Personalizar regla de TCP).
-
En Port Range (Rango de puerto), especifique el puerto que utilizó al crear su clúster.
El puerto predeterminado para los clústeres de MemoryDB es
6379. -
En el cuadro Source (Fuente), comience a escribir el ID del grupo de seguridad. Desde la lista, seleccione el grupo de seguridad que utilizará para sus instancias de Amazon EC2.
-
-
Cuando haya terminado, elija Save (Guardar).
Una vez que haya habilitado el acceso, se encontrará listo para conectarse al clúster, como se describe en la siguiente sección.
Para obtener más información sobre cómo obtener acceso al clúster de MemoryDB desde una Amazon VPC diferente, desde una región de AWS diferente o incluso desde la red de la empresa, consulte lo siguiente:
Paso 4: conectar al clúster
Antes de continuar, realice el Paso 3: autorizar acceso al clúster.
En esta sección se da por sentado que ha creado una instancia de Amazon EC2 y que se puede conectar a ella. Para obtener instrucciones al respecto, consulte la Guía de introducción a Amazon EC2.
Una instancia de Amazon EC2 se puede conectar a un clúster solo si lo ha autorizado.
Encontrar el punto de conexión de un clúster
Una vez que el clúster se encuentra en estado disponible y ha autorizado el acceso a él, puede iniciar sesión en una instancia de Amazon EC2 y conectarse al clúster. Para ello, primero debe determinar el punto de conexión.
Para buscar puntos de conexión, consulte el siguiente enlace:
Conectarse a un clúster de MemoryDB (Linux)
Ahora que tiene el punto de conexión que necesita, puede iniciar sesión en una instancia EC2 y conectarse al clúster. En el siguiente ejemplo, utilice la utilidad de la CLI para conectarse a un clúster mediante Ubuntu 22. La última versión de la CLI también admite SSL/TLS a fin de conectar clústeres habilitados para cifrado y autenticación.
Conexión a los nodos de MemoryDB mediante redis-cli
Para obtener acceso a los datos desde nodos de MemoryDB, se utilizan clientes que utilizan la capa de conexión segura (SSL). También puede utilizar redis-cli con TLS/SSL en Amazon Linux y Amazon Linux 2.
Para utilizar redis-cli para conectarse a un clúster de MemoryDB en Amazon Linux 2 o Amazon Linux
Descargue y compile la utilidad redis-cli. Esta utilidad se incluye en la distribución de software de Redis OSS.
En el símbolo del sistema de la instancia de EC2, escriba los comandos adecuados para la versión de Linux que esté utilizando.
Amazon Linux 2023
Si utiliza Amazon Linux 2023, introduzca lo siguiente:
sudo yum install redis6 -yLuego, escriba el siguiente comando sustituyendo el puerto y el punto de conexión del clúster por los que se muestran en este ejemplo.
redis-cli -hPrimary or Configuration Endpoint--tls -p 6379Para obtener más información sobre cómo encontrar el punto de conexión, consulte Encontrar los puntos de conexión de los nodos.
Amazon Linux 2
Si utiliza Amazon Linux 2, introduzca lo siguiente:
sudo yum -y install openssl-devel gcc wget https://download.redis.io/releases/redis-7.2.5.tar.gz tar xvzf redis-7.2.5.tar.gz cd redis-7.2.5 make distclean make redis-cli BUILD_TLS=yes sudo install -m 755 src/redis-cli /usr/local/bin/Amazon Linux
Si utiliza Amazon Linux, introduzca lo siguiente:
sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel clang wget wget https://download.redis.io/releases/redis-7.2.5.tar.gz tar xvzf redis-7.2.5.tar.gz cd redis-7.2.5 make redis-cli CC=clang BUILD_TLS=yes sudo install -m 755 src/redis-cli /usr/local/bin/En Amazon Linux, es posible que también deba ejecutar los siguientes pasos adicionales:
sudo yum install clang CC=clang make sudo make installTras descargar e instalar la utilidad redis-cli, se recomienda ejecutar el comando opcional
make-test.-
Para conectarse a un clúster con el cifrado y la autenticación habilitados, introduzca este comando:
redis-cli -hPrimary or Configuration Endpoint--tls -a'your-password'-p 6379nota
Si instala redis6 en Amazon Linux 2023, ahora puede usar el comando
redis6-clien lugar deredis-cli:redis6-cli -h Primary or Configuration Endpoint --tls -p 6379
Paso 5: eliminar un clúster
Siempre que un clúster tenga el estado available, se cobrará por él, independientemente de si lo esté usando de forma activa o no. Para que dejen de devengarse cargos, elimine el clúster.
aviso
Cuando se elimina un clúster de MemoryDB, las instantáneas manuales se conservan. También puede crear una instantánea final antes de eliminar el clúster. Por el contrario, las instantáneas automáticas no se conservan. Para obtener más información, consulte Instantánea y restauración .
El permiso
CreateSnapshotes necesario para crear una instantánea final. Sin este permiso, la llamada a la API fallará con una excepciónAccess Denied.
El siguiente procedimiento elimina un único clúster de su implementación. Para eliminar varios clústeres, repita el procedimiento por cada clúster que desee eliminar. No es necesario esperar a un clúster para terminar de eliminarlo antes de empezar el procedimiento para eliminar otro clúster.
Para eliminar un clúster
-
Inicie sesión en la Consola de administración de AWS y abra la consola de MemoryDB en https://console.aws.amazon.com/memorydb/
. -
Para elegir el clúster que desea eliminar, elija el botón de opción situado junto al nombre del clúster en la lista de clústeres. En este caso, el nombre del clúster que creó en Paso 2: crear un clúster.
-
En Actions (Acciones), seleccione Delete (Eliminar).
-
Primero, elija si desea crear una instantánea del clúster antes de eliminarlo y, a continuación, escriba
deleteen el cuadro de confirmación y seleccione Eliminar para eliminar el clúster, o bien elija Cancelar para conservar el clúster.Si elige Delete, el estado del clúster cambia a deleting.
En cuanto el clúster desaparezca de la lista de clústeres, dejará de incurrir en gastos.
El código siguiente elimina el clúster my-cluster. En este caso, sustituya my-cluster con el nombre del clúster que creó en Paso 2: crear un clúster.
aws memorydb delete-cluster --cluster-namemy-cluster
La operación de la CLI delete-cluster solo elimina un clúster. Para eliminar varios clústeres, llame a delete-cluster por cada clúster que desee eliminar. No es necesario esperar a que se termine de eliminar un clúster antes de eliminar otro.
Para Linux, macOS o Unix:
aws memorydb delete-cluster \ --cluster-namemy-cluster\ --regionus-east-1
Para Windows:
aws memorydb delete-cluster ^ --cluster-namemy-cluster^ --regionus-east-1
Para obtener más información, consulte delete-cluster.
El código siguiente elimina el clúster my-cluster. En este caso, sustituya my-cluster con el nombre del clúster que creó en Paso 2: crear un clúster.
https://memory-db.us-east-1.amazonaws.com/ ?Action=DeleteCluster &ClusterName=my-cluster &Region=us-east-1 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20210802T220302Z &X-Amz-Algorithm=Amazon4-HMAC-SHA256 &X-Amz-Date=20210802T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20210802T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>
La operación de API DeleteCluster solo elimina un clúster. Para eliminar varios clústeres, llame a DeleteCluster por cada clúster que desee eliminar. No es necesario esperar a que se termine de eliminar un clúster antes de eliminar otro.
Para obtener más información, consulte DeleteCluster.
Pasos a seguir a continuación
Ahora que ha probado el ejercicio de introducción, puede explorar las secciones siguientes para obtener más información acerca de MemoryDB y las herramientas disponibles: