Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Le tue istanze MemoryDB sono progettate per essere accessibili tramite un'istanza Amazon. EC2
Puoi accedere al tuo nodo MemoryDB da EC2 un'istanza Amazon nello stesso Amazon VPC. Oppure, utilizzando il peering VPC, puoi accedere al tuo nodo MemoryDB da un Amazon in un EC2 altro Amazon VPC.
Concedi l'accesso al tuo cluster
Puoi connetterti al tuo cluster MemoryDB solo da EC2 un'istanza Amazon in esecuzione nello stesso Amazon VPC. In questo caso sarà necessario concedere al cluster l'ingresso di rete.
Per concedere l'ingresso di rete a un cluster da un gruppo di sicurezza Amazon VPC
Accedi a AWS Management Console e apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/
. -
Nel riquadro di navigazione a sinistra, in Rete e sicurezza, scegli Gruppi di sicurezza.
-
Dall'elenco dei gruppi di sicurezza, scegli il gruppo di sicurezza per il VPC Amazon. A meno che tu non abbia creato un gruppo di sicurezza per l'uso di MemoryDB, questo gruppo di sicurezza verrà denominato predefinito.
-
Scegli la scheda In entrata, quindi procedi come segue:
-
Scegli Modifica.
-
Scegli Aggiungi regola.
-
Nella colonna Tipo, scegli Regola TCP personalizzata.
-
Nella casella Intervallo porta, digita il numero di porta per il nodo del cluster. Questo numero deve essere lo stesso specificato durante l'avvio del cluster. La porta predefinita per Valkey e Redis OSS è.
6379
-
Nella casella Source, scegli Anywhere con l'intervallo di porte (0.0.0.0/0) in modo che qualsiasi EC2 istanza Amazon che avvii all'interno del tuo Amazon VPC possa connettersi ai tuoi nodi MemoryDB.
Importante
L'apertura del cluster MemoryDB a 0.0.0.0/0 non espone il cluster a Internet perché non ha un indirizzo IP pubblico e quindi non è accessibile dall'esterno del VPC. Tuttavia, il gruppo di sicurezza predefinito può essere applicato ad altre EC2 istanze Amazon nell'account del cliente e tali istanze possono avere un indirizzo IP pubblico. Se eseguono qualche attività sulla porta predefinita, il servizio può essere esposto involontariamente. Pertanto, consigliamo di creare un gruppo di sicurezza VPC che verrà utilizzato esclusivamente da MemoryDB. Per ulteriori informazioni, consulta Gruppi di sicurezza personalizzati.
-
Seleziona Salva.
-
Quando avvii un' EC2 istanza Amazon nel tuo Amazon VPC, quell'istanza sarà in grado di connettersi al tuo cluster MemoryDB.
Accesso alle risorse di MemoryDB dall'esterno AWS
MemoryDB è un servizio progettato per essere utilizzato internamente al tuo VPC. L'accesso esterno è sconsigliato a causa della latenza del traffico Internet e dei problemi di sicurezza. Tuttavia, se l'accesso esterno a MemoryDB è necessario per scopi di test o sviluppo, è possibile farlo tramite una VPN.
Utilizzando AWS Client VPN, consenti l'accesso esterno ai tuoi nodi MemoryDB con i seguenti vantaggi:
Accesso limitato agli utenti approvati o alle chiavi di autenticazione;
Traffico crittografato tra il client VPN e l'endpoint AWS VPN;
Accesso limitato a sottoreti o nodi specifici;
Facile revoca dell'accesso agli utenti o alle chiavi di autenticazione;
Audit delle connessioni.
Le seguenti procedure dimostrano come:
Argomenti
Creare un'autorità di certificazione
È possibile creare un'autorità di certificazione (CA) utilizzando tecniche o strumenti diversi. Suggeriamo l'utilità easy-rsa, fornita dal progetto OpenVPN
Per creare i certificati iniziali, apri un terminale e procedi come segue:
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
Una sottodirectory pki contenente i certificati verrà creata sotto easy-rsa.
Invia il certificato del server al gestore dei AWS certificati (ACM):
Nella console ACM scegli Gestione certificati.
Scegli Importa certificato.
Immetti il certificato della chiave pubblica disponibile nel file
easy-rsa/pki/issued/server.crt
nel campo Corpo certificato.Incolla la chiave privata disponibile in
easy-rsa/pki/private/server.key
nel campo Chiave privata certificato. Assicurarsi di scegliere tutte le righe traBEGIN AND END PRIVATE KEY
(comprese le righeBEGIN
edEND
).Incolla la chiave pubblica CA disponibile nel file
easy-rsa/pki/ca.crt
nel campo Catena di certificati.Scegli Verifica e importa.
Scegli Importa.
Per inviare i certificati del server ad ACM utilizzando la AWS CLI, esegui il seguente 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
Annota il certificato ARN per uso futuro.
Configurazione dei componenti VPN del client AWS
Utilizzo della console AWS
Sulla AWS console, seleziona Servizi e poi VPC.
In Rete privata virtuale, seleziona Endpoint VPN client ed esegui le operazioni seguenti:
Configurazione dei componenti AWS Client VPN
Seleziona Crea endpoint VPN client.
Puoi specificare le seguenti opzioni:
Client IPv4 CIDR: utilizza una rete privata con una netmask di almeno un intervallo /22. Assicurati che la sottorete selezionata non sia in conflitto con gli indirizzi delle reti VPC. Esempio: 10.0.0.0/22.
In Server certificate ARN (ARN certificato server), seleziona l'ARN del certificato precedentemente importato.
Seleziona Use mutual authentication (Utilizza autenticazione reciproca).
-
In Client certificate ARN (ARN certificato client), seleziona l'ARN del certificato precedentemente importato.
-
Seleziona Crea endpoint VPN client.
Usando il AWS CLI
Esegui il comando seguente:
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
Output di esempio:
"ClientVpnEndpointId": "cvpn-endpoint-0123456789abcdefg",
"Status": {
"Code": "pending-associate"
},
"DnsName": "cvpn-endpoint-0123456789abcdefg.prod.clientvpn.us-east-1.amazonaws.com"
}
Associazione delle reti di destinazione all'endpoint VPN
Seleziona il nuovo endpoint VPN, quindi scegli la scheda Associazioni.
Seleziona Associa e specifica le seguenti opzioni.
VPC: seleziona il VPC del cluster MemoryDB.
Seleziona una delle reti del cluster MemoryDB. In caso di dubbio, esamina le reti nei gruppi di sottorete sulla dashboard di MemoryDB.
Seleziona Associa. Se necessario, ripeti le fasi per le reti rimanenti.
Usando il AWS CLI
Esegui il comando seguente:
aws ec2 associate-client-vpn-target-network --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg --subnet-id subnet-0123456789abdcdef
Output di esempio:
"Status": {
"Code": "associating"
},
"AssociationId": "cvpn-assoc-0123456789abdcdef"
}
Verifica del gruppo di sicurezza VPN
L'endpoint VPN adotta automaticamente il gruppo di sicurezza di default del VPC. Controlla le regole in entrata e in uscita e conferma se il gruppo di sicurezza consente il traffico dalla rete VPN (definita nelle impostazioni dell'endpoint VPN) alle reti MemoryDB sulle porte di servizio (per impostazione predefinita, 6379 per Redis).
Se è necessario modificare il gruppo di sicurezza assegnato all'endpoint VPN, procedi come segue:
Seleziona il gruppo di sicurezza corrente.
Seleziona Apply Security Group (Applica gruppo di sicurezza).
Scegli il nuovo gruppo di sicurezza.
Usando il AWS CLI
Esegui il comando seguente:
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
Output di esempio:
"SecurityGroupIds": [
"sg-0123456789abdcdef"
]
}
Nota
Il gruppo di sicurezza MemoryDB deve inoltre consentire il traffico proveniente dai client VPN. Gli indirizzi dei client saranno mascherati con l'indirizzo dell'endpoint VPN, in base alla rete VPC. Pertanto, considera la rete VPC (non la rete dei client VPN) quando crei la regola in entrata sul gruppo di sicurezza MemoryDB.
Autorizzazione dell'accesso VPN alle reti di destinazione
Nella scheda Authorization (Autorizzazione) seleziona Authorize Ingress (Autorizza ingresso) e specifica quanto segue:
Rete di destinazione per consentire l'accesso: usa 0.0.0.0/0 per consentire l'accesso a qualsiasi rete (inclusa Internet) o limita le reti/gli host di MemoryDB.
In Grant access to: (Concedi accesso a:), seleziona Allow access to all users (Consenti accesso a tutti gli utenti).
Seleziona Add Authorization Rules (Aggiungi regole di autorizzazione).
Usando il AWS CLI
Esegui il comando seguente:
aws ec2 authorize-client-vpn-ingress --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg --target-network-cidr 0.0.0.0/0 --authorize-all-groups
Output di esempio:
{
"Status": {
"Code": "authorizing"
}
}
Autorizzazione dell'accesso a Internet dai client VPN
Se è necessario navigare in Internet tramite la VPN, dovrai creare una route aggiuntiva. Seleziona la scheda Route Table (Tabella di routing) e quindi seleziona Create Route (Crea route):
Destinazione route: 0.0.0.0/0
Target VPC Subnet ID (ID sottorete VPC di destinazione): seleziona una delle sottoreti associate con accesso a Internet.
Seleziona Create Route (Crea route).
Usando il AWS CLI
Esegui il comando seguente:
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
Output di esempio:
{
"Status": {
"Code": "creating"
}
}
Configurazione del client VPN
Nella dashboard AWS Client VPN, seleziona l'endpoint VPN creato di recente e seleziona Scarica la configurazione del client. Copia il file di configurazione e i file easy-rsa/pki/issued/client1.domain.tld.crt
e easy-rsa/pki/private/client1.domain.tld.key
. Modifica il file di configurazione e modifica o aggiungi i seguenti parametri:
cert: aggiungi una nuova riga con il parametro cert che punta al file
client1.domain.tld.crt
. Usa il percorso completo del file. Esempio:cert /home/user/.cert/client1.domain.tld.crt
cert: key: aggiungi una nuova riga con la chiave del parametro che punta al file
client1.domain.tld.key
. Usa il percorso completo del file. Esempio:key /home/user/.cert/client1.domain.tld.key
Stabilisci la connessione VPN con il comando: sudo openvpn --config downloaded-client-config.ovpn
Revoca dell'accesso
Se è necessario invalidare l'accesso a una particolare chiave client, la chiave deve essere revocata nella CA. Quindi invia l'elenco delle revoche a AWS Client VPN.
Revoca la chiave con easy-rsa:
cd easy-rsa
./easyrsa3/easyrsa revoke client1.domain.tld
Inserisci "sì" per continuare o qualsiasi altro input per interrompere.
Continue with revocation: `yes` ... * `./easyrsa3/easyrsa gen-crl
È stato creato un file CRL aggiornato. File CRL:
/home/user/easy-rsa/pki/crl.pem
Importazione dell'elenco delle revoche nella AWS Client VPN:
Sul AWS Management Console, seleziona Servizi e poi VPC.
Seleziona Client VPN Endpoints (Endpoint client VPN).
Seleziona l'endpoint VPN client e quindi seleziona Actions (Operazioni) -> Import Client Certificate CRL (Importa CRL certificato client).
Incolla il contenuto del file
crl.pem
:
Usando il AWS CLI
Esegui il comando seguente:
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
Output di esempio:
Example output:
{
"Return": true
}