Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Las instancias de MemoryDB se han diseñado para obtener acceso a ellos a través de una instancia de Amazon EC2.
Puede acceder al nodo de MemoryDB desde una instancia de Amazon EC2 en la misma Amazon VPC. O, utilizando la conexión de emparejamiento de VPC, puede obtener acceso al nodo de MemoryDB desde una Amazon EC2 en otra Amazon VPC.
Conceder acceso a su clúster
Puede conectarse al clúster de MemoryDB solo desde una instancia de Amazon EC2 que se ejecuta en la misma Amazon VPC. En este caso, necesitará conceder acceso de red al clúster.
Para conceder acceso de red desde un grupo de seguridad de Amazon VPC a un clúster
Inicie sesión en la AWS Management Console y abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/
. -
En el panel de navegación de la izquierda, debajo de Network & Security, elija Security Groups.
-
En la lista de grupos de seguridad, elija el grupo de seguridad para su Amazon VPC. A menos que haya creado un grupo de seguridad para que lo utilice MemoryDB, este grupo de seguridad se denominará default.
-
Elija la pestaña Inbound y haga lo siguiente:
-
Elija Editar.
-
Seleccione Agregar regla.
-
En la columna Type, elija Custom TCP rule.
-
En el cuadro Port range, escriba el número de puerto para su nodo de clúster. Este número debe ser el mismo que especificó cuando lanzó el clúster. El puerto predeterminado para Valkey y Redis OSS es
6379
. -
En el cuadro Origen, elija Cualquier lugar que tenga el rango de puertos (0.0.0.0/0) para que cualquier instancia de Amazon EC2 que lance en su Amazon VPC pueda conectarse a sus nodos de MemoryDB.
importante
Al abrir el clúster de MemoryDB a 0.0.0.0/0 no se expone el clúster a Internet, ya que no tiene ninguna dirección IP pública y, por lo tanto, no se puede acceder a este desde fuera de la VPC. Sin embargo, el grupo de seguridad predeterminado se puede aplicar a otras instancias de Amazon EC2 en la cuenta del cliente y dichas instancias pueden tener una dirección IP pública. Si se está ejecutando algo en el puerto predeterminado, ese servicio podría exponerse de forma involuntaria. Por lo tanto, recomendamos crear un grupo de seguridad de VPC para que lo utilice exclusivamente MemoryDB. Para obtener más información, consulte Grupos de seguridad personalizados.
-
Seleccione Guardar.
-
Al lanzar una instancia de Amazon EC2 en su Amazon VPC, esa instancia podrá conectarse a su clúster de MemoryDB.
Acceso a los recursos de MemoryDB desde fuera de AWS
MemoryDB es un servicio diseñado para que se utilice internamente en su VPC. Se desaconseja el acceso externo debido a la latencia del tráfico de Internet y a los riesgos de seguridad. Sin embargo, si se requiere acceso externo a MemoryDB para fines de desarrollo o pruebas, puede obtenerse a través de una VPN.
Mediante la AWS Client VPN, puede permitir el acceso externo a los nodos de MemoryDB con los siguientes beneficios:
Acceso restringido a usuarios aprobados o claves de autenticación
Tráfico cifrado entre Client VPN y el punto de conexión de VPN de AWS
Acceso limitado a subredes o nodos específicos
Revocación sencilla del acceso de los usuarios o claves de autenticación
Conexiones de auditoría
Los siguientes procedimientos muestran cómo:
Temas
Crear una entidad de certificación
Es posible crear una entidad de certificación (CA) utilizando diferentes técnicas o herramientas. Recomendamos la utilidad easy-rsa, proporcionada por el proyecto OpenVPN
Para crear los certificados iniciales, abra un terminal y proceda del modo siguiente:
git clone
https://github.com/OpenVPN/easy-rsacd easy-rsa
./easyrsa3/easyrsa init-pki
./easyrsa3/easyrsa build-ca nopass
./easyrsa3/easyrsa build-server-full server nopass
./easyrsa3/easyrsa build-client-full client1.domain.tld nopass
Se creará un subdirectorio pki que contiene los certificados bajo easy-rsa.
Envíe el certificado del servidor a AWS Certificate manager (ACM):
En la consola de ACM, seleccione Certificate Manager.
Seleccione Importar certificado.
Especifique el certificado de clave pública disponible en el archivo
easy-rsa/pki/issued/server.crt
en el campo Cuerpo del certificado.Pegue la clave privada disponible en
easy-rsa/pki/private/server.key
en el campo Clave privada del certificado. Asegúrese de seleccionar todas las líneas entreBEGIN AND END PRIVATE KEY
(incluidas las líneasEND
yBEGIN
).Pegue la clave pública de CA disponible en el archivo
easy-rsa/pki/ca.crt
en el campo Cadena de certificados.Seleccione Revisar e importar.
Seleccione Importar.
Para enviar los certificados del servidor a ACM mediante la AWS CLI, ejecute el siguiente comando:
aws acm import-certificate --certificate fileb://easy-rsa/pki/issued/server.crt --private-key file://easy-rsa/pki/private/server.key --certificate-chain file://easy-rsa/pki/ca.crt --region
.region
Anote el ARN del certificado para usarlo en el futuro.
Configuración de componentes de AWS Client VPN
Mediante la consola de AWS
En la consola de AWS, seleccione Servicios y, a continuación, VPC.
En Red virtual privada, seleccione Puntos de conexión de VPN de cliente y proceda del modo siguiente:
Configuración de componentes de AWS Client VPN
Seleccione Crear punto de conexión de VPN de cliente.
Especifique las opciones siguientes:
CIDR de IPv4 de cliente: utilice una red privada con una máscara de red de al menos el intervalo /22. Asegúrese de que la subred seleccionada no entra en conflicto con las direcciones de las redes de la VPC. Ejemplo 10.0.0.0/22.
En ARN del certificado del servidor, seleccione el ARN del certificado importado previamente.
Seleccione Utilizar la autenticación mutua.
-
En ARN del certificado de cliente, seleccione el ARN del certificado importado previamente.
-
Seleccione Crear punto de conexión de VPN de cliente.
Uso de AWS CLI
Ejecute el siguiente comando:
aws ec2 create-client-vpn-endpoint --client-cidr-block "10.0.0.0/22" --server-certificate-arn arn:aws:acm:us-east-1:012345678912:certificate/0123abcd-ab12-01a0-123a-123456abcdef --authentication-options Type=certificate-authentication,,MutualAuthentication={ClientRootCertificateChainArn=arn:aws:acm:us-east-1:012345678912:certificate/123abcd-ab12-01a0-123a-123456abcdef} --connection-log-options Enabled=false
Ejemplo de salida:
"ClientVpnEndpointId": "cvpn-endpoint-0123456789abcdefg",
"Status": {
"Code": "pending-associate"
},
"DnsName": "cvpn-endpoint-0123456789abcdefg.prod.clientvpn.us-east-1.amazonaws.com"
}
Asociar las redes de destino al punto de conexión de VPN
Seleccione el nuevo punto de conexión de VPN y, a continuación, seleccione la pestaña Asociaciones.
Seleccione Asociar y especifique las siguientes opciones.
VPC: seleccione la VPC del clúster de MemoryDB.
Seleccione una de las redes del clúster de MemoryDB. En caso de duda, revise las redes en Grupos de subredes en el panel de MemoryDB.
Seleccione Asociar. Si es necesario, repita los pasos para las redes restantes.
Uso de AWS CLI
Ejecute el siguiente comando:
aws ec2 associate-client-vpn-target-network --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg --subnet-id subnet-0123456789abdcdef
Ejemplo de salida:
"Status": {
"Code": "associating"
},
"AssociationId": "cvpn-assoc-0123456789abdcdef"
}
Revisar el grupo de seguridad de VPN
El punto de conexión de VPN adoptará automáticamente el grupo de seguridad predeterminado de la VPC. Compruebe las reglas de entrada y salida y confirme si el grupo de seguridad permite el tráfico desde la red VPN (definida en la opción Punto de conexión de VPN) a las redes de MemoryDB en los puertos de servicio (de forma predeterminada, 6379 para Redis).
Si necesita cambiar el grupo de seguridad asignado al punto de conexión de VPN, proceda de la siguiente manera:
Seleccione el grupo de seguridad actual
Seleccione Aplicar grupo de seguridad.
Seleccione el nuevo grupo de seguridad.
Uso de AWS CLI
Ejecute el siguiente comando:
aws ec2 apply-security-groups-to-client-vpn-target-network --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefga --vpc-id vpc-0123456789abdcdef --security-group-ids sg-0123456789abdcdef
Ejemplo de salida:
"SecurityGroupIds": [
"sg-0123456789abdcdef"
]
}
nota
El grupo de seguridad de MemoryDB también necesita permitir el tráfico procedente de los clientes de VPN. Las direcciones de los clientes se enmascararán con la dirección del punto de conexión de VPN, de acuerdo con la red de la VPC. Por lo tanto, tenga en cuenta la red de la VPC (no la red de los clientes de VPN) cuando cree la regla de entrada en el grupo de seguridad de MemoryDB.
Autorizar el acceso de VPN a las redes de destino
En la pestaña Autorización seleccione Autorizar entrada y especifique lo siguiente:
Red de destino para habilitar el acceso: utilice 0.0.0.0/0 para permitir el acceso a cualquier red (incluido Internet) o restrinja las redes o hosts de MemoryDB.
En Conceder acceso a:, seleccione Permitir el acceso a todos los usuarios.
Seleccione Añadir reglas de autorización.
Uso de AWS CLI
Ejecute el siguiente comando:
aws ec2 authorize-client-vpn-ingress --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg --target-network-cidr 0.0.0.0/0 --authorize-all-groups
Ejemplo de salida:
{
"Status": {
"Code": "authorizing"
}
}
Permitir el acceso a Internet desde los clientes de VPN
Si necesita navegar por Internet a través de la VPN, debe crear una ruta adicional. Seleccione la pestaña Route Table (Tabla de ruteo) y, a continuación, seleccione Create Route (Crear ruta):
Destino de la ruta: 0.0.0.0/0
Target VPC Subnet ID (ID de subred de la VPC de destino): seleccione una de las subredes asociadas con acceso a Internet.
Seleccione Create Route (Crear ruta).
Uso de AWS CLI
Ejecute el siguiente comando:
aws ec2 create-client-vpn-route --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg --destination-cidr-block 0.0.0.0/0 --target-vpc-subnet-id subnet-0123456789abdcdef
Ejemplo de salida:
{
"Status": {
"Code": "creating"
}
}
Configurar el cliente de VPN
En el panel de AWS Client VPN, seleccione el punto de conexión de VPN creado recientemente y seleccione Download Client Configuration (Descargar configuración del cliente). Copie el archivo de configuración y los archivos easy-rsa/pki/issued/client1.domain.tld.crt
y easy-rsa/pki/private/client1.domain.tld.key
. Edite el archivo de configuración y cambie o agregue los siguientes parámetros:
cert: agregue una nueva línea con el parámetro cert apuntando al archivo
client1.domain.tld.crt
. Utilice la ruta completa al archivo. Ejemplo:cert /home/user/.cert/client1.domain.tld.crt
cert: key: agregue una nueva línea con el parámetro key apuntando al archivo
client1.domain.tld.key
. Utilice la ruta completa al archivo. Ejemplo:key /home/user/.cert/client1.domain.tld.key
Establezca la conexión de VPN con el comando: sudo openvpn --config downloaded-client-config.ovpn
Revocar el acceso
Si necesita invalidar el acceso de una clave de cliente concreta, la clave debe revocarse en la CA. A continuación, envíe la lista de revocación a AWS Client VPN.
Revocar la clave con easy-rsa:
cd easy-rsa
./easyrsa3/easyrsa revoke client1.domain.tld
Especifique "yes" (sí) para continuar o escriba cualquier otra entrada para cancelar.
Continue with revocation: `yes` ... * `./easyrsa3/easyrsa gen-crl
Se ha creado una CRL actualizada. Archivo CRL:
/home/user/easy-rsa/pki/crl.pem
Importar la lista de revocación a AWS Client VPN:
En la AWS Management Console, seleccione Services (Servicios) y, a continuación, VPC.
Seleccione Puntos de conexión de VPN de cliente.
Seleccione el punto de conexión de Client VPN y, a continuación, seleccione Actions (Acciones) -> Import Client Certificate CRL (Importar CRL de certificado de cliente).
Pegue el contenido del archivo
crl.pem
.
Uso de AWS CLI
Ejecute el siguiente comando:
aws ec2 import-client-vpn-client-certificate-revocation-list --certificate-revocation-list file://./easy-rsa/pki/crl.pem --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg
Ejemplo de salida:
Example output:
{
"Return": true
}