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.
Sus instancias de MemoryDB están diseñadas para que se pueda acceder a ellas a través de una instancia de Amazon EC2 .
Puede acceder a su nodo MemoryDB desde una EC2 instancia de Amazon en la misma Amazon VPC. O bien, mediante el emparejamiento de VPC, puede acceder a su nodo MemoryDB desde una Amazon situada en una Amazon VPC EC2 diferente.
Conceder acceso a su clúster
Solo puede conectarse a su clúster de MemoryDB desde una EC2 instancia de Amazon que se ejecute 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
Inicia sesión en la EC2 consola de Amazon AWS Management Console y ábrela 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 Source, elija Anywhere que tenga el rango de puertos (0.0.0.0/0) para que cualquier EC2 instancia de Amazon que lance dentro de 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 EC2 instancias de Amazon en la cuenta del cliente y esas 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.
-
Cuando lances una EC2 instancia de Amazon en tu VPC de Amazon, esa instancia podrá conectarse a tu clúster de MemoryDB.
Acceder a los recursos de MemoryDB desde el exterior 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.
Con AWS Client VPN, permite el acceso externo a sus nodos de MemoryDB con las siguientes ventajas:
Acceso restringido a usuarios aprobados o claves de autenticación
Tráfico cifrado entre el cliente VPN y el punto final de la AWS VPN;
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 al administrador de AWS certificados (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 los componentes de la VPN AWS del cliente
Uso de la AWS consola
En la AWS consola, selecciona 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 los componentes de AWS Client VPN
Seleccione Crear punto de conexión de VPN de cliente.
Especifique las opciones siguientes:
IPv4 CIDR del cliente: utilice una red privada con una máscara de red de al menos un rango de /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 del AWS CLI
Ejecuta 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.
Usando el AWS CLI
Ejecuta 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.
Usando el AWS CLI
Ejecuta 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.
Usando el AWS CLI
Ejecuta 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).
Usando el AWS CLI
Ejecuta 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 final VPN creado recientemente y seleccione Descargar la 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 revocaciones 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
Importación de la lista de revocaciones a la AWS Client VPN:
En AWS Management Console, seleccione 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
.
Usando la AWS CLI
Ejecuta 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
}