Mengakses klaster Anda - Amazon MemoryDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengakses klaster Anda

Instans MemoryDB Anda dirancang untuk diakses melalui instans Amazon EC2.

Anda dapat mengakses node MemoryDB Anda dari instans Amazon EC2 di VPC Amazon yang sama. Atau, dengan menggunakan VPC peering, Anda dapat mengakses node MemoryDB Anda dari Amazon EC2 di VPC Amazon yang berbeda.

Berikan akses ke cluster Anda

Anda dapat terhubung ke cluster MemoryDB Anda hanya dari instans Amazon EC2 yang berjalan di VPC Amazon yang sama. Dalam hal ini, Anda akan perlu memberikan izin masuk jaringan ke klaster.

Untuk memberikan izin masuk jaringan dari grup keamanan Amazon VPC ke klaster
  1. Masuk ke AWS Management Console dan buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Di panel navigasi kiri, di bawah Jaringan & Keamanan, pilih Grup Keamanan.

  3. Dari daftar grup keamanan, pilih grup keamanan untuk Amazon VPC Anda. Kecuali Anda membuat grup keamanan untuk penggunaan MemoryDB, grup keamanan ini akan diberi nama default.

  4. Pilih tab Masuk, lalu lakukan hal berikut:

    1. Pilih Edit.

    2. Pilih Tambahkan aturan.

    3. Di kolom Jenis, pilih Aturan TCP kustom.

    4. Di kotak Rentang port, ketik nomor port untuk simpul klaster Anda. Nomor ini harus sama dengan yang Anda tentukan saat meluncurkan klaster. Port default untuk Redis OSS adalah. 6379

    5. Di kotak Sumber, pilih Di mana saja yang memiliki rentang port (0.0.0.0/0) sehingga instans Amazon EC2 apa pun yang Anda luncurkan dalam VPC Amazon Anda dapat terhubung ke node MemoryDB Anda.

      penting

      Membuka cluster MemoryDB ke 0.0.0.0/0 tidak mengekspos cluster ke Internet karena tidak memiliki alamat IP publik dan oleh karena itu tidak dapat diakses dari luar VPC. Namun, grup keamanan default dapat diterapkan ke instans Amazon EC2 lainnya di akun pelanggan, dan instans tersebut mungkin memiliki alamat IP publik. Jika instans tersebut menjalankan sesuatu di port default, layanan tersebut dapat terekspos secara tak disengaja. Oleh karena itu, kami sarankan untuk membuat Grup Keamanan VPC yang akan digunakan secara eksklusif oleh MemoryDB. Untuk informasi selengkapnya, lihat Grup Keamanan Kustom.

    6. Pilih Simpan.

Saat meluncurkan instans Amazon EC2 ke VPC Amazon Anda, instans tersebut akan dapat terhubung ke cluster MemoryDB Anda.

Mengakses sumber daya MemoryDB dari luar AWS

MemoryDB adalah layanan yang dirancang untuk digunakan secara internal ke VPC Anda. Akses eksternal tidak disarankan karena latensi lalu lintas Internet dan masalah keamanan. Namun, jika akses eksternal ke MemoryDB diperlukan untuk tujuan pengujian atau pengembangan, itu dapat dilakukan melalui VPN.

Menggunakan AWS Client VPN, Anda mengizinkan akses eksternal ke node MemoryDB Anda dengan manfaat berikut:

  • Akses terbatas hanya untuk pengguna atau kunci autentikasi yang disetujui;

  • Lalu lintas terenkripsi antara Klien VPN dan titik akhir AWS VPN;

  • Akses yang terbatas ke subnet atau simpul tertentu;

  • Pencabutan akses dengan mudah dari pengguna atau kunci autentikasi;

  • Mengaudit koneksi;

Prosedur berikut menunjukkan cara untuk:

Membuat otoritas sertifikat

