Memperkenalkan Aurora Tanpa Server V2 – API Database Hubungan pada Steroid Oleh Michael Fahim | Juni 2022

Programming

[ad_1]
Welcome Gaes di suratpembaca.web.id. Kali ini kita akan membicarakan tentang Linux yakni Memperkenalkan Aurora Tanpa Server V2 – API Database Hubungan pada Steroid Oleh Michael Fahim | Juni 2022

.

Sekiranya postingan mengenai Memperkenalkan Aurora Tanpa Server V2 – API Database Hubungan pada Steroid Oleh Michael Fahim | Juni 2022

bisa memberikan manfaat untuk Teman-teman semua. Yuk baca artikel ini
hingga tuntas.

Tampilan pertama Aurora Tanpa Server V2

AWS akhirnya merilis Aurora Tanpa Server versi 2, yang sudah lama tertunda! Basis data hubungan berdasarkan permintaan terbaru dan terbaik untuk mengontrol semuanya.

Basis data ini cocok untuk beban kerja yang sangat tidak terduga yang membutuhkan pasang surut yang cepat.

Ada dua alasan utama mengapa saya memutuskan untuk menggunakan Aurora Tanpa Server v2, yang pertama adalah karena bisa Skala. Kedamaian yang datang dengan mengetahui bahwa dia dapat mengendalikan semua yang Anda berikan padanya layak mendapatkan artikelnya sendiri.

Dalam kasus kami, berada di startup di mana Anda diharapkan memberikan kualitas di tingkat organisasi untuk bersaing secara efektif dengan perusahaan yang memiliki lebih banyak tenaga kerja dan sumber daya untuk dibakar, Aurora Tanpa Server v2 benar-benar dikirimkan pada waktu yang tepat. .

Profesi kedua yang secara langsung dipengaruhi oleh kemampuan penskalaan tingkat lanjut adalah biaya yang jauh lebih akurat. Selain itu, dibandingkan dengan Aurora v1, v2 dapat diskalakan bersamaan dengan mengeksekusi pernyataan SQL, yang sangat berguna selama beban kerja berkelanjutan yang spontan.

Untuk melengkapi ketersediaan Aurora v2 yang sangat skalabel dan berkelanjutan, kami menggunakan kerangka kerja yang agak diremehkan, kerangka kerja tumpukan tanpa server.

Ini didasarkan pada CDK dan salah satu kekuatan utama kerangka kerja ini adalah memungkinkan pengembang untuk memuat ulang selama pengembangan. Mekanisme dasar kerangka kerja ini dijelaskan secara lebih rinci nanti dalam artikel ini, tetapi agar SST dapat berfungsi dengan baik dengan Aurora Tanpa Server v2, Anda perlu menerapkan infrastruktur tambahan untuk menghosting sumber daya yang dihosting dengan benar pada satu pekerjaan ( Dan aman). VPC Pribadi

Arsitektur tingkat tinggi yang menunjukkan aliran pengembangan dengan SST dan Aurora v2.
Arsitektur tingkat tinggi
$ npm init sst

Pilih template (saya memilih JavaScript Launcher) dan instal dependensi.

$ cd my-sst-app && npm i

membuka sst.json Ubah file di root folder proyek Anda (jika perlu), dan terapkan aplikasi Anda.

$ npm start

Atur langkah ke dev, pilih atau atur profil AWS_PROFILEDan cukup!

Tumpukan debug

