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à.
Accesso al cluster
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 VPC peering, puoi accedere al tuo nodo MemoryDB da un Amazon EC2 in un 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'accesso alla rete da un gruppo VPC di sicurezza Amazon a un cluster
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 tuo AmazonVPC. 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 personalizzata TCP.
-
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 sia per Valkey che per 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 di 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 di. 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 VPC di sicurezza che verrà utilizzato esclusivamente da MemoryDB. Per ulteriori informazioni, consulta Gruppi di sicurezza personalizzati.
-
Seleziona Salva.
-
Quando avvii un'EC2istanza Amazon su AmazonVPC, 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 a. VPC L'accesso esterno è sconsigliato a causa della latenza del traffico Internet e dei problemi di sicurezza. Tuttavia, se è richiesto l'accesso esterno a MemoryDB per scopi di test o sviluppo, è possibile farlo tramite un. VPN
Utilizzando il AWS ClientVPN, si consente l'accesso esterno ai nodi MemoryDB con i seguenti vantaggi:
Accesso limitato agli utenti approvati o alle chiavi di autenticazione;
Traffico crittografato tra il VPN client e l' AWS VPNendpoint;
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 Open. VPN
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
Sulla ACM console, seleziona Certificate Manager.
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 ACM utilizzando il 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
Nota il certificato ARN per usi futuri.
Configurazione dei componenti AWS del client VPN
Utilizzo della console AWS
Sulla AWS console, seleziona Servizi e poi VPC.
In Virtual Private Network, seleziona Client VPN Endpoints ed esegui le seguenti operazioni:
Configurazione dei componenti del client AWS VPN
Seleziona Crea VPN endpoint client.
Puoi specificare le seguenti opzioni:
Client IPv4 CIDR: utilizza una rete privata con una netmask di almeno un intervallo di /22. Assicurati che la sottorete selezionata non sia in conflitto con gli indirizzi delle VPC reti. Esempio: 10.0.0.0/22.
In Certificato serverARN, seleziona il ARN certificato importato in precedenza.
Seleziona Use mutual authentication (Utilizza autenticazione reciproca).
-
In Certificato client ARN, seleziona ARN il certificato precedentemente importato.
-
Seleziona Crea VPN endpoint client.
Utilizzando 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"
}
Associa le reti di destinazione all'VPNendpoint
Seleziona il nuovo VPN endpoint, quindi seleziona la scheda Associazioni.
Seleziona Associa e specifica le seguenti opzioni.
VPC: Seleziona il cluster MemoryDB. VPC
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"
}
Rivedi il gruppo VPN di sicurezza
L'VPNEnpoint adotterà automaticamente il gruppo VPC di sicurezza predefinito. Controlla le regole in entrata e in uscita e conferma se il gruppo di sicurezza consente il traffico dalla VPN rete (definito nelle impostazioni di VPN Endpoint) alle reti MemoryDB sulle porte di servizio (per impostazione predefinita, 6379 per Redis).
Se è necessario modificare il gruppo di sicurezza assegnato all'Endpoint, procedi come segue: VPN
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 VPN client. Gli indirizzi dei client verranno mascherati con l'indirizzo dell'VPNendpoint, in base alla rete. VPC Pertanto, considera la VPC rete (non la rete VPN dei client) quando crei la regola in entrata sul gruppo di sicurezza MemoryDB.
Autorizza l'accesso alle reti di destinazione VPN
Nella scheda Authorization (Autorizzazione) seleziona Authorize Ingress (Autorizza ingresso) e specifica quanto segue:
Rete di destinazione per consentire l'accesso: utilizzare 0.0.0.0/0 per consentire l'accesso a qualsiasi rete (incluso Internet) o limitare 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"
}
}
Consentire l'accesso a Internet da parte dei VPN client
Se è necessario navigare in Internet tramiteVPN, è necessario creare un percorso aggiuntivo. Seleziona la scheda Route Table (Tabella di routing) e quindi seleziona Create Route (Crea route):
Destinazione route: 0.0.0.0/0
ID di VPC sottorete di destinazione: selezionare una delle sottoreti associate con accesso a Internet.
Seleziona Create Route (Crea route).
Utilizzando 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"
}
}
Configurare il VPN client
Nella VPN dashboard del AWS client, seleziona l'VPNendpoint 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 VPN connessione 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 al AWS ClienteVPN.
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
È CRL stato creato un aggiornamento. CRLfile:
/home/user/easy-rsa/pki/crl.pem
Importazione dell'elenco di revoca nel AWS Cliente: VPN
In AWS Management Console, seleziona Servizi e poi. VPC
Seleziona Client VPN Endpoints.
Seleziona l'VPNendpoint del client, quindi seleziona Azioni -> Importa certificato client. CRL
Incolla il contenuto del file
crl.pem
:
Utilizzando 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
}