Dimungkinkan untuk membuat Otoritas Sertifikat (CA) menggunakan teknik atau alat yang berbeda. Dianjurkan menggunakan utilitas easy-rsa, yang disediakan oleh proyek OpenVPN. Terlepas opsi pilihan Anda, pastikan untuk menjaga kunci tetap aman. Prosedur berikut mengunduh skrip easy-RSA, membuat Otoritas Sertifikat dan kunci untuk autentikasi klien VPN pertama:

  • Untuk membuat sertifikat awal, buka terminal dan lakukan hal berikut:

    • git clone https://github.com/OpenVPN/easy-rsa

    • cd 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

    Subdirektori pki yang berisi sertifikat akan dibuat di bawah easy-rsa.

  • Kirim sertifikat server ke manajer AWS Sertifikat (ACM):

    • Pada konsol ACM, pilih Certificate Manager.

    • Pilih Impor Sertifikat.

    • Masukkan sertifikat kunci publik yang tersedia di dalam file easy-rsa/pki/issued/server.crt pada bidang Tubuh sertifikat.

    • Tempelkan kunci privat yang tersedia di dalam easy-rsa/pki/private/server.key pada bidang Kunci privat sertifikat. Pastikan untuk mengeblok semua baris di antara BEGIN AND END PRIVATE KEY (termasuk baris BEGIN dan END).

    • Tempelkan kunci publik CA yang tersedia pada file easy-rsa/pki/ca.crt pada bidang Rantai sertifikat.

    • Pilih Tinjau dan impor.

    • Pilih Impor.

    Untuk mengirimkan sertifikat server ke ACM menggunakan AWS CLI, jalankan perintah berikut: 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

    Perhatikan ARN sertifikat untuk penggunaan di masa mendatang.

Mengkonfigurasi komponen VPN AWS klien

Menggunakan AWS Konsol

Di AWS konsol, pilih Layanan dan kemudian VPC.

Di bawah Virtual Private Network, pilih Titik akhir Client VPN dan lakukan hal berikut:

Mengkonfigurasi komponen AWS Client VPN

  • Pilih Buat Titik Akhir Client VPN.

  • Tentukan opsi berikut:

    • CIDR IPv4 Klien: gunakan jaringan privat dengan netmask setidaknya pada rentang /22. Pastikan bahwa subnet yang dipilih tidak bertentangan dengan alamat dari jaringan VPC. Contoh: 10.0.0.0/22.

    • Pada ARN sertifikat server, pilih ARN dari sertifikat yang sebelumnya diimpor.

    • Pilih Gunakan autentikasi bersama.

    • Pada ARN sertifikat klien, pilih ARN dari sertifikat yang sebelumnya diimpor.

    • Pilih Buat Titik Akhir Client VPN.

Menggunakan AWS CLI

Jalankan perintah berikut:

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

Contoh keluaran:

"ClientVpnEndpointId": "cvpn-endpoint-0123456789abcdefg", "Status": { "Code": "pending-associate" }, "DnsName": "cvpn-endpoint-0123456789abcdefg.prod.clientvpn.us-east-1.amazonaws.com" }

Kaitkan jaringan target ke titik akhir VPN

  • Pilih titik akhir baru VPN, dan kemudian pilih tab Asosiasi.

  • Pilih Associate dan tentukan opsi berikut.

    • VPC: Pilih VPC MemoryDB Cluster.

    • Pilih salah satu jaringan cluster MemoryDB. Jika ragu, tinjau jaringan di Grup Subnet di dasbor MemoryDB.

    • Pilih Associate. Jika perlu, ulangi langkah tersebut untuk jaringan yang tersisa.

Menggunakan AWS CLI

Jalankan perintah berikut:

aws ec2 associate-client-vpn-target-network --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg --subnet-id subnet-0123456789abdcdef

Contoh keluaran:

"Status": { "Code": "associating" }, "AssociationId": "cvpn-assoc-0123456789abdcdef" }

Tinjau grup keamanan VPN

Titik akhir VPN akan secara otomatis mengadopsi grup keamanan default dari VPC. Periksa aturan masuk dan keluar dan konfirmasikan apakah grup keamanan mengizinkan lalu lintas dari jaringan VPN (ditentukan pada pengaturan Titik Akhir VPN) ke jaringan MemoryDB pada port layanan (secara default, 6379 untuk Redis).

Jika Anda perlu mengubah grup keamanan yang ditetapkan untuk titik akhir VPN, lanjutkan sebagai berikut:

  • Pilih grup keamanan saat ini.

  • Pilih Terapkan Grup Keamanan.

  • Pilih Grup Keamanan baru.