Selain menyebarkan program startup (seperti pada MyStack.jsSST juga akan menerapkan Lambda Stub dan WebSocket API. Fungsi Lambda ini mentransfer peristiwa dari cloud ke lingkungan lokal Anda melalui WebSocket API. Jalur biru dan hijau dalam diagram alir menunjukkan siklus pengembangan ini.

Setelah penerapan selesai, Anda akan melihat pemberitahuan berikut di terminal Anda.

Minta tampilan sesi lambda langsung.

Ini berarti bahwa semuanya telah berhasil dieksekusi dan SST mendengarkan permintaan dari kebijaksanaan Anda.

Di konsol AWS, buka API yang baru diinstal dan panggil, Anda akan melihat pesan berikut di browser Anda.

Minta browser yang menunjukkan permintaan yang diterima dengan cap waktu.

Buka terminal Anda dan Anda akan melihat pesan masuk berikut.

Sesi lambda langsung yang menampilkan permintaan browser yang masuk dengan stempel waktu.

Laporan yang ditampilkan di terminal Anda dihasilkan dari panggilan lambda secara lokal dengan peristiwa mikro.

Selamat! Bagian yang mudah sudah selesai, saatnya mengatur VPC kami dengannya Aurora Tanpa Server v2.

Kami sedang menyiapkan VPC dengan setidaknya dua nomor Pribadi Subnet, keduanya di area yang tersedia berbeda. Menyebarkan instans RDS Anda di bawah jaringan pribadi adalah yang paling tidak dapat Anda lakukan untuk menjaga keamanan database Anda.

nama: myVPC

  • Rentang CIDR VPC: 11.0.0.0/16 = 65536 alamat IP.
  • Domain: 11.0.0.0 hingga 11.0.255.255

Buat 2 subnet pribadi dan sambungkan ke VPC, kedua subnet harus berada di area akses yang berbeda.

Kedua subnet memiliki rentang CIDR / 20, artinya setiap subnet dapat memiliki (2% (32-20)) = 4096 alamat IP.

Subnet A

  • nama: myVPC-subnet-private1--1a
  • CIDR: 11.0.128.0/20
  • Domain: 11.0.128.0 hingga 11.0.143.255

Subnet B

  • nama: myVPC-subnet-private2--1b
  • CIDR: 11.0.144.0/20
  • Domain: 11.0.144.0 hingga 11.0.159.255

Buat grup keamanan baru untuk fungsi Lambda Anda guna menautkan ke grup keamanan Aurora (akan dibuat nanti). Tetapkan aturan yang memungkinkan semua lalu lintas mengalir masuk dan keluar dari grup keamanan dan pergi ke fungsi Lambda yang sesuai.

Cara membuat database: Buat standar

Opsi mesin

  • Jenis mesin: Amazon Aurora
  • resep: Saya menggunakan MySQL tetapi Anda dapat menggunakan apa pun yang Anda inginkan.
  • Replikasi: Saya memilih pengaturan Single-Master karena tidak ada kebutuhan yang kuat untuk terus-menerus menulis tentang penggunaan saya.
  • Versi mesin: Pada saat penulisan, Aurora MySQL 3.02.0 (kompatibel dengan MySQL 8.0.23) adalah satu-satunya versi yang dapat digunakan untuk server tanpa server Aurora v2 dengan MySQL.

Pengaturan

Beri nama cluster DB Anda, pilih atau buat kredensial DB Anda sendiri, dan simpan ke AWS Secrets Manager (diperlukan untuk proxy RDS).

Konfigurasi sampel

kelas sampel DB: Tidak ada server

Kisaran kapasitas

0,5 adalah kapasitas minimum yang Anda perlukan untuk mengonfigurasi server V2 pada waktu penulisan.

Tentukan kisaran kapasitas aplikasi Anda, untuk penggunaan saya, saya tidak berharap banyak lalu lintas masuk spontan, jadi saya akan pergi dengan kapasitas ACU terendah.

Artinya, Aurora berkurang menjadi 0,5 unit dan meningkat hingga maksimum 16 ACU, yang cukup baik mengingat kemampuan penskalaan Aurora v2 yang cepat.

Ketersediaan dan daya tahan

Secara umum, disarankan agar Anda memiliki startup multi-AZ untuk produksi jika area yang tersedia terputus atau rusak, tetapi saya tidak menggunakan fitur ini untuk pengembangan umum karena akan menghasilkan biaya bulanan yang lebih tinggi.

Konektivitas

  • VPC: Pilih VPC yang dibuat sebelumnya dengan subnet pribadi yang sesuai.
  • Akses publik: Pilih “Tidak”.
  • Subgrup: Buat atau pilih grup subnet yang ada.
  • Grup Keamanan VPC: Buat grup keamanan baru untuk prototipe Aurora Anda.
  • Area ketersediaan: Tidak ada preferensi

Saya mengaktifkan kata sandi Dan Otentikasi Database IAM Karena saya akan menggunakan otentikasi IAM untuk proxy RDS yang akan kita gunakan nanti.

Anda dapat melewati pengaturan default untuk sebagian besar bagian, tetapi saya sangat menyarankan untuk mengaktifkan Audit/Kesalahan/Umum dan Laporan Permintaan.

Buat basis data!

Kami perlu memperbarui tim keamanan agar Lambda dapat berkomunikasi dengan sampel. Tambahkan aturan input seperti yang ditunjukkan di bawah ini.

Mengapa menggunakan proxy RDS?

Mengingat sifat lambat AWS Lambda, cara terbaik adalah membiarkan proxy RDS mengelola integrasi koneksi database Anda. Jika tidak perlu, kami tidak ingin mengelolanya di fungsi Lambda kami.

Konfigurasi proxy

  • ID Proksi: Nama proxy (nama contoh).
  • Kompatibilitas mesin: MySQL
  • TLS: Itu benar, nyata
  • Akhir waktu koneksi pelanggan yang menganggur: Banyak tergantung pada kebutuhan aplikasi Anda, tetapi saya telah menyiapkannya selama 2 jam.

Konfigurasi grup target

  • Basis Data: Pilih database yang telah dibuat sebelumnya.
  • Koneksi kumpulan koneksi maksimum: 100%

Konektivitas

  • rahasia: Pilih rahasia yang dibuat sebelumnya dengan kredensial database.
  • Peran IAM: Buat peran IAM (ini adalah peran IAM yang digunakan untuk mengakses rahasia).
  • Otentikasi IAM: Wajib (ini berarti Anda hanya dapat menggunakan otentikasi IAM untuk mengakses database melalui proxy).
  • Subnet: Pilih subnet pribadi yang dibuat sebelumnya.
  • Grup Keamanan VPC: Pilih grup keamanan yang dibuat sebelumnya.
    Aktifkan pendaftaran lanjutan.

Salah satu cara terbaik untuk berkomunikasi secara aman dengan sumber daya hosting pribadi di VPC adalah dengan menyiapkan Klien Titik Akhir VPN.

Buat sertifikat untuk otentikasi silang

Demi artikel ini, saya akan menggunakan metode otentikasi silang berbasis sertifikat. Ini cukup mudah diatur, tetapi bisa merepotkan jika Anda memiliki banyak pengguna yang ingin Anda kelola.

Sebelum membuat VPN, kita perlu membuat sertifikat dan menyimpannya di ACM. Ps https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/client-authentication.html#mutual

Rinciannya

nama: klien-vpn-endpoint-1

kisaran CIDR

Ini tidak boleh tumpang tindih dengan rentang IP yang disetel untuk VPC.

Contoh

  • CIDR: 192.168.128.0/22
  • Domain: 192.168.128.0 hingga 192.168.131.255

Sambungkan koneksi

Disarankan agar Anda memasukkan detail koneksi klien, tetapi Anda tidak harus melakukannya, login dan logout menunjukkan IP klien dan IP perangkat, yang sangat berguna tetapi tidak wajib.

Buat grup laporan dan sambungkan ke VPN.

Autentikasi

Sertifikat klien dan server harus dibuat di bagian sebelumnya dan diunggah ke ACM. Periksa opsi Mutual Authentication dan pilih Server and Client Certificates dari menu drop-down.

Protokol pengiriman: Pilih UDP
Aktifkan tunneling terpisah (untuk mencegah semua lalu lintas melewati VPN).

Mitra VPC

Pilih VPC yang dibuat sebelumnya.
port VPN: 433

Ini dia! Buat titik akhir VPN. Setelah dibuat, status komunikasi akan ditangguhkan, tetapi akan berubah menjadi tersedia dengan cepat.

Hubungkan subnet

Buka tab Forum Jaringan Target dan tautkan ke subnet pribadi yang dibuat sebelumnya.

  • Buat aturan input dengan mengizinkan semua lalu lintas UDP berasal dari koneksi klien.
  • Tetapkan aturan input yang memungkinkan koneksi TCP antara semua antarmuka jaringan yang terhubung ke grup keamanan.

Karena kami menggunakan otentikasi silang, kami hanya dapat mengizinkan akses ke semua pengguna.

Tentukan rentang CIDR yang dapat diakses oleh klien yang terhubung melalui VPN ini.

  • 11.0.0.0/16 (Semua sumber daya tersedia di VPC)

klien AWS: https://aws.amazon.com/vpn/client-vpn-download/

Unduh file konfigurasi klien dari konsol dan simpan di tempat yang aman.

Buka file konfigurasi di editor Anda dan sertifikat dan kunci (di bawah sertifikat tepat setelah tag ) Ke file.

Contoh

  • cert ~/.vpn/certificates/client1.domain.tld.crt
  • key ~/.vpn/certificates/client1.domain.tld.key

Simpan dan tambahkan profil ke klien VPN dan sambungkan!

Langkah pertama selesai dan Anda harus dapat terhubung ke database Anda menggunakan klien database.

Secara default, stub tidak diterapkan di VPC Anda. Kami perlu mengonfigurasinya agar dapat mengakses database dan mengirim acara ke WebSocket dari dalam subnet pribadi Anda.

Buat subnet publik

VPC: Pilih VPC yang dibuat sebelumnya

Jaringan Publik A

  • nama: myVPC-subnet-public1--1a
  • CIDR: 11.0.160.0/20
  • Domain: 11.0.160.0 hingga 11.0.175.255

Gerbang internet

Buat gateway Internet dan sambungkan ke VPC Anda.

Buat gerbang NAT

  • Subjaringan: Pilih subnet publik yang dibuat sebelumnya
  • Jenis koneksi: Umum
  • ID alokasi IP elastis: Hubungkan alamat IP elastis baru atau yang sudah ada

Tabel jalur

Buat tabel rute kustom untuk subnet publik Anda dengan jalur ke gateway Internet.

Perbarui tabel perutean subnet VPC pribadi Anda untuk mengarahkan lalu lintas Internet ke gateway NAT Anda (harus berada dalam gateway yang sama dengan gateway NAT).

Pekerjaan kami hampir selesai, dan yang tersisa hanyalah mengonfigurasi beberapa sumber daya sebelum kami siap.

Konfigurasi Lambda Stub

Kita perlu membuat grup keamanan dengan satu aturan yang mengizinkan semua lalu lintas.

Tambahkan konfigurasi VPC

Lampirkan VPC dan Grup Keamanan yang dibuat sebelumnya dan tambahkan saja Satu Dari subnet pribadi (karena kami hanya memiliki satu gateway NAT).

Perbarui konfigurasi Aurora Security Group

Perbarui grup keamanan yang terhubung ke proxy Aurora dan RDS dengan dua aturan input berikut untuk mengizinkan klien Lambda dan VPN yang terhubung berkomunikasi dengan instans database.

Buat antarmuka basis data.

Lambda.js
Masukkan konektor database dan tentukan pengontrol sederhana yang mencantumkan database.

Instal dan jalankan perubahan terbaru

$ npm i mysql2 aws-sdk && npm start

Panggil API Anda lagi dan saksikan keajaibannya.

Itu tadi pembahasan mengenai Memperkenalkan Aurora Tanpa Server V2 – API Database Hubungan pada Steroid Oleh Michael Fahim | Juni 2022

, terimakasih telah berkunjung di website ini, semoga postingannya ada manfaatnya ya.

[ad_2]

Source link

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.