Gambaran Umum
Di lab ini, Anda akan mempelajari cara menggunakan AWS CloudFormation untuk menyediakan dan memperbarui aplikasi web dengan sejumlah produk dan layanan pendukung AWS, termasuk grup Auto Scaling, instans Amazon Elastic Cloud Compute (EC2), dan Elastic Load Balancing.
Di bagian pertama, Anda akan membuat sumber daya sederhana, Bucket Amazon S3, dengan AWS CloudFormation dan Anda akan melihat berbagai kebijakan retensi yang diterapkan saat menghapus tumpukan AWS CloudFormation atau selama rollback.
Di bagian kedua, Anda akan menyediakan aplikasi web PHP sederhana menggunakan instans Amazon Linux. Kemudian, Anda akan melihat cara menerapkan kembali templat AWS CloudFormation ke aplikasi yang ada untuk mengubah beberapa atribut sumber daya seperti tipe instans Amazon EC2. Terakhir, Anda akan menambahkan load balancer dan grup Penskalaan Otomatis berdasarkan konfigurasi Penskalaan Otomatis.
Topik yang dibahas
Di akhir lab ini, Anda akan mampu:
- Memuat bucket Amazon Simple Storage Service (S3) menggunakan AWS CloudFormation
- Menyediakan aplikasi web PHP sederhana menggunakan Amazon Linux AMI
- Menerapkan templat AWS CloudFormation ke aplikasi yang ada
- Memodifikasi aplikasi yang ada menggunakan AWS CloudFormation
- Menambahkan IAM role dan Elastic Load Balancing ke aplikasi menggunakan AWS CloudFormation
Prasyarat pengetahuan teknis
Agar berhasil menyelesaikan lab ini, Anda harus terbiasa mengedit skrip di editor teks.
Layanan AWS lainnya
IAM policy yang ditetapkan untuk pengguna lab Anda melarang penggunaan layanan AWS yang tidak disertakan dalam lab ini. Dalam beberapa kasus, batasan yang melampaui larangan ini sebagai aspek yang disengaja dari desain lab. Saat mengakses layanan lain atau melakukan tindakan selain yang diberikan dalam panduan lab ini, Anda akan menerima pesan kesalahan.
AWS CloudFormation memberikan cara yang mudah kepada developer dan administrator sistem untuk membuat dan mengelola kumpulan sumber daya AWS terkait, menyediakan serta memperbaruinya secara teratur dan dapat diprediksi.
Anda dapat menggunakan templat sampel AWS CloudFormation atau membuat templat sendiri untuk menjelaskan sumber daya AWS, dan semua dependensi atau parameter runtime terkait, yang diperlukan untuk menjalankan aplikasi Anda. Anda tidak perlu mengetahui urutan penyediaan layanan AWS atau seluk-beluk keberhasilan penggunaan dependensi tersebut. AWS CloudFormation mengurusnya untuk Anda. Setelah sumber daya AWS di-deploy, Anda dapat memodifikasi dan memperbaruinya secara terkontrol dan dapat diprediksi, yang pada dasarnya menerapkan kontrol versi ke infrastruktur AWS dengan cara yang sama seperti yang Anda lakukan dengan perangkat lunak.
Anda dapat men-deploy dan memperbarui templat dan kumpulan sumber daya yang terkait (disebut tumpukan) dengan menggunakan AWS Management Console, AWS Command Line Interface, atau API. AWS CloudFormation tersedia tanpa biaya tambahan, dan Anda hanya perlu membayar sumber daya AWS yang diperlukan untuk menjalankan aplikasi.
Templat AWS CloudFormation adalah pernyataan sumber daya AWS yang membentuk tumpukan. Templat disimpan sebagai file teks dalam format JavaScript Object Notation (JSON) atau YAML. Karena templat hanya berupa file teks, Anda tidak dapat membuat dan mengeditnya di editor teks mana pun dan mengelolanya di sistem kontrol sumber dengan kode sumber yang lain.
Dalam templat untuk lab ini, Anda menggunakan struktur YAML yang dapat ditafsirkan oleh AWS CloudFormation untuk menyatakan sumber daya AWS yang ingin Anda buat dan konfigurasikan. Dalam format YAML, objek dinyatakan sebagai pasangan nama-nilai atau pasangan nama. Di templat AWS CloudFormation Anda dapat menyatakan enam objek tingkat atas berikut:
- AWSTemplateFormatVersion
- Deskripsi
- Parameter
- Pemetaan
- Sumber daya
- Output
Satu-satunya objek tingkat atas yang diperlukan adalah objek Sumber Daya, yang harus menyatakan setidaknya satu sumber daya. Lab ini dimulai dengan templat paling dasar yang hanya berisi objek Sumber Daya, yang berisi satu pernyataan sumber daya.
Definisi dari masing-masing objek ini dapat ditemukan dalam dokumentasi online Templat Anatomi.
Kunci ikon
Beragam ikon digunakan di seluruh lab ini untuk menarik perhatian kepada berbagai jenis petunjuk dan catatan. Daftar berikut menjelaskan tujuan setiap ikon:
- Output yang diharapkan: Output sampel yang dapat Anda gunakan untuk memverifikasi output dari perintah atau file yang diedit.
- Catatan: Catatan, tips, atau panduan penting.
- Informasi tambahan: Tempat menemukan informasi selengkapnya.
- Pertimbangkan: Berhenti sejenak untuk mempertimbangkan bagaimana Anda dapat menerapkan konsep di lingkungan sendiri atau memulai percakapan tentang topik yang ada.
- Salin/Tempel: Blok kode yang menampilkan isi skrip atau file yang perlu disalin dan ditempel yang sudah dibuat sebelumnya untuk Anda. Ketika Anda hanya perlu menyalin bagian tertentu dari blok kode, akan ada komentar TODO bernomor dalam kode.