• Keamanan Web

Cara Membangun Arsitektur Cloud AWS yang Aman dan Andal Tanpa Kehilangan Pikiran Anda

  • Felix Rose-Collins
  • 5 min read

Pengantar

Jika Anda pernah mencoba mendesain arsitektur cloud di AWS dari nol, Anda mungkin sudah tahu: ini adalah kebebasan dan kekacauan yang seimbang. Ada ribuan cara untuk membangun sesuatu, dan ada banyak cara untuk mengacaukannya.

Melihat sekilas dokumentasi AWS mungkin membuat Anda berpikir, "Keren, kami hanya akan mengamati praktik-praktik terbaik." Namun, dalam lingkungan internasional yang sesungguhnya, praktik-praktik kelas satu tidak sering bersentuhan langsung dengan kebutuhan perusahaan komersial yang nyata, batas kisaran harga, atau kesalahan manusia. Itulah mengapa bekerja sama dengan para profesional seperti perfsys sejak dini dapat mencegah perjudian dengan lubang perlindungan dan komplikasi penskalaan di kemudian hari.

Tujuannya bukan hanya untuk mendapatkan sesuatu yang berjalan. Tujuannya adalah untuk membangun sebuah sistem yang tidak akan tumbang saat lonjakan lalu lintas atau sebuah wilayah mati - dan tidak membiarkan pintu depan terbuka lebar untuk internet.

Mari Kita Mulai dengan yang Sudah Jelas: AWS Adalah Binatang Buas

Anda bisa membangun apa saja dengan AWS. Mulai dari startup untuk dua orang hingga platform perusahaan yang luas, semua komponen pembangunnya ada di sana - EC2, Lambda, RDS, S3, IAM, VPC, dan masih banyak lagi. Hasil tangkapannya? Semakin banyak pilihan yang Anda miliki, semakin mudah untuk membuat kekacauan.

Bukan berarti AWS dirancang dengan buruk. Hanya saja Anda harus mendesainnya dengan benar. Jika tidak, Anda akan berakhir dengan apa yang oleh beberapa tim disebut "spaghetti cloud": layanan yang saling bergantung, rahasia yang dikodekan, tanpa penandaan, tanpa pencatatan, dan sama sekali tidak tahu berapa biayanya.

Keandalan dan Keamanan Bukanlah Sesuatu yang Bagus untuk Dimiliki

Sangat menggoda untuk memperlakukan keamanan dan keandalan sebagai masalah Anda di masa depan. "Kami akan mengamankannya setelah kami tayang." "Kami akan menambahkan pemantauan pada sprint berikutnya." Namun, tanyakan pada siapa pun yang pernah berurusan dengan pelanggaran data atau pemadaman listrik selama berjam-jam - melewatkan langkah-langkah itu adalah cara Anda akhirnya bekerja keras sepanjang malam.

Apa Arti Keandalan yang Sesungguhnya

Ini bukan tentang jaminan waktu aktif pada dek slide. Ini tentang rekayasa untuk kegagalan. Layanan mati. Disk gagal. API habis masa berlakunya. Yang penting adalah apakah sistem Anda tetap berfungsi saat terjadi kerusakan.

Apakah Anda memiliki redundansi di seluruh Zona Ketersediaan? Dapatkah sistem Anda mentolerir node database yang gagal tanpa kehilangan data atau menimbulkan kesalahan? Apakah Anda menjalankan beban kerja kritis di satu wilayah karena "itulah yang paling mudah diterapkan"? Ini adalah pertanyaan-pertanyaan yang memisahkan sistem yang berfungsi dari sistem yang tangguh.

Dan Keamanan? Bukan Hanya IAM

Ya, Manajemen Identitas dan Akses (IAM) adalah tembok pertama. Namun, keamanan lebih dari itu. Ember S3 yang dapat diakses publik. Peran dengan izin yang berlebihan. Rahasia yang dikodekan ke dalam fungsi Lambda. Penebangan dimatikan "untuk menghemat biaya." Semua ini adalah bom waktu.

Menggunakan kerangka kerja yang dirancang dengan baik oleh AWS dapat membantu mengidentifikasi masalah-masalah ini sebelum meledak. Kerangka kerja ini memecah arsitektur menjadi lima area utama - keamanan, keandalan, keunggulan operasional, efisiensi kinerja, dan optimalisasi biaya - dan memaksa tim untuk mengevaluasi setiap area secara jujur. Ini bukan peluru perak, tetapi mendorong Anda untuk mengajukan pertanyaan yang sulit.

Blok Bangunan yang Sebenarnya Penting

Baiklah, mari kita masuk ke inti pembahasannya. Inilah yang penting saat Anda membangun arsitektur yang aman dan andal di AWS - dan di mana tim paling sering melakukan kesalahan.

Gunakan Peran IAM dengan Cara yang Benar (Ya, Benar)

Peran IAM sangat kuat. Terkadang terlalu kuat. Terlalu mudah untuk menampar "AdministratorAccess" karena ada sesuatu yang tidak berfungsi, berjanji untuk memperbaikinya nanti... dan kemudian tidak pernah memperbaikinya.

Perkenalkan Ranktracker

Platform Lengkap untuk SEO yang Efektif

Di balik setiap bisnis yang sukses adalah kampanye SEO yang kuat. Namun dengan banyaknya alat dan teknik pengoptimalan yang dapat dipilih, mungkin sulit untuk mengetahui dari mana harus memulai. Nah, jangan takut lagi, karena saya punya hal yang tepat untuk membantu. Menghadirkan platform lengkap Ranktracker untuk SEO yang efektif

Kami akhirnya membuka pendaftaran ke Ranktracker secara gratis!

Buat akun gratis

Atau Masuk menggunakan kredensial Anda

Anda perlu mengunci ini sejak dini. Prinsip hak istimewa yang paling sedikit bukan hanya praktik terbaik - ini adalah satu-satunya cara yang masuk akal untuk beroperasi. Itu artinya:

  • Cakupan peran per layanan

  • Menghindari karakter pengganti dalam perizinan

  • Kredensial berumur pendek

  • MFA wajib untuk pengguna manusia

Kedengarannya seperti sakit? Memang. Tetapi begitu juga dengan menjelaskan kepada atasan Anda mengapa seseorang menyusup ke data pelanggan dari Lambda yang salah konfigurasi.

Pisahkan Jaringan Anda Seperti yang Anda Maksudkan

Ini adalah area lain di mana jalan pintas menjadi bumerang. Anda tidak memerlukan pengaturan jaringan yang sangat rumit, tetapi beberapa hal mendasar akan sangat membantu:

  • Subnet publik hanya untuk hal-hal yang harus berhadapan dengan internet (misalnya, ALB)

  • Subnet pribadi untuk yang lainnya

  • Gerbang NAT untuk akses keluar yang terkontrol

  • Titik akhir VPC untuk lalu lintas layanan AWS tanpa menyentuh internet publik

Sebuah VPC datar dengan segala sesuatu pada subnet yang sama mungkin terasa mudah. Sampai ada sesuatu yang rusak dan membawa semuanya.

Pencatatan dan Pemantauan: Anda Tidak Bisa Memperbaiki Apa yang Tidak Bisa Anda Lihat

Hal ini seharusnya tidak perlu diperdebatkan lagi. Pencatatan bukanlah pilihan. Jika Anda tidak mencatat metrik CloudTrail, CloudWatch, dan log aliran VPC, Anda terbang dalam keadaan buta.

Namun, inilah masalahnya - pencatatan saja tidak cukup. Anda harus benar-benar melihat log tersebut. Buat peringatan untuk hal-hal yang penting. Saring kebisingan. Dan pastikan log terpusat di seluruh akun dan wilayah. Visibilitas yang terfragmentasi bukanlah visibilitas.

Enkripsi Semuanya (Tanpa Pengecualian)

Gunakan KMS untuk data yang tidak bergerak. Gunakan TLS untuk data dalam perjalanan. Putar kunci. Pantau akses. Ini adalah salah satu area di mana malas sekarang akan menjadi sangat mahal di kemudian hari.

Dan jangan lupakan hal-hal seperti enkripsi RDS, pengaturan volume EBS, dan penegakan TLS API Gateway. Detail-detail kecil ini menumpuk.

Infrastruktur sebagai Kode atau Hancur

Masih melakukan deployment dengan mengklik di sekitar konsol AWS? Tidak masalah bagi pengembang, berbahaya bagi prod.

Gunakan Terraform, CloudFormation, atau CDK. Apa pun yang disukai tim Anda - pilih saja salah satu dan gunakanlah. Kontrol versi template Anda. Gunakan CI/CD untuk menerapkan. Mengotomatiskan proses rollback. Penerapan secara manual adalah undangan terbuka untuk kesalahan.

Juga: tandai semuanya. Sumber daya tanpa tag seperti kabel tanpa label - tidak ada yang tahu kegunaannya, dan semua orang takut menyentuhnya.

Meningkatkan Skala Tanpa Tenggelam

Mari kita perjelas: AWS senang jika Anda melakukan over-provisioning. Anda mendapatkan "kinerja", mereka mendapatkan uang Anda. Melakukan penskalaan secara efisien adalah tentang mengetahui pola Anda - dan merencanakannya.

