

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

# Mengakses klaster Anda
<a name="accessing-memorydb"></a>

Instans MemoryDB Anda dirancang untuk diakses melalui instans Amazon. EC2 

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

**Topics**
+ [Berikan akses ke klaster Anda](#grant-access)
+ [Mengakses sumber daya MemoryDB dari luar AWS](#access-from-outside-aws)

## Berikan akses ke klaster Anda
<a name="grant-access"></a>

Anda dapat terhubung ke cluster MemoryDB Anda hanya dari EC2 instans Amazon 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 Konsol Manajemen AWS dan buka EC2 konsol Amazon di [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

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

1. 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.*

1. Pilih tab **Masuk**, lalu lakukan hal berikut:

   1. Pilih **Edit**.

   1. Pilih **Tambahkan aturan**.

   1. Di kolom **Jenis**, pilih **Aturan TCP kustom**.

   1. 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 Valkey dan Redis OSS adalah. **6379**

   1. Di kotak **Sumber**, pilih **Anywhere** yang memiliki rentang port (0.0.0.0/0) sehingga EC2 instans Amazon 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 EC2 instans Amazon 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#creating-your-own-security-groups).

   1. Pilih **Simpan**.

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

## Mengakses sumber daya MemoryDB dari luar AWS
<a name="access-from-outside-aws"></a>

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:

**Topics**
+ [Membuat otoritas sertifikat](#create-cert)
+ [Mengkonfigurasi komponen VPN AWS klien](#configure-vpn-components)
+ [Konfigurasi klien VPN](#configure-vpn-client)

### Membuat otoritas sertifikat
<a name="create-cert"></a>

Dimungkinkan untuk membuat Otoritas Sertifikat (CA) menggunakan teknik atau alat yang berbeda. Dianjurkan menggunakan utilitas easy-rsa, yang disediakan oleh proyek [OpenVPN](https://openvpn.net/community-resources/openvpn-project/). 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/mudah-rsa](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
<a name="configure-vpn-components"></a>

**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:
  + ** IPv4 Client CIDR**: gunakan jaringan pribadi dengan netmask minimal /22 range. 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
<a name="configure-vpn-client"></a>

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 Konsol Manajemen AWS, 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 } `