GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengotomatiskan Sumber Daya AWS Anda dengan Template CloudFormation

AWS CloudFormation adalah layanan yang memungkinkan administrator sistem menyiapkan dan mengelola seluruh koleksi sumber daya AWS - termasuk konfigurasi, dependensi, dan hubungan antar sumber daya tersebut - dalam satu pernyataan. Mereka juga dapat membuat perubahan pada infrastruktur yang ada tanpa menghentikan atau menerapkan ulang aplikasi yang berjalan di atasnya.

AWS Cloudformation memungkinkan Anda untuk mengonfigurasi infrastruktur Anda sebagai kode. Ini pada dasarnya adalah infrastruktur sebagai mesin kode yang bekerja di cloud dan membantu pengguna untuk menyediakan dan mengelola komputasi, penyimpanan, dan sumber daya lainnya. Template CloudFormation adalah file JSON dengan arahan tentang cara membuat atau memperbarui sumber daya AWS. Kita dapat menggunakan AWS CLI, AWS SDK seperti boto3, atau layanan AWS CloudFormation untuk membuat template.

CloudFormation memberikan banyak keuntungan seperti:

  • Kemudahan penggunaan:CloudFormation menggunakan format template yang memungkinkan Anda mendeskripsikan semua atribut dan hubungan sumber daya AWS di satu tempat.
  • Agility go-to-market:CloudFormation memungkinkan Anda membangun dan menerapkan sumber daya AWS Anda sebagai kode.
  • Otomasi tingkat tinggi:CloudFormation mengubah kode tingkat tinggi menjadi satu set template sederhana yang dapat digunakan untuk membuat atau memperbarui sumber daya AWS.

Jika Anda ingin mengotomatiskan penerapan beban kerja Anda di AWS, menggunakan CloudFormation adalah salah satu cara terbaik untuk melakukannya.

Dalam artikel ini, kami akan menunjukkan kepada Anda pengantar singkat tentang CloudFormation dan menggunakan CloudFormation untuk mengotomatiskan sumber daya AWS Anda. Panduan ini menggunakan sumber daya S3 untuk mendemonstrasikan. Setelah tutorial ini, Anda akan dapat membuat, memperbarui, dan menghapus sejumlah sumber daya AWS menggunakan CloudFormation. Anda juga dapat mempelajari cara mulai membuat template CloudFormation Anda sendiri.

Prasyarat

Untuk mengikuti tutorial ini, Anda memerlukan prasyarat berikut:

  • AWS CLI diinstal pada mesin lokal Anda dalam versi 1.6.1 atau versi yang lebih tinggi dan dikonfigurasi dengan region default. Versi yang sama juga harus dikonfigurasi untuk Python 2.6 atau 3+.
  • Pemahaman dasar tentang layanan AWS dan beberapa pengalaman di AWS Console.

Membuat Stack Pertama Anda

Sekarang setelah Anda menyiapkan prasyarat, mari kita mulai dengan mengonfigurasi dan membuat tumpukan pertama Anda.

1. Buka browser favorit Anda. Navigasikan ke repositori GitHub ini dan unduh tiga file ke drive hard disk lokal Anda.

  • createstack.json
  • updatestack1.json
  • updatestack2.json

2. Sekarang, navigasikan ke AWS Console . Anda ---> CloudFormation .

3. Anda akan melihat layar berikut. Klik Buat tumpukan ---> Dengan sumber daya baru .

4. Anda akan melihat layar berikut. Klik Templat sudah siap ---> Unggah file template ---> Pilih Berkas ----> Pilih createstack.json Anda file yang Anda unduh sebelumnya---> Berikutnya .

Saat Anda membuat tumpukan baru, Anda harus menyediakan template untuk tumpukan Anda. Anda dapat melakukannya dengan tiga cara:

  • Templat sudah siap :pilih opsi ini jika Anda sudah memiliki template di tangan. Jika tidak, lanjutkan ke opsi berikutnya.
  • Gunakan contoh template :gunakan opsi ini untuk memberi Anda langkah awal dalam membuat template Anda. Panduan pengguna AWS menyediakan beberapa contoh template CloudFormation.
  • Bmembuat template di Designer :AWS CloudFormation Designer adalah cara terbaru untuk membuat tumpukan Anda. Ini menggunakan antarmuka seret dan lepas, mirip dengan alat populer lainnya seperti Sharepoint, untuk membantu Anda membuat template.

