Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat tumpukan pertama Anda
Topik ini memandu Anda melalui pembuatan CloudFormation tumpukan pertama Anda menggunakan AWS Management Console. Dengan mengikuti tutorial ini, Anda akan belajar cara menyediakan AWS sumber daya dasar, memantau peristiwa tumpukan, dan menghasilkan output.
Untuk contoh ini, CloudFormation template ditulis dalam YAMG. YAMM adalah format yang dapat dibaca manusia yang banyak digunakan untuk mendefinisikan infrastruktur sebagai kode. Saat Anda mempelajari lebih lanjut CloudFormation, Anda mungkin juga menemukan template lain dalam format JSON, tetapi untuk tutorial ini, YAMAL dipilih karena keterbacaannya.
Jika Anda tertarik dengan kursus yang dipandu dan langsung untuk dicoba CloudFormation, lihat lokakarya Memulai dengan AWS CloudFormation
catatan
CloudFormation gratis, tetapi Anda akan dikenakan biaya untuk sumber daya Amazon EC2 dan Amazon S3 yang Anda buat. Namun, jika Anda baru mengenal AWS, Anda dapat memanfaatkan Tingkat Gratis
Topik
Prasyarat
-
Anda harus memiliki akses ke pengguna atau peran IAM yang memiliki izin untuk menggunakan Amazon EC2, Amazon S3, CloudFormation dan, atau akses pengguna administratif. Akun AWS
-
Anda harus memiliki Virtual Private Cloud (VPC) yang memiliki akses ke internet. Untuk menjaga hal-hal sederhana, Anda dapat menggunakan VPC default yang datang secara otomatis dengan akun Anda. VPC default dan subnet default sudah cukup untuk latihan ini.
Buat CloudFormation tumpukan dengan konsol
Untuk membuat CloudFormation tumpukan Hello world dengan konsol
-
Buka konsol CloudFormation
. -
Pilih Buat tumpukan.
-
Pada halaman Create stack, pilih Build from Infrastructure Composer, dan kemudian Create in Infrastructure Composer. Ini membawa Anda ke Infrastructure Composer dalam mode CloudFormation konsol tempat Anda dapat mengunggah dan memvalidasi template contoh.
-
Untuk mengunggah dan memvalidasi template contoh, lakukan hal berikut:
-
Pilih Template. Kemudian, salin dan tempel CloudFormation templat berikut ke editor templat:
AWSTemplateFormatVersion: 2010-09-09 Description: CloudFormation Template for WebServer with Security Group and EC2 Instance Parameters: LatestAmiId: Description: The latest Amazon Linux 2 AMI from the Parameter Store Type: 'AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>' Default: '/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2' InstanceType: Description: WebServer EC2 instance type Type: String Default: t2.micro AllowedValues: - t3.micro - t2.micro ConstraintDescription: must be a valid EC2 instance type. MyIP: Description: Your IP address in CIDR format (e.g. 203.0.113.1/32). Type: String MinLength: '9' MaxLength: '18' Default: 0.0.0.0/0 AllowedPattern: '^(\d{1,3}\.){3}\d{1,3}\/\d{1,2}$' ConstraintDescription: must be a valid IP CIDR range of the form x.x.x.x/x. Resources: WebServerSecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: Allow HTTP access via my IP address SecurityGroupIngress: - IpProtocol: tcp FromPort: '80' ToPort: '80' CidrIp: !Ref MyIP WebServer: Type: AWS::EC2::Instance Properties: ImageId: !Ref LatestAmiId InstanceType: !Ref InstanceType SecurityGroupIds: - !Ref WebServerSecurityGroup UserData: !Base64 | #!/bin/bash yum update -y yum install -y httpd systemctl start httpd systemctl enable httpd echo "<html><body><h1>Hello World!</h1></body></html>" > /var/www/html/index.html Outputs: WebsiteURL: Value: !Join - '' - - http:// - !GetAtt WebServer.PublicDnsName Description: Website URL
Sebelum Anda pindah ke langkah berikutnya, mari luangkan waktu sejenak untuk melihat template dan memahami beberapa CloudFormation konsep kunci.
-
Parameters
Bagian ini mendeklarasikan nilai yang dapat diteruskan ke template saat Anda membuat tumpukan. Sumber daya yang ditentukan kemudian dalam templat mereferensikan nilai-nilai ini dan menggunakan data. Parameter adalah cara yang efektif untuk menentukan informasi yang tidak ingin Anda simpan di template itu sendiri. Mereka juga merupakan cara untuk menentukan informasi yang mungkin unik untuk aplikasi atau konfigurasi tertentu yang Anda gunakan. -
Template mendefinisikan parameter berikut:
-
LatestAmiId
— Mengambil ID AMI Amazon Linux 2 terbaru dari AWS Systems Manager Parameter Store. -
InstanceType
— Memungkinkan pemilihan jenis EC2 instance (default:t2.micro
, allowed:t3.micro
,t2.micro
). -
MyIP
- Menentukan rentang alamat IP untuk akses HTTP (default: 0.0.0.0/0, memungkinkan akses dari IP apa pun).
-
-
Resources
Bagian ini berisi definisi AWS sumber daya yang ingin Anda buat dengan template. Deklarasi sumber daya adalah cara yang efisien untuk menentukan semua pengaturan konfigurasi ini sekaligus. Saat menyertakan deklarasi sumber daya dalam templat, Anda dapat membuat dan mengonfigurasi semua sumber daya yang dideklarasikan dengan menggunakan templat tersebut untuk membuat tumpukan. Anda juga dapat membuat tumpukan baru dari template yang sama untuk meluncurkan konfigurasi sumber daya yang identik. -
Template ini menciptakan sumber daya berikut:
-
WebServerSecurityGroup
- Grup EC2 keamanan yang memungkinkan lalu lintas HTTP masuk pada port 80 dari rentang IP yang ditentukan. -
WebServer
— Sebuah EC2 contoh dengan konfigurasi berikut:-
Menggunakan Amazon Linux 2 AMI terbaru
-
Menerapkan jenis contoh yang dipilih
-
Menambahkan
WebServerSecurityGroup
keSecurityGroupIds
properti -
Termasuk skrip data pengguna untuk menginstal Apache HTTP Server
-
-
-
Nama logis ditentukan di awal setiap sumber daya dan deklarasi parameter. Misalnya,
WebServerSecurityGroup
adalah nama logis yang ditetapkan ke sumber daya grup EC2 keamanan.Ref
Fungsi ini kemudian digunakan untuk referensi sumber daya dan parameter dengan nama logisnya di bagian lain dari template. Ketika satu sumber daya mereferensikan sumber daya lain, ini menciptakan ketergantungan di antara mereka. -
Outputs
Bagian ini mendefinisikan nilai kustom yang dikembalikan setelah pembuatan tumpukan. Anda dapat menggunakan nilai output untuk mengembalikan informasi dari sumber daya di tumpukan, seperti pengidentifikasi sumber daya atau URLs. -
Template mendefinisikan satu output:
-
WebsiteURL
— URL server web yang digunakan, dibangun menggunakan nama DNS publik EC2 instance.Join
Fungsi ini membantu menggabungkan tetaphttp://
dengan variabelPublicDnsName
menjadi satu string, sehingga mudah untuk menampilkan URL lengkap server web.
-
-
-
Pilih Validasi untuk memastikan kode YAMM valid sebelum mengunggah template.
-
Selanjutnya, pilih Buat template untuk membuat template dan menambahkannya ke ember S3.
-
Dari kotak dialog yang terbuka, catat nama bucket S3 sehingga Anda dapat menghapusnya nanti. Kemudian, pilih Konfirmasi dan lanjutkan ke CloudFormation. Ini membawa Anda ke CloudFormation konsol tempat jalur S3 ke template Anda sekarang ditentukan.
-
-
Pada halaman Buat tumpukan, pilih Berikutnya.
-
Pada halaman Tentukan detail tumpukan, ketikkan nama di bidang Nama tumpukan. Nama tumpukan tidak dapat berisi spasi. Untuk contoh ini, gunakan
MyTestStack
. -
Di bawah Parameter, tentukan nilai parameter sebagai berikut:
-
LatestAmiId: Ini diatur secara default ke Amazon Linux 2 AMI terbaru.
-
InstanceType: Pilih salah satu t2.micro atau t3.micro untuk jenis instance. EC2
catatan
Jika Anda baru AWS, Anda dapat menggunakan tingkat gratis untuk meluncurkan dan menggunakan
t2.micro
instance secara gratis selama 12 bulan (di Wilayah yang tidakt2.micro
tersedia, Anda dapat menggunakant3.micro
instance di bawah tingkat gratis). -
MyIP: Tentukan alamat IP publik Anda yang sebenarnya dengan akhiran.
/32
/32
Sufiks digunakan dalam notasi CIDR untuk menentukan bahwa satu alamat IP diperbolehkan. Ini pada dasarnya berarti memungkinkan lalu lintas ke dan dari alamat IP spesifik ini, dan tidak ada yang lain.
-
-
Pilih Berikutnya dua kali untuk pergi ke halaman Review dan create. Untuk tutorial ini, Anda dapat meninggalkan default pada halaman Configure stack options sebagaimana adanya.
-
Tinjau informasi untuk tumpukan. Setelah Anda puas dengan pengaturan, pilih Kirim.
Pantau pembuatan tumpukan
Setelah Anda memilih Kirim, CloudFormation mulailah membuat sumber daya yang ditentukan dalam template. Tumpukan baru AndaMyTestStack
,, muncul dalam daftar di bagian atas CloudFormationkonsol. Statusnya seharusnyaCREATE_IN_PROGRESS
. Anda dapat melihat status detail untuk tumpukan dengan melihat peristiwanya.
Untuk melihat peristiwa sebuah tumpukan
-
Di CloudFormation konsol, pilih tumpukan
MyTestStack
dalam daftar. -
Pilih tab Peristiwa di panel detail klaster.
Konsol secara otomatis menyegarkan daftar peristiwa dengan peristiwa terbaru setiap 60 detik.
Tab Peristiwa menampilkan setiap langkah besar dalam pembuatan tumpukan yang diurutkan berdasarkan waktu setiap peristiwa dengan kejadian terbaru berada di atas.
Acara pertama (di bagian bawah daftar acara) adalah awal dari proses pembuatan tumpukan:
2024-12-23 18:54 UTC-7 MyTestStack CREATE_IN_PROGRESS User initiated
Berikutnya adalah peristiwa yang menandai awal dan penyelesaian penciptaan setiap sumber daya. Misalnya, pembuatan EC2 instance menghasilkan entri berikut:
2024-12-23 18:59 UTC-7 WebServer CREATE_COMPLETE
2024-12-23 18:54 UTC-7 WebServer CREATE_IN_PROGRESS Resource creation
initiated
CREATE_IN_PROGRESS
Acara dicatat ketika CloudFormation melaporkan bahwa ia telah mulai membuat sumber daya. Peristiwa CREATE_COMPLETE
dicatat ketika sumber daya berhasil dibuat.
Ketika CloudFormation telah berhasil membuat tumpukan, Anda akan melihat peristiwa berikut di bagian atas tab Events:
2024-12-23 19:17 UTC-7 MyTestStack CREATE_COMPLETE
Jika tidak CloudFormation dapat membuat sumber daya, ia melaporkan CREATE_FAILED
peristiwa dan, secara default, memutar kembali tumpukan dan menghapus sumber daya apa pun yang telah dibuat. Parameter kolom Alasan Status menampilkan masalah yang menyebabkan kegagalan.
Setelah tumpukan dibuat, Anda dapat pergi ke tab Resources untuk melihat EC2 instance dan grup keamanan yang Anda buat.
Uji server web
Setelah tumpukan berhasil dibuat, navigasikan ke tab Output di CloudFormation konsol. Cari bidang WebsiteUrl. Ini akan berisi URL publik EC2 instance Anda.
Buka browser dan buka URL yang tercantum di bawah WebsiteUrl. Anda harus melihat yang sederhana "Hello World!" pesan ditampilkan di browser.
Ini mengonfirmasi bahwa EC2 instans Anda menjalankan Apache HTTP Server dan menyajikan halaman web dasar.
Bersihkan
Untuk memastikan Anda tidak dikenakan biaya layanan yang tidak diinginkan, Anda dapat membersihkannya dengan menghapus tumpukan dan sumber dayanya. Anda juga dapat menghapus bucket S3 yang menyimpan template stack.
Untuk menghapus tumpukan dan sumber dayanya
-
Buka konsol CloudFormation
. -
Pada halaman Stacks, pilih opsi di sebelah nama tumpukan yang Anda buat (
MyTestStack
) dan kemudian pilih Hapus. -
Saat diminta konfirmasi, pilih Hapus.
-
Pantau kemajuan proses penghapusan tumpukan pada tab Event. Status untuk
MyTestStack
perubahan keDELETE_IN_PROGRESS
. Ketika CloudFormation menyelesaikan penghapusan tumpukan, itu menghapus tumpukan dari daftar.
Jika Anda selesai bekerja dengan template contoh dan tidak lagi memerlukan bucket Amazon S3 Anda, hapus saja. Sebelum Anda dapat menghapus ember, Anda harus terlebih dahulu mengosongkannya. Mengosongkan ember menghapus semua objek di dalamnya.
Untuk mengosongkan dan menghapus bucket Amazon S3
-
Buka konsol Amazon S3
. -
Di panel navigasi di sisi kiri konsol, pilih Bucket.
-
Dalam daftar Bucket, pilih opsi di sebelah nama bucket yang Anda buat untuk tutorial ini, lalu pilih Empty.
-
Di halaman Bucket kosong, konfirmasikan bahwa Anda ingin mengosongkan bucket dengan mengetik
permanently delete
ke dalam bidang teks, lalu pilih Kosongkan. -
Pantau progres proses pengosongan bucket di halaman Bucket kosong: Status.
-
Untuk kembali ke daftar bucket Anda, pilih Keluar.
-
Pilih opsi di sebelah nama bucket, lalu pilih Hapus.
-
Saat diminta konfirmasi, ketikkan nama bucket lalu pilih Delete bucket.
-
Pantau perkembangan proses penghapusan bucket dari daftar Bucket. Saat Amazon S3 menyelesaikan penghapusan bucket, itu akan menghapus bucket dari daftar.
Langkah selanjutnya
Selamat! Anda berhasil membuat tumpukan, memantau ciptaannya, dan menggunakan outputnya. Untuk mempelajari lebih lanjut tentang templat sehingga Anda dapat membuatnya sendiri, lihatBekerja dengan CloudFormation template.
Untuk panduan tambahan yang berfokus pada contoh penggunaan CloudFormation yang lebih kompleks, lihat. CloudFormation penelusuran