Menggunakan AWS CLI

Jalankan perintah berikut:

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

Contoh keluaran:

"SecurityGroupIds": [ "sg-0123456789abdcdef" ] }

catatan

Grup keamanan MemoryDB juga perlu mengizinkan lalu lintas yang datang dari klien VPN. Alamat klien akan ditutupi dengan alamat titik akhir VPN, sesuai Jaringan VPC. Oleh karena itu, pertimbangkan jaringan VPC (bukan jaringan Klien VPN) saat membuat aturan masuk pada grup keamanan MemoryDB.

Otorisasi akses VPN ke jaringan tujuan

Pada tab Otorisasi, pilih Izinkan Masuk dan tentukan hal berikut:

  • Jaringan tujuan untuk mengaktifkan akses: Gunakan 0.0.0.0/0 untuk memungkinkan akses ke jaringan apa pun (termasuk Internet) atau membatasi jaringan/host MemoryDB.

  • Di bawah Berikan akses ke:, pilih Izinkan akses ke semua pengguna.

  • Pilih Tambahkan Aturan Otorisasi.

Menggunakan AWS CLI

Jalankan perintah berikut:

aws ec2 authorize-client-vpn-ingress --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg --target-network-cidr 0.0.0.0/0 --authorize-all-groups

Contoh keluaran:

{ "Status": { "Code": "authorizing" } }

Mengizinkan akses ke Internet dari klien VPN

Jika Anda perlu menelusuri Internet melalui VPN, Anda perlu membuat rute tambahan. Pilih tab Tabel Rute dan kemudian pilih Buat Rute:

  • Tujuan rute: 0.0.0.0/0

  • ID Subnet VPC Target: Pilih salah satu subnet yang terkait dengan akses ke Internet.

  • Pilih Buat Rute.

Menggunakan AWS CLI

Jalankan perintah berikut:

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

Contoh keluaran:

{ "Status": { "Code": "creating" } }

Konfigurasi klien VPN

Di Dasbor AWS Client VPN, pilih titik akhir VPN yang baru saja dibuat dan pilih Unduh Konfigurasi Klien. Salin file konfigurasi, serta file easy-rsa/pki/issued/client1.domain.tld.crt dan easy-rsa/pki/private/client1.domain.tld.key. Edit file konfigurasi dan ubah atau tambahkan parameter berikut:

  • cert: tambahkan baris baru dengan parameter cert menunjuk ke file client1.domain.tld.crt. Gunakan jalur lengkap ke file. Contoh: cert /home/user/.cert/client1.domain.tld.crt

  • cert: key: tambahkan baris baru dengan kunci parameter menunjuk ke file client1.domain.tld.key. Gunakan jalur lengkap ke file. Contoh: key /home/user/.cert/client1.domain.tld.key

Tetapkan koneksi VPN dengan perintah: sudo openvpn --config downloaded-client-config.ovpn

Mencabut akses

Jika Anda perlu untuk membatalkan akses dari kunci klien tertentu, kunci tersebut perlu dicabut di CA. Kemudian kirimkan daftar pencabutan ke AWS Client VPN.

Mencabut kunci dengan easy-rsa:

  • cd easy-rsa

  • ./easyrsa3/easyrsa revoke client1.domain.tld

  • Masukkan “ya” untuk melanjutkan, atau masukkan input lain apa pun untuk membatalkan.

    Continue with revocation: `yes` ... * `./easyrsa3/easyrsa gen-crl

  • CRL yang diperbarui telah dibuat. File CRL: /home/user/easy-rsa/pki/crl.pem

Mengimpor daftar pencabutan ke Client VPN AWS :

  • Pada AWS Management Console, pilih Layanan dan kemudian VPC.

  • Pilih Titik Akhir Client VPN.

  • Pilih Titik Akhir Client VPN dan kemudian pilih Tindakan -> Impor CRL Sertifikat Klien.

  • Tempelkan isi dari file crl.pem.

Menggunakan AWS CLI

Jalankan perintah berikut:

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

Contoh keluaran:

Example output: { "Return": true }