Demo ini menggunakan opsi pertama, "Template sudah siap," karena Anda sudah memiliki template di tangan (file yang Anda unduh ke disk Anda).

Anda dapat membuka createstack.json file di editor Anda untuk melihatnya. Anda akan melihat baris berikut di createstack.json mengajukan.

  • "Sumber Daya":{ adalah bagian yang dibuat AWS CloudFormation. Ini adalah pengelompokan semua sumber daya fisik yang akan Anda buat.
  • "catpics":adalah sumber daya logis, dengan tipenya adalah Bucket S3.
  • "Type":"AWS::S3::Bucket" adalah sumber daya fisik yang akan dibuat oleh AWS CloudFormation.

5. Pada layar berikutnya, berikan nama untuk tumpukan Anda (htf ) dan klik Berikutnya . Setiap tumpukan memerlukan nama unik dalam wilayah AWS sehingga Anda dapat membedakannya. Anda tidak dapat menggunakan karakter khusus apa pun di sini, hanya huruf, angka, dan garis bawah (tanpa spasi). AWS secara otomatis menghasilkan ID tumpukan unik untuk memudahkan identifikasi.

6. Pada layar berikutnya, pertahankan default dan klik Berikutnya.

7. Pada layar berikutnya, pertahankan default dan klik Buat tumpukan .

Pada titik ini, AWS CloudFormation memuat template dan membuat tumpukan untuk Anda. CloudFormation menelusuri setiap bagian template dan membuat sumber daya fisik yang sesuai untuknya. Dalam beberapa kasus, AWS CloudFormation akan melakukan beberapa pemeriksaan pada template Anda untuk memastikan semuanya sudah siap. Jika menemukan sesuatu yang salah, Anda akan mendapatkan pesan kesalahan yang menjelaskan apa masalahnya dan bagaimana cara memperbaikinya.

Proses pembuatannya memakan waktu sekitar 4-5 menit untuk membuatnya. Anda dapat melihat apa yang terjadi dengan melihat status tumpukan di dasbor CloudFormation Anda, seperti yang ditunjukkan di bawah ini. Anda dapat melihat catpics sumber daya logis di sisi kiri, dan di setiap sumber daya ini, Anda dapat melihat sumber daya fisik yang dibuat AWS CloudFormation untuk mereka (CREATE_IN_PROGRESS ).

Anda dapat menavigasi ke tab sumber daya untuk melihat sumber daya fisik yang dibuat untuk tumpukan ini. Dalam hal ini, ini adalah Bucket S3 bernama catpics dengan ID sumber daya fisik  dari htf-catpics-1roqn54xwm3of, seperti yang ditunjukkan di bawah ini.

8. Sekarang, navigasikan ke dasbor S3 Anda. Di dasbor S3 Anda, Anda dapat melihat objek yang dibuat di ember. Dalam hal ini, nama tumpukan untuk bucket S3 adalah htf-catpics-1roqn54xwm3of , seperti yang Anda lihat di bawah.

Anda dapat melihat bahwa nama ember mengikuti pola ini:nama tumpukan Anda(htf )-nama tumpukan logis Anda(catpics )-string acak(1roqn54xwm3of ). Pola ini sangat penting untuk Anda ketahui. Saat Anda tidak menentukan ID sumber daya fisik di template, AWS CloudFormation menggunakan pola ini untuk membuat nama sumber daya Anda. Kelebihannya adalah Anda sekarang dapat menggunakan template yang sama untuk membuat banyak tumpukan; AWS CloudFormation akan secara otomatis menangani penamaan mereka secara unik untuk Anda!

Untuk layanan seperti S3, nama yang unik sangat penting; nama bucket harus unik secara global agar Anda dapat menyimpan data ke dalamnya. Nama ember Anda tidak boleh sama. Anda akan gagal memasukkan objek ke dalam ember jika mencoba menamainya dengan nama yang sama.

Penting untuk memahami mengapa ini penting. Karena dengan CloudFormation, disarankan untuk tidak secara eksplisit menamai ID sumber daya fisik di template Anda. Sebagai gantinya, biarkan AWS CloudFormation membuatnya secara otomatis untuk Anda. Ini berarti Anda dapat menggunakan kembali template Anda untuk membuat beberapa tumpukan dengan sumber daya yang berbeda tanpa khawatir tentang konflik penamaan. Anda dapat menggunakan template Anda satu kali, sepuluh kali, atau seratus kali, dan CloudFormation akan menangani perubahan penamaan yang sesuai.

Memperbarui Tumpukan Anda

Sekarang setelah Anda membuat tumpukan pertama menggunakan AWS CloudFormation, mari kita periksa cara memperbarui tumpukan. Cara memperbarui tumpukan adalah konsep yang sangat penting untuk dipahami, baik untuk penggunaan produksi atau untuk ujian Anda. Anda mungkin akan diminta pada ujian untuk mengubah sesuatu di template Anda, atau mungkin Anda perlu memperbarui sesuatu di tumpukan Anda.

Di bagian ini, Anda akan membuat beberapa perubahan template, dan menggunakan template yang diperbarui tersebut untuk memperbarui tumpukan dan mengevaluasi perubahan apa yang dibuat pada sumber daya Anda.

Umumnya, saat memperbarui tumpukan di CloudFormation. Anda akan mengambil template yang Anda gunakan untuk membuat tumpukan dan menambahkan sumber daya baru, memperbarui sumber daya yang ada, atau menghapus sumber daya yang ada.

1. Buka updatetack1.json file yang Anda unduh sebelumnya di editor Anda, Anda akan melihat blok kode berikut. Mari kita bandingkan template ini dengan createstack.json template yang Anda gunakan sebelumnya. Anda dapat melihat bahwa kami akan menambahkan sumber daya logis tambahan bernama dogpics . Lebih penting lagi, tidak ada perubahan yang dibuat pada sumber daya logis yang ada, yang merupakan catpics . yang ada . Sumber daya catpics belum diubah atau dihapus. Saya hanya akan menambahkan sumber logika tambahan, yaitu dogpics .

2. Navigasikan ke dasbor CloudFormation Anda. Pilih tumpukan Anda(htf ) dan klik Perbarui .

3. Di layar berikutnya, pilih Ganti template saat ini ---> Unggah file template ---> Pilih File ---> Pilih updatetack1.json Anda file ---> Berikutnya .

4. Pada layar berikutnya, klik Berikutnya ---> Berikutnya ---> Pembaruan tumpukan, seperti yang ditunjukkan di bawah ini. Anda dapat melihat bahwa CloudFormation menunjukkan perubahan yang akan dibuat. Dalam hal ini, kami menambahkan ID logis bernama dogpics. CloudFormation juga menunjukkan kepada kita tindakan yang akan dilakukan(Tambah ), dan Jenis Sumber Daya Logis(AWS::S3::Bucket).  Pengganti kolom kosong.

Sama seperti saat Anda membuat tumpukan, Anda dapat melihat peristiwa pembaruan dari halaman tumpukan. Semua pembaruan sedang dilakukan dari CloudFormation. Dalam hal ini, ID sumber daya logis tambahan diberikan, yaitu dogpics .

Setelah proses pembaruan selesai, Anda dapat melihat di bawah bahwa kami memiliki keduanya catpics dan anjing sumber daya di tumpukan kami.

Navigasikan ke dasbor S3 Anda, dan Anda dapat melihat bahwa ember dogpics tambahan bernama htf-dogpics-4qesklu84ugq telah dibuat. Anda dapat melihat bahwa penamaan bucket menggunakan pola yang sama mengikuti string nama-logis stack nama-acak stack.

Pada titik ini, kami hanya menambahkan sumber daya logis baru ke sumber daya kami, yang cukup sederhana dan berisiko rendah. Sekarang kami akan menunjukkan cara menghapus sumber daya dari tumpukan Anda.

Kami akan menghapus sumber daya dogpics dari tumpukan kami. Ini lebih berisiko daripada menambahkan karena menghapus sumber daya dapat merusak tumpukan Anda. Karena kita masih belajar, mari berlatih dengan menghapus sumber dogpics kita untuk melihat apa yang terjadi

5. Navigasikan ke dasbor CloudFormation Anda. Pilih htf . Anda tumpukan, klik Perbarui ---> Ganti template saat ini ---> Pilih berkas ---> kali ini kita akan memilih createtack.json file lagi ---> Berikutnya ---> Berikutnya ---> Berikutnya.

6. Pada layar berikutnya, klik Perbarui tumpukan . Di bawah Ubah Pratinjau Set , Anda dapat melihat Tindakan kolom sekarang adalah:Hapus . Dalam hal ini, CloudFormation menghapus dogpics sumber daya dan sumber daya fisik yang sesuai(htf-dogpics-4qesklu84ugq ).

Navigasikan ke dasbor S3 Anda, Anda dapat melihat bahwa ember dogpics sekarang hilang dari dasbor S3 Anda.

Anda akan DELETE_COMPLETE acara di acara Stack Anda.

Menghapus sumber daya logis sedikit berisiko karena dapat menghapus sesuatu, tetapi risiko itu hanya terkait dengan sumber daya logis yang Anda hapus dari template (sumber daya dogpics). Sejauh ini, kami belum membuat perubahan apa pun pada sumber daya logis lain yang ada seperti sumber daya catpics. Jadi sumber daya fisik catpics tidak dapat dipengaruhi oleh pembaruan tumpukan apa pun. Ada opsi lain untuk memperbarui tumpukan Anda. Dengan menggunakan opsi ini, kita dapat mengubah konfigurasi untuk sumber daya logis yang ada.

7. Buka updatestack2.json file yang Anda unduh sebelumnya di editor Anda, Anda akan melihat blok kode berikut.

File updatetack2.json terlihat sangat mirip dengan template createtack.json yang Anda gunakan sebelumnya, kecuali dua perbedaan utama. Kami kembali menambahkan sumber logis kedua, dogpics. Tapi kami juga membuat perubahan pada catpics.

Kami telah menambahkan bagian tambahan dari konfigurasi, yang disebut Properti, di mana kami dapat menentukan properti tambahan untuk sumber daya logis yang diberikan. Dalam hal ini, kami akan membuat ember S3. Kami secara eksplisit menetapkan nama bucket sumber daya fisik sebagai catsareawesome -cara menempa .

8. Navigasikan ke dasbor CloudFormation Anda. Pilih htf Anda tumpukan, klik Perbarui ---> Ganti template saat ini ---> Pilih berkas ---> kali ini kita akan memilih updatestack2.json file ---> Berikutnya ---> Berikutnya ---> Berikutnya.

9. Pada layar berikutnya, klik Perbarui tumpukan . Perhatikan Ubah Pratinjau Set panel, Anda dapat mengetahui seperti apa pengaruh pembaruan ini.

Perubahan pertama terlihat familiar. Kami akan menambahkan sumber daya logis tambahan untuk dogpics , yang akan menjadi ember S3. Namun kami juga melihat Ubah tindakan. Dan memodifikasi sebenarnya adalah hal paling berisiko yang dapat Anda lakukan pada tumpukan CloudFormation.

Alasannya adalah sumber daya yang ada, yang ada dan berpotensi digunakan oleh lingkungan lain, dapat diubah oleh pembaruan tumpukan. Jadi, memodifikasi sumber daya logis yang ada berpotensi lebih berisiko untuk digunakan.

Ada 3 kemungkinan sumber daya fisik terpengaruh saat Anda memperbarui tumpukan dengan cara ini. Kemungkinan pertama adalah sumber daya diperbarui tanpa gangguan apa pun pada layanan.

Kemungkinan kedua adalah bahwa sumber daya diperbarui dan layanan terganggu oleh beberapa tingkat gangguan. Misalnya, saat Anda memperbarui tumpukan untuk mengubah ukuran instans EC2 Anda. Ketika Anda melakukan ini, Anda perlu me-reboot instans EC2 Anda secara manual. AMI baru akan diluncurkan dan Anda mungkin mengalami beberapa waktu henti. Namun begitu AMI baru diluncurkan, layanan Anda akan segera tersedia.

Kemungkinan terakhir adalah pembaruan akan menghapus seluruh sumber daya fisik Anda yang ada dan menggantinya dengan yang baru(Pengganti ). Ini adalah kemungkinan paling berisiko saat memperbarui tumpukan CloudFormation Anda. Anda harus benar-benar memperhatikan saat melakukan ini. Ketika penggantian semacam ini terjadi, Anda akan Pengganti kolom Benar , seperti yang ditunjukkan pada tangkapan layar di bawah.

Di dasbor CloudFormation Stacks Anda, Anda dapat melihat bahwa dikatakan "Pembaruan yang diminta memerlukan pembuatan sumber daya fisik baru; karenanya membuatnya." Jadi CloudFormation menghapus sumber daya yang ada dan membuat yang baru.

Navigasikan ke dasbor S3 Anda, Anda akan melihat bahwa keranjang catpics sekarang hilang, dan yang baru, catsareawesome -cara menempa , telah dibuat. Perhatikan bahwa kami secara eksplisit memberikan nama fisik (catsareawesome-howtoforge) untuk sumber daya di dalam template CloudFormation, itu tidak menerapkan karakter acak apa pun ke nama sumber daya.

Masalahnya adalah jika kita menggunakan template ini untuk membuat tumpukan CloudFormation lain, itu akan gagal karena akan mencoba membuat ember lain dengan nama yang sama persis. Dan Anda tidak dapat memiliki 2 ember dengan nama yang sama di akun AWS mana pun. Anda akan mendapatkan kesalahan berikut saat mencoba membuat keranjang lain dengan nama yang sama persis.

Menghapus Tumpukan CloudFormation Anda

Sekarang kita telah mengubah template dan memperbarui tumpukan kita, kita perlu memastikan bahwa kita menghapus tumpukan setelah kita selesai mengerjakannya. Jika kami tidak menghapus tumpukan yang tidak digunakan, tumpukan itu akan tetap berada di dasbor CloudFormation Stack kami tanpa batas waktu. Kami harus masuk ke sana secara manual dan menghapusnya.

Dari dasbor CloudFormation Anda, pilih tumpukan Anda, lalu pilih Hapus . Saat CloudFormation menghapus tumpukan, itu juga menghapus semua sumber daya di dalam tumpukan itu. Tidak ada cara untuk hanya menghapus satu sumber daya seperti bucket S3 atau instans EC2. Tindakan ini dilakukan dengan desain.

Kesimpulan

Dalam panduan ini, kita melihat bagaimana tumpukan CloudFormation dibuat dan diubah. Kami melihat beberapa cara untuk mengubah template dan cara memperbarui tumpukan yang ada. Kami kemudian melihat beberapa kemungkinan yang terkait dengan memperbarui tumpukan. Dan terakhir, kita melihat cara menghapus tumpukan CloudFormation setelah Anda selesai mengerjakannya.

Silakan tinggalkan komentar di bawah jika Anda memiliki pertanyaan atau saran. Terima kasih telah membaca!


Linux
  1. Cara memperluas fungsionalitas desktop Linux Anda dengan PlexyDesk

  2. Cara Membandingkan Sistem Anda (CPU, File IO, MySQL) dengan Sysbench

  3. Cara mengintegrasikan Jenkins dengan CloudFormation dan Step Functions

  1. Cara menavigasi desktop GNOME Linux Anda hanya dengan keyboard

  2. Bagaimana mengelola kata sandi Anda dengan Enpass di Linux

  3. Cara Mengamankan server Ubuntu Anda dengan CSF Firewall

  1. Cara Menyelamatkan Sistem Windows atau Linux Anda dengan Rescatux

  2. Cara menyumbangkan sumber daya CPU/GPU ke sains dengan Boinc

  3. Cara berkolaborasi pada dokumen yang disimpan di server WebDAV Anda dengan ONLYOFFICE