Gunakan grup penskalaan otomatis, spot instance (dengan hati-hati), dan lapisan cache. Tetapi yang lebih penting: uji di bawah beban. Hal terakhir yang Anda inginkan adalah menemukan bahwa instance RDS Anda meleleh di bawah lalu lintas nyata dua hari setelah peluncuran.

Perkenalkan Ranktracker

Platform Lengkap untuk SEO yang Efektif

Di balik setiap bisnis yang sukses adalah kampanye SEO yang kuat. Namun dengan banyaknya alat dan teknik pengoptimalan yang dapat dipilih, mungkin sulit untuk mengetahui dari mana harus memulai. Nah, jangan takut lagi, karena saya punya hal yang tepat untuk membantu. Menghadirkan platform lengkap Ranktracker untuk SEO yang efektif

Kami akhirnya membuka pendaftaran ke Ranktracker secara gratis!

Buat akun gratis

Atau Masuk menggunakan kredensial Anda

Selain itu, cadangkan kapasitas jika masuk akal. Hal ini akan menghemat uang dan mencegah kegagalan penyediaan yang mengejutkan.

Rencana Pemulihan Bencana Bukanlah Opsional

Apa yang terjadi jika suatu wilayah mati? Bagaimana jika basis data utama Anda rusak? Jika jawabannya adalah "eh... kita akan berada dalam masalah," maka inilah saatnya untuk mengerjakan ulang strategi DR Anda.

Perkenalkan Ranktracker

Platform Lengkap untuk SEO yang Efektif

Di balik setiap bisnis yang sukses adalah kampanye SEO yang kuat. Namun dengan banyaknya alat dan teknik pengoptimalan yang dapat dipilih, mungkin sulit untuk mengetahui dari mana harus memulai. Nah, jangan takut lagi, karena saya punya hal yang tepat untuk membantu. Menghadirkan platform lengkap Ranktracker untuk SEO yang efektif

Kami akhirnya membuka pendaftaran ke Ranktracker secara gratis!

Buat akun gratis

Atau Masuk menggunakan kredensial Anda

Ini bukan berarti membangun salinan infrastruktur yang sama dengan yang ada di wilayah lain. Ini berarti mengetahui:

  • Apa yang akan Anda pulihkan

  • Berapa lama waktu yang dibutuhkan

  • Data apa saja yang akan hilang (jika ada)

  • Siapa yang bertanggung jawab atas apa selama failover

Dan ya - Anda harus menguji rencana pemulihan Anda. Jika tidak, itu hanya fiksi.

Anti-Pola Umum yang Harus Dihindari

Mari kita bahas dengan cepat beberapa hal yang tidak boleh dilakukan yang terlalu sering muncul:

  • Satu akun besar untuk semuanya: gunakan AWS Organizations. Pisahkan prod, dev, pementasan, dll.

  • Membiarkan VPC default dan grup keamanan tidak tersentuh: kunci mereka.

  • Terlalu mengandalkan instance t2.micro "untuk pengujian" - pada akhirnya akan berakhir di prod.

  • Tidak menganggarkan biaya CloudWatch: ya, pencatatan membutuhkan biaya. Tidak melakukan pencatatan akan lebih mahal.

  • Memberikan akses untuk "perbaiki saja dengan cepat": perbaiki proses Anda.

Kata-kata Terakhir? Tetap Fleksibel, Tetap Waras

Arsitektur cloud bukan tentang menemukan pengaturan yang sempurna. Ini tentang membangun sesuatu yang fleksibel, kuat, dan dapat dimengerti oleh lebih dari sekadar orang yang menulisnya.

Anda tidak akan pernah benar-benar "selesai" - dan tidak apa-apa. Yang penting adalah kesungguhan. Mengajukan pertanyaan-pertanyaan sulit sejak dini. Sering melakukan audit. Mengotomatiskan di bagian yang penting. Dan mengetahui kapan harus meminta bantuan.

Karena jujur saja - AWS memang hebat, tetapi juga mudah tersesat. Bekerja dengan teknisi berpengalaman yang hidup dan bernapas dalam arsitektur cloud dapat membuat perbedaan antara "berhasil, sebagian besar" dan "kami tidur di malam hari."

Dan hal ini sangat berharga untuk dibangun.

Felix Rose-Collins

Felix Rose-Collins

Ranktracker's CEO/CMO & Co-founder

Felix Rose-Collins is the Co-founder and CEO/CMO of Ranktracker. With over 15 years of SEO experience, he has single-handedly scaled the Ranktracker site to over 500,000 monthly visits, with 390,000 of these stemming from organic searches each month.

Mulai gunakan Ranktracker... Gratis!

Cari tahu apa yang menghambat situs web Anda untuk mendapatkan peringkat.

Buat akun gratis

Atau Masuk menggunakan kredensial Anda

Different views of Ranktracker app