Komponen utama arsitektur hosting web AWS - Hosting Aplikasi Web di AWS Cloud

Komponen utama arsitektur hosting web AWS

Bagian berikut menguraikan beberapa komponen utama arsitektur hosting web yang di-deploy di AWS Cloud, dan menjelaskan perbedaannya dari arsitektur hosting web tradisional.

Manajemen jaringan

Di AWS Cloud, kemampuan untuk mengelompokkan jaringan Anda dari pelanggan lain memungkinkan arsitektur yang lebih aman dan dapat diskalakan. Meskipun grup keamanan menyediakan keamanan tingkat host (lihat bagian Keamanan Host), Amazon Virtual Private Cloud (Amazon VPC) memungkinkan Anda meluncurkan sumber daya dalam jaringan virtual dan terisolasi secara logis yang Anda tetapkan.

Amazon VPC adalah layanan yang memberi Anda kontrol penuh atas detail pengaturan jaringan Anda di AWS. Contoh kontrol ini termasuk membuat subnet yang menghadap publik untuk server web, dan subnet privat tanpa akses internet untuk basis data Anda. Selain itu, Amazon VPC memungkinkan Anda membuat arsitektur hybrid dengan menggunakan jaringan pribadi virtual (VPN) perangkat keras, dan menggunakan AWS Cloud sebagai perpanjangan pusat data Anda sendiri.

Amazon VPC juga menyertakan dukungan IPv6 selain dukungan IPv4 tradisional untuk jaringan Anda.

Pengiriman konten

Ketika lalu lintas web Anda tersebar secara geografis, itu tidak selalu layak dan tentu saja tidak biaya efektif untuk mereplikasi seluruh infrastruktur Anda di seluruh dunia. Jaringan Pengiriman Konten (CDN) memberi Anda kemampuan untuk memanfaatkan jaringan global lokasi edge untuk mengirimkan salinan konten web yang di-cache seperti video, halaman web, gambar, dan sebagainya kepada pelanggan Anda. Untuk mengurangi waktu respons, CDN menggunakan lokasi edge terdekat dengan pelanggan atau lokasi permintaan yang berasal untuk mengurangi waktu respons. Throughput meningkat secara dramatis mengingat bahwa aset web dikirim dari cache. Untuk data dinamis, banyak CDN dapat dikonfigurasi untuk mengambil data dari server asal.

Anda dapat menggunakan CloudFront untuk mengirimkan situs web Anda, termasuk konten dinamis, statis, dan streaming, menggunakan jaringan global lokasi edge. CloudFront secara otomatis merutekan permintaan konten Anda ke lokasi edge terdekat, sehingga konten dikirimkan dengan performa terbaik. CloudFront dioptimalkan untuk bekerja dengan layanan AWS lainnya, seperti Amazon S3 dan Amazon Elastic Compute Cloud (Amazon EC2). CloudFront juga berfungsi lancar dengan server asal mana pun yang bukan server asal AWS, yang menyimpan versi asli file Anda.

Seperti layanan AWS lainnya, tidak ada kontrak atau komitmen bulanan untuk menggunakan CloudFront — Anda hanya membayar sebanyak atau sesedikit konten yang Anda berikan melalui layanan.

Selain itu, setiap solusi yang ada untuk caching edge dalam infrastruktur aplikasi web Anda harus bekerja dengan baik di AWS Cloud.

Mengelola DNS publik

Memindahkan aplikasi web ke AWS Cloud memerlukan beberapa perubahan Sistem Nama Domain (DNS). Untuk membantu Anda mengelola perutean DNS, AWS menyediakan Amazon Route 53, layanan web DNS cloud yang sangat tersedia dan dapat diskalakan. Route 53 dirancang untuk memberikan pengembang dan bisnis cara yang sangat tepercaya dengan biaya hemat untuk merutekan pengguna akhir ke aplikasi Internet dengan menerjemahkan nama seperti “www.example.com” ke alamat IP numerik, seperti 192.0.2.1, yang digunakan komputer agar saling terhubung. Amazon Route 53 juga sangat sesuai dengan IPv6.

Keamanan host

Selain pemfilteran lalu lintas jaringan masuk di edge, AWS juga merekomendasikan aplikasi web menerapkan pemfilteran lalu lintas jaringan di tingkat host. Amazon EC2 menyediakan fitur bernama grup keamanan. Grup keamanan analog dengan firewall jaringan masuk, yang mana Anda dapat menentukan protokol, port, dan rentang IP sumber yang diizinkan untuk mencapai instans EC2 Anda.

Anda dapat menetapkan satu atau lebih grup keamanan untuk setiap instans EC2. Setiap grup keamanan memungkinkan lalu lintas yang sesuai untuk setiap instans. Grup keamanan dapat dikonfigurasi sehingga hanya subnet, alamat IP, dan sumber daya tertentu yang memiliki akses ke instans EC2. Sebagai alternatif, mereka dapat mereferensikan grup keamanan lain untuk membatasi akses ke instans EC2 yang ada di grup tertentu.

Dalam arsitektur hosting web AWS pada Gambar 3, grup keamanan untuk klaster server web mungkin mengizinkan akses hanya dari Load Balancer lapisan web dan hanya melalui TCP pada port 80 dan 443 (HTTP dan HTTPS). Grup keamanan server aplikasi, di sisi lain, mungkin mengizinkan akses hanya dari Load Balancer lapisan aplikasi. Dalam model ini, teknisi dukungan Anda juga perlu mengakses instans EC2, apa yang dapat dicapai dengan Manajer Sesi AWS Systems Manager. Untuk diskusi lebih mendalam tentang keamanan, lihat AWS Cloud Security, yang berisi buletin keamanan, informasi sertifikasi, dan laporan resmi keamanan yang menjelaskan kemampuan keamanan AWS.

Penyeimbangan beban di seluruh klaster

Penyeimbang beban perangkat keras adalah alat jaringan umum yang digunakan dalam arsitektur aplikasi web tradisional. AWS menyediakan kemampuan ini melalui layanan Elastic Load Balancing (ELB). Mendistribusikan secara otomatis lalu lintas aplikasi yang akan datang pada seluruh target sekaligus, misalnya fungsi Instans Amazon EC2, kontainer, alamat IP, fungsi AWS Lambda, dan peralatan virtual. Langkah ini dapat menangani berbagai beban lalu lintas aplikasi Anda di Zona Ketersediaan tunggal atau di beberapa Zona Ketersediaan. Elastic Load Balancing menawarkan empat jenis penyeimbang beban yang semuanya menghadirkan ketersediaan yang sangat baik, penskalaan otomatis, dan keamanan tangguh yang diperlukan untuk membuat aplikasi Anda toleran terhadap kesalahan.

Menemukan host dan layanan lain

Dalam arsitektur hosting web tradisional, sebagian besar host Anda memiliki alamat IP statis. Di AWS Cloud, sebagian besar host Anda memiliki alamat IP dinamis. Meskipun setiap instans EC2 dapat memiliki entri DNS publik dan pribadi dan akan dialamatkan melalui internet, entri DNS dan alamat IP ditetapkan secara dinamis ketika Anda meluncurkan instans. Mereka tidak dapat ditetapkan secara manual. Alamat IP statis (Alamat IP elastis dalam terminologi AWS) dapat ditetapkan ke instans yang berjalan setelah diluncurkan. Anda harus menggunakan alamat IP Elastic untuk instans dan layanan yang memerlukan titik akhir yang konsisten, seperti basis data utama, server file pusat, dan penyeimbang beban yang di-host EC2.

Caching dalam aplikasi web

Cache aplikasi dalam memori dapat mengurangi beban pada layanan dan meningkatkan performa dan skalabilitas pada tingkat basis data dengan caching informasi yang sering digunakan. Amazon ElastiCache adalah layanan web yang memudahkan deployment, pengoperasian, dan penskalaan cache dalam memori di cloud. Anda dapat mengonfigurasi cache dalam memori yang Anda buat untuk secara otomatis skala dengan beban dan untuk secara otomatis mengganti simpul yang gagal. ElastiCache mematuhi protokol dengan Memcached dan Redis, yang menyederhanakan migrasi dari solusi on-premise Anda saat ini.