

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memulai dengan CloudFormation
<a name="GettingStarted"></a>

Anda dapat mulai menggunakan CloudFormation melalui Konsol Manajemen AWS dengan membuat tumpukan dari contoh template, yang akan membantu Anda mempelajari dasar-dasar pembuatan tumpukan. *Template* adalah file teks yang mendefinisikan semua sumber daya dalam tumpukan. *Tumpukan* adalah penyebaran CloudFormation template. Dari satu template, Anda dapat membuat beberapa tumpukan. Setiap tumpukan berisi kumpulan AWS sumber daya yang dapat dikelola sebagai satu unit.

CloudFormation adalah layanan gratis; Namun, Anda dikenakan biaya untuk AWS sumber daya yang Anda sertakan dalam tumpukan Anda dengan tarif saat ini untuk masing-masing. Untuk informasi lebih lanjut tentang AWS harga, buka halaman detail untuk setiap produk di [http://aws.amazon.com](https://aws.amazon.com/).

**Video: Memulai dengan CloudFormation**  
Video berikut adalah pengantar untuk membuat CloudFormation tumpukan dari. Konsol Manajemen AWS

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/1h-GPXQrLZw?si=MYHlJvBkE3DspKcL/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/1h-GPXQrLZw?si=MYHlJvBkE3DspKcL)


**Topics**
+ [

# Bagaimana cara CloudFormation kerja
](cloudformation-overview.md)
+ [

# Mendaftar untuk Akun AWS
](cfn-sign-up-for-aws.md)
+ [

# Membuat tumpukan pertama Anda
](gettingstarted.walkthrough.md)

# Bagaimana cara CloudFormation kerja
<a name="cloudformation-overview"></a>

Topik ini menjelaskan cara CloudFormation kerja dan memperkenalkan Anda pada konsep-konsep kunci yang perlu Anda ketahui saat Anda menggunakannya.

**Topics**
+ [

## Konsep utama
](#cfn-whatis-concepts)
+ [

## Bagaimana cara CloudFormation kerja
](#cfn-whatis-howdoesitwork)
+ [

## Cara untuk memulai CloudFormation
](#ways-to-get-started)

## Konsep utama
<a name="cfn-whatis-concepts"></a>

Saat Anda menggunakan CloudFormation, Anda bekerja dengan *templat* dan *tumpukan*. Anda membuat template untuk menggambarkan AWS sumber daya Anda dan propertinya. Setiap kali Anda membuat tumpukan CloudFormation , berikan sumber daya yang dijelaskan dalam template Anda.

**Topics**
+ [

### Template
](#cfn-concepts-templates)
+ [

### Tumpukan
](#cfn-concepts-stacks)
+ [

### Ubah set
](#cfn-concepts-change-sets)

### Template
<a name="cfn-concepts-templates"></a>

 CloudFormation Template adalah file teks berformat YAMB atau JSON. Anda dapat menyimpan file-file ini dengan ekstensi apa pun, seperti`.yaml`,`.json`,`.template`, atau`.txt`. CloudFormation menggunakan template ini sebagai cetak biru untuk membangun sumber daya Anda. AWS Misalnya, dalam template, Anda dapat menjelaskan instans Amazon EC2, seperti jenis instans, ID AMI, pemetaan perangkat blok, dan nama key pair Amazon EC2-nya. Setiap kali Anda membuat tumpukan, Anda juga menentukan templat yang CloudFormation gunakan untuk membuat apa pun yang Anda jelaskan dalam templat.

Misalnya, jika Anda membuat tumpukan dengan template berikut, berikan CloudFormation instance dengan ID `ami-0ff8a91507f77f867` AMI, jenis `t2.micro` instance, nama `testkey` key pair, dan volume Amazon EBS.

#### YAML
<a name="t2-micro-example.yaml"></a>

```
AWSTemplateFormatVersion: 2010-09-09
Description: A sample template
Resources:
  MyEC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: ami-0ff8a91507f77f867
      InstanceType: t2.micro
      KeyName: testkey
      BlockDeviceMappings:
        - DeviceName: /dev/sdm
          Ebs:
            VolumeType: io1
            Iops: 200
            DeleteOnTermination: false
            VolumeSize: 20
```

#### JSON
<a name="t2-micro-example.json"></a>

```
{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Description": "A sample template",
    "Resources": {
        "MyEC2Instance": {
            "Type": "AWS::EC2::Instance",
            "Properties": {
                "ImageId": "ami-0ff8a91507f77f867",
                "InstanceType": "t2.micro",
                "KeyName": "testkey",
                "BlockDeviceMappings": [
                    {
                        "DeviceName": "/dev/sdm",
                        "Ebs": {
                            "VolumeType": "io1",
                            "Iops": 200,
                            "DeleteOnTermination": false,
                            "VolumeSize": 20
                        }
                    }
                ]
            }
        }
    }
}
```

Anda juga dapat menentukan beberapa sumber daya dalam satu templat dan mengkonfigurasi sumber daya ini untuk bekerja sama. Misalnya, Anda dapat memodifikasi template sebelumnya untuk menyertakan alamat IP Elastis (EIP) dan mengaitkannya dengan instans Amazon EC2, seperti yang ditunjukkan pada contoh berikut:

#### YAML
<a name="multiple-resources-single-template.yaml"></a>

```
AWSTemplateFormatVersion: 2010-09-09
Description: A sample template
Resources:
  MyEC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: ami-0ff8a91507f77f867
      InstanceType: t2.micro
      KeyName: testkey
      BlockDeviceMappings:
        - DeviceName: /dev/sdm
          Ebs:
            VolumeType: io1
            Iops: 200
            DeleteOnTermination: false
            VolumeSize: 20
  MyEIP:
    Type: AWS::EC2::EIP
    Properties:
      InstanceId: !Ref MyEC2Instance
```

#### JSON
<a name="multiple-resources-single-template.json"></a>

```
{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Description": "A sample template",
    "Resources": {
        "MyEC2Instance": {
            "Type": "AWS::EC2::Instance",
            "Properties": {
                "ImageId": "ami-0ff8a91507f77f867",
                "InstanceType": "t2.micro",
                "KeyName": "testkey",
                "BlockDeviceMappings": [
                    {
                        "DeviceName": "/dev/sdm",
                        "Ebs": {
                            "VolumeType": "io1",
                            "Iops": 200,
                            "DeleteOnTermination": false,
                            "VolumeSize": 20
                        }
                    }
                ]
            }
        },
        "MyEIP": {
            "Type": "AWS::EC2::EIP",
            "Properties": {
                "InstanceId": {
                    "Ref": "MyEC2Instance"
                }
            }
        }
    }
}
```

Template sebelumnya berpusat di sekitar satu instans Amazon EC2; namun CloudFormation, template memiliki kemampuan tambahan yang dapat Anda gunakan untuk membangun kumpulan sumber daya yang kompleks dan menggunakan kembali template tersebut dalam berbagai konteks. Misalnya, Anda dapat menambahkan parameter input yang nilainya ditentukan saat Anda membuat CloudFormation tumpukan. Dengan kata lain, Anda dapat menentukan nilai seperti tipe instans ketika Anda membuat tumpukan bukan ketika Anda membuat templat, membuat templat lebih mudah untuk digunakan kembali dalam situasi yang berbeda.

### Tumpukan
<a name="cfn-concepts-stacks"></a>

Saat Anda menggunakan CloudFormation, Anda mengelola sumber daya terkait sebagai satu unit yang disebut tumpukan. Anda membuat, memperbarui, dan menghapus kumpulan sumber daya dengan membuat, memperbarui, dan menghapus tumpukan. Semua sumber daya dalam tumpukan ditentukan oleh CloudFormation template stack. Misalkan Anda membuat template yang menyertakan grup Auto Scaling, penyeimbang beban Elastic Load Balancing, dan instance database Amazon Relational Database Service (Amazon RDS). Untuk membuat sumber daya tersebut, Anda membuat tumpukan dengan mengirimkan template yang Anda buat, dan CloudFormation menyediakan semua sumber daya tersebut untuk Anda.

### Ubah set
<a name="cfn-concepts-change-sets"></a>

Jika Anda perlu mengubah sumber daya yang sedang berjalan dalam tumpukan, Anda memperbarui tumpukan. Sebelum membuat perubahan pada sumber daya Anda, Anda dapat membuat kumpulan perubahan, yang merupakan ringkasan perubahan yang Anda ajukan. Set perubahan memungkinkan Anda melihat bagaimana perubahan dapat mempengaruhi sumber daya yang sedang berjalan, terutama untuk sumber daya kritis, sebelum menerapkannya.

Misalnya, jika Anda mengubah nama instance database Amazon RDS, CloudFormation akan membuat database baru dan menghapus yang lama. Anda akan kehilangan data dalam basis data lama kecuali Anda sudah mencadangkan itu. Jika Anda membuat set perubahan, Anda akan melihat bahwa perubahan Anda akan menyebabkan basis data Anda diganti, dan Anda akan dapat menyesuaikan rencana sebelum Anda memperbarui tumpukan Anda. 

## Bagaimana cara CloudFormation kerja
<a name="cfn-whatis-howdoesitwork"></a>

Saat Anda menggunakan CloudFormation untuk membuat tumpukan, lakukan CloudFormation panggilan layanan yang mendasarinya AWS ke penyediaan dan mengonfigurasi sumber daya yang dijelaskan dalam templat Anda. Anda memerlukan izin untuk membuat sumber daya ini. Misalnya, untuk membuat instans EC2 dengan menggunakan CloudFormation, Anda memerlukan izin untuk membuat instance. Anda mengelola izin ini dengan [AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/)(IAM).

Panggilan yang dilakukan CloudFormation semuanya dideklarasikan oleh template Anda. Misalnya, Anda memiliki templat yang menjelaskan instans EC2 dengan tipe instans `t2.micro`. Saat Anda menggunakan template tersebut untuk membuat tumpukan, CloudFormation panggil Amazon EC2 create instance API dan tentukan jenis instans sebagai. `t2.micro` Diagram berikut merangkum alur kerja CloudFormation untuk membuat tumpukan.

![\[Template yang dibuat atau yang sudah ada yang disimpan secara lokal, atau dalam ember, yang digunakan untuk membuat tumpukan.\]](http://docs.aws.amazon.com/id_id/AWSCloudFormation/latest/UserGuide/images/create-stack-diagram.png)


**Untuk membuat tumpukan**

1. Gunakan editor teks untuk membuat CloudFormation template dalam format YAMB atau JSON. Templat CloudFormation menjelaskan sumber daya yang Anda inginkan dan pengaturannya. Gunakan [Komposer Infrastruktur](infrastructure-composer-for-cloudformation.md) untuk memvisualisasikan dan memvalidasi template Anda. Ini membantu Anda memastikan bahwa template Anda terstruktur dengan benar dan bebas dari kesalahan sintaks. Untuk informasi selengkapnya, lihat [Bekerja dengan CloudFormation template](template-guide.md).

1. Simpan template secara lokal atau di bucket Amazon S3.

1. Buat CloudFormation tumpukan dengan menentukan lokasi file template Anda, seperti jalur di komputer lokal Anda atau URL Amazon S3. Jika templat berisi parameter, Anda dapat menentukan nilai input saat membuat tumpukan. Parameter memungkinkan Anda untuk meneruskan nilai ke template Anda sehingga Anda dapat menyesuaikan sumber daya Anda setiap kali Anda membuat tumpukan.
**catatan**  
Jika Anda menentukan file templat yang disimpan secara lokal, CloudFormation unggah ke bucket S3 di akun Anda. AWS CloudFormation membuat bucket untuk setiap wilayah tempat Anda mengunggah file template. Bucket dapat diakses oleh siapa saja yang memiliki izin Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) di akun Anda. AWS Jika bucket yang dibuat oleh CloudFormation sudah ada, template ditambahkan ke bucket itu.  
Anda dapat menggunakan bucket Anda sendiri dan mengelola izinnya dengan mengunggah templat secara manual ke Amazon S3. Kemudian setiap kali Anda membuat atau memperbarui tumpukan, tentukan URL Amazon S3 dari file template.

Setelah semua sumber daya dibuat, CloudFormation laporkan bahwa tumpukan Anda telah dibuat. Kemudian, Anda dapat mulai menggunakan sumber daya dalam tumpukan Anda. Jika pembuatan tumpukan gagal, CloudFormation mengembalikan perubahan Anda dengan menghapus sumber daya yang dibuat.

### Memperbarui tumpukan dengan set perubahan
<a name="updating-stack-with-change-sets"></a>

Ketika Anda perlu memperbarui sumber daya tumpukan, Anda dapat mengubah templat tumpukan. Anda tidak perlu membuat tumpukan baru dan menghapus yang lama. Untuk memperbarui tumpukan, buat set perubahan dengan mengirimkan versi modifikasi dari template tumpukan asli, nilai parameter input yang berbeda, atau keduanya. CloudFormation membandingkan template yang dimodifikasi dengan template asli dan menghasilkan set perubahan. Set perubahan mencantumkan perubahan yang diajukan. Setelah meninjau perubahan, Anda dapat memulai set perubahan untuk memperbarui tumpukan Anda atau Anda dapat membuat set perubahan baru. Diagram berikut merangkum alur kerja untuk memperbarui tumpukan.

![\[Template yang menggunakan set perubahan untuk melihat nilai yang dimodifikasi sebelum menjalankan set perubahan untuk memperbarui tumpukan.\]](http://docs.aws.amazon.com/id_id/AWSCloudFormation/latest/UserGuide/images/update-stack-diagram.png)


**Untuk memperbarui tumpukan dengan set perubahan**

1. Anda dapat memodifikasi template CloudFormation tumpukan dengan menggunakan [Komposer Infrastruktur](infrastructure-composer-for-cloudformation.md) atau editor teks. Untuk informasi selengkapnya, lihat [Perbarui template tumpukan Anda](using-cfn-updating-stacks-get-template.md).

   Saat Anda memperbarui template Anda, perlu diingat bahwa pembaruan dapat menyebabkan gangguan. Bergantung pada sumber daya dan properti yang Anda perbarui, pembaruan mungkin mengganggu atau bahkan mengganti sumber daya yang ada. Untuk informasi selengkapnya, lihat [Memahami perilaku pembaruan sumber daya tumpukan](using-cfn-updating-stacks-update-behaviors.md).

1. Simpan CloudFormation template secara lokal atau dalam ember S3.

1. Buat set perubahan dengan menentukan tumpukan yang ingin Anda perbarui dan lokasi templat yang dimodifikasi, seperti jalur di komputer lokal Anda atau URL Amazon S3. Untuk informasi selengkapnya tentang cara membuat set perubahan, lihat [Perbarui CloudFormation tumpukan menggunakan set perubahan](using-cfn-updating-stacks-changesets.md).
**catatan**  
Jika Anda menentukan template yang disimpan di komputer lokal Anda, CloudFormation secara otomatis mengunggah template Anda ke bucket S3 di komputer Anda. Akun AWS

1. Lihat set perubahan untuk memeriksa apakah CloudFormation akan melakukan perubahan yang Anda harapkan. Misalnya, periksa apakah CloudFormation akan mengganti sumber daya tumpukan penting. Anda dapat membuat set perubahan sebanyak yang dibutuhkan sampai Anda telah menyertakan perubahan yang diinginkan.
**penting**  
Set perubahan tidak menunjukkan apakah pembaruan tumpukan Anda akan berhasil. Misalnya, set perubahan tidak memeriksa apakah Anda akan melampaui [kuota](cloudformation-limits.md) akun, jika Anda memperbarui sumber daya yang tidak mendukung pembaruan, atau jika Anda memiliki [izin](control-access-with-iam.md) yang tidak memadai untuk mengubah sumber daya, yang dapat menyebabkan pembaruan tumpukan gagal.

1. Mulai set perubahan yang ingin Anda terapkan ke tumpukan Anda. CloudFormation memperbarui tumpukan Anda dengan memperbarui hanya sumber daya yang Anda modifikasi dan memberi sinyal bahwa tumpukan Anda telah berhasil diperbarui. Jika pembaruan tumpukan gagal, CloudFormation memutar kembali perubahan untuk mengembalikan tumpukan ke status kerja terakhir yang diketahui.

## Cara untuk memulai CloudFormation
<a name="ways-to-get-started"></a>

Untuk membuat CloudFormation tumpukan hello world dengan konsol, lihat[Membuat tumpukan pertama Anda](gettingstarted.walkthrough.md).

Untuk pembelajaran terpandu, cobalah [Memulai dengan CloudFormation](https://catalog.us-east-1.prod.workshops.aws/workshops/df7f72cf-4f10-4664-acb6-b30dc8d4bcf0/en-US) lokakarya, yang menawarkan pengalaman langsung dengan pengembangan templat.

# Mendaftar untuk Akun AWS
<a name="cfn-sign-up-for-aws"></a>

Ketika Anda mendaftar AWS, Anda Akun AWS secara otomatis mendaftar untuk semua layanan di AWS, termasuk CloudFormation. Jika Anda Akun AWS sudah memiliki, lompat ke topik berikutnya. Jika Anda tidak memiliki Akun AWS, gunakan prosedur berikut untuk membuatnya.

## Mendaftar untuk Akun AWS
<a name="sign-up-for-aws"></a>

Jika Anda tidak memiliki Akun AWS, selesaikan langkah-langkah berikut untuk membuatnya.

**Untuk mendaftar untuk Akun AWS**

1. Buka [https://portal.aws.amazon.com/billing/pendaftaran.](https://portal.aws.amazon.com/billing/signup)

1. Ikuti petunjuk online.

   Bagian dari prosedur pendaftaran melibatkan menerima panggilan telepon atau pesan teks dan memasukkan kode verifikasi pada keypad telepon.

   Saat Anda mendaftar untuk sebuah Akun AWS, sebuah *Pengguna root akun AWS*dibuat. Pengguna root memiliki akses ke semua Layanan AWS dan sumber daya di akun. Sebagai praktik keamanan terbaik, tetapkan akses administratif ke pengguna, dan gunakan hanya pengguna root untuk melakukan [tugas yang memerlukan akses pengguna root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS mengirimi Anda email konfirmasi setelah proses pendaftaran selesai. Kapan saja, Anda dapat melihat aktivitas akun Anda saat ini dan mengelola akun Anda dengan masuk [https://aws.amazon.com.rproxy.goskope.comke/](https://aws.amazon.com/) dan memilih **Akun Saya**.

## Buat pengguna dengan akses administratif
<a name="create-an-admin"></a>

Setelah Anda mendaftar Akun AWS, amankan Pengguna root akun AWS, aktifkan AWS IAM Identity Center, dan buat pengguna administratif sehingga Anda tidak menggunakan pengguna root untuk tugas sehari-hari.

**Amankan Anda Pengguna root akun AWS**

1.  Masuk ke [Konsol Manajemen AWS](https://console.aws.amazon.com/)sebagai pemilik akun dengan memilih **pengguna Root** dan memasukkan alamat Akun AWS email Anda. Di laman berikutnya, masukkan kata sandi.

   Untuk bantuan masuk dengan menggunakan pengguna root, lihat [Masuk sebagai pengguna root](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) di *AWS Sign-In Panduan Pengguna*.

1. Mengaktifkan autentikasi multi-faktor (MFA) untuk pengguna root Anda.

   Untuk petunjuk, lihat [Mengaktifkan perangkat MFA virtual untuk pengguna Akun AWS root (konsol) Anda](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) di Panduan Pengguna *IAM*.

**Buat pengguna dengan akses administratif**

1. Aktifkan Pusat Identitas IAM.

   Untuk mendapatkan petunjuk, silakan lihat [Mengaktifkan AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html) di *Panduan Pengguna AWS IAM Identity Center *.

1. Di Pusat Identitas IAM, berikan akses administratif ke pengguna.

   Untuk tutorial tentang menggunakan Direktori Pusat Identitas IAM sebagai sumber identitas Anda, lihat [Mengkonfigurasi akses pengguna dengan default Direktori Pusat Identitas IAM](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) di *Panduan AWS IAM Identity Center Pengguna*.

**Masuk sebagai pengguna dengan akses administratif**
+ Untuk masuk dengan pengguna Pusat Identitas IAM, gunakan URL masuk yang dikirim ke alamat email saat Anda membuat pengguna Pusat Identitas IAM.

  Untuk bantuan masuk menggunakan pengguna Pusat Identitas IAM, lihat [Masuk ke portal AWS akses](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) di *Panduan AWS Sign-In Pengguna*.

**Tetapkan akses ke pengguna tambahan**

1. Di Pusat Identitas IAM, buat set izin yang mengikuti praktik terbaik menerapkan izin hak istimewa paling sedikit.

   Untuk petunjuknya, lihat [Membuat set izin](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html) di *Panduan AWS IAM Identity Center Pengguna*.

1. Tetapkan pengguna ke grup, lalu tetapkan akses masuk tunggal ke grup.

   Untuk petunjuk, lihat [Menambahkan grup](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html) di *Panduan AWS IAM Identity Center Pengguna*.

**catatan**  
Untuk informasi selengkapnya tentang cara mengelola siapa yang memiliki akses ke apa, lihat[Kontrol CloudFormation akses dengan AWS Identity and Access Management](control-access-with-iam.md).

# Membuat tumpukan pertama Anda
<a name="gettingstarted.walkthrough"></a>

Topik ini memandu Anda melalui pembuatan CloudFormation tumpukan pertama Anda menggunakan Konsol Manajemen AWS. 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, YAMG dipilih karena keterbacaannya.

**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](https://aws.amazon.com/free/) untuk meminimalkan atau menghilangkan biaya selama proses pembelajaran ini.

**Topics**
+ [

## Prasyarat
](#getting-started-prerequisites)
+ [

## Buat CloudFormation tumpukan dengan konsol
](#getting-started-create-stack)
+ [

## Pantau pembuatan tumpukan
](#getting-started-monitor-stack-creation)
+ [

## Uji server web
](#getting-started-test-web-server)
+ [

## Pemecahan masalah
](#getting-started-troubleshooting)
+ [

## Bersihkan
](#getting-started-clean-up)
+ [

## Langkah selanjutnya
](#getting-started-next-steps)

## Prasyarat
<a name="getting-started-prerequisites"></a>
+ 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. Template walkthrough ini membutuhkan VPC default, yang datang secara otomatis dengan yang lebih baru. Akun AWS Jika Anda tidak memiliki VPC default, atau jika telah dihapus, lihat bagian pemecahan masalah dalam topik ini untuk solusi alternatif.

## Buat CloudFormation tumpukan dengan konsol
<a name="getting-started-create-stack"></a>

**Untuk membuat CloudFormation tumpukan Hello world dengan konsol**

1. Buka [konsol CloudFormation](https://console.aws.amazon.com/cloudformation/).

1. Pilih **Buat tumpukan**.

1. 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.

1. Untuk mengunggah dan memvalidasi template contoh, lakukan hal berikut:

   1. 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 instans EC2 (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 keamanan EC2 yang memungkinkan lalu lintas HTTP masuk pada port 80 dari rentang IP yang ditentukan.
        + **`WebServer`**— Instans EC2 dengan konfigurasi berikut:
          + Menggunakan Amazon Linux 2 AMI terbaru
          + Menerapkan jenis contoh yang dipilih
          + Menambahkan `WebServerSecurityGroup` ke `SecurityGroupIds` properti
          + Termasuk skrip data pengguna untuk menginstal Apache HTTP Server
      + Nama logis ditentukan di awal setiap deklarasi sumber daya dan parameter. Misalnya, `WebServerSecurityGroup` adalah nama logis yang ditetapkan ke sumber daya grup keamanan EC2. `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 instans EC2. `Join`Fungsi ini membantu menggabungkan tetap `http://` dengan variabel `PublicDnsName` menjadi satu string, sehingga mudah untuk menampilkan URL lengkap server web.

   1. Pilih **Validasi** untuk memastikan kode YAMM valid sebelum mengunggah template.

   1. Selanjutnya, pilih **Buat template** untuk membuat template dan menambahkannya ke ember S3.

   1. 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.

1. Pada halaman **Buat tumpukan**, pilih **Berikutnya**.

1. Pada halaman **Tentukan detail tumpukan**, ketikkan nama di bidang **Nama tumpukan**. Nama tumpukan tidak dapat berisi spasi. Untuk contoh ini, gunakan **MyTestStack**.

1. Di bawah **Parameter**, tentukan nilai parameter sebagai berikut:
   + **LatestAmiId**: Ini diatur secara default ke Amazon Linux 2 AMI terbaru.
   + **InstanceType**: Pilih **t2.micro atau **t3.micro**** untuk jenis instans 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 tidak `t2.micro` tersedia, Anda dapat menggunakan `t3.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.

1. 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.

1. Tinjau informasi untuk tumpukan. Setelah Anda puas dengan pengaturan, pilih **Kirim**.

## Pantau pembuatan tumpukan
<a name="getting-started-monitor-stack-creation"></a>

Setelah Anda memilih **Kirim**, CloudFormation mulailah membuat sumber daya yang ditentukan dalam template. Tumpukan baru Anda**MyTestStack**,, muncul dalam daftar di bagian atas **CloudFormation**konsol. Statusnya seharusnya`CREATE_IN_PROGRESS`. Anda dapat melihat status detail untuk tumpukan dengan melihat peristiwanya.

**Untuk melihat peristiwa sebuah tumpukan**

1. Di CloudFormation konsol, pilih tumpukan **MyTestStack** dalam daftar.

1. 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. Sebagai contoh, pembuatan instans EC2 memberikan hasil sebagai 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 **Sumber Daya** untuk melihat instans EC2 dan grup keamanan yang Anda buat.

## Uji server web
<a name="getting-started-test-web-server"></a>

Setelah tumpukan berhasil dibuat, navigasikan ke tab **Output** di CloudFormation konsol. Cari bidang **WebsiteUrl**. Ini akan berisi URL publik dari instans EC2 Anda.

Buka browser dan buka URL yang tercantum di bawah **WebsiteUrl**. Anda akan melihat "Hello World\$1" pesan sederhana yang ditampilkan di browser.

Ini mengonfirmasi bahwa instans EC2 Anda menjalankan Apache HTTP Server dan melayani halaman web dasar.

## Pemecahan masalah
<a name="getting-started-troubleshooting"></a>

Jika Anda mengalami rollback selama pembuatan tumpukan, itu mungkin karena VPC yang hilang. Berikut cara mengatasi masalah ini.

### Tidak ada VPC default yang tersedia
<a name="getting-started-troubleshooting-no-default-vpc"></a>

Template dalam panduan ini membutuhkan VPC default. Jika pembuatan tumpukan gagal karena kesalahan ketersediaan VPC atau subnet, Anda mungkin tidak memiliki VPC default di akun Anda. Anda memiliki opsi berikut:
+ **Buat VPC default baru** — Anda dapat membuat VPC default baru melalui konsol VPC Amazon. Untuk petunjuk, lihat [Membuat VPC default di Panduan](https://docs.aws.amazon.com/vpc/latest/userguide/work-with-default-vpc.html#create-default-vpc) Pengguna Amazon *VPC*.
+ **Ubah template untuk menentukan subnet** - Jika Anda memiliki VPC non-default, Anda dapat memodifikasi template untuk secara eksplisit menentukan VPC dan subnet. IDs Tambahkan parameter berikut ke template:

  ```
    SubnetId:
      Description: The subnet ID to launch the instance into
      Type: AWS::EC2::Subnet::Id
  ```

  Kemudian, perbarui `WebServer` sumber daya untuk menyertakan ID subnet:

  ```
    WebServer:
      Type: AWS::EC2::Instance
      Properties:
        ImageId: !Ref LatestAmiId
        InstanceType: !Ref InstanceType
        SecurityGroupIds:
          - !Ref WebServerSecurityGroup
        SubnetId: !Ref SubnetId
        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
  ```

  Saat membuat tumpukan, Anda harus menentukan subnet yang memiliki akses internet agar server web dapat dijangkau.

## Bersihkan
<a name="getting-started-clean-up"></a>

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**

1. Buka [konsol CloudFormation](https://console.aws.amazon.com/cloudformation/).

1. Pada halaman **Stacks**, pilih opsi di sebelah nama tumpukan yang Anda buat (**MyTestStack**) dan kemudian pilih **Hapus**.

1. Saat diminta konfirmasi, pilih **Hapus**.

1. Pantau kemajuan proses penghapusan tumpukan pada tab **Event**. Status untuk **MyTestStack** perubahan ke `DELETE_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**

1. Buka [konsol Amazon S3](https://console.aws.amazon.com/s3/).

1. Di panel navigasi di sisi kiri konsol, pilih **Bucket**.

1. Dalam daftar **Bucket**, pilih opsi di sebelah nama bucket yang Anda buat untuk tutorial ini, lalu pilih **Empty**.

1. Di halaman **Bucket kosong**, konfirmasikan bahwa Anda ingin mengosongkan bucket dengan mengetik **permanently delete** ke dalam bidang teks, lalu pilih **Kosongkan**.

1. Pantau progres proses pengosongan bucket di halaman **Bucket kosong: Status**. 

1. Untuk kembali ke daftar bucket Anda, pilih **Keluar**.

1. Pilih opsi di sebelah nama bucket, lalu pilih **Hapus**.

1. Saat diminta konfirmasi, ketikkan nama bucket lalu pilih **Delete bucket**.

1. Pantau perkembangan proses penghapusan bucket dari daftar **Bucket**. Saat Amazon S3 menyelesaikan penghapusan bucket, itu akan menghapus bucket dari daftar.

## Langkah selanjutnya
<a name="getting-started-next-steps"></a>

Selamat\$1 Anda berhasil membuat tumpukan, memantau ciptaannya, dan menggunakan outputnya.

Untuk terus belajar:
+ Pelajari lebih lanjut tentang templat sehingga Anda dapat membuatnya sendiri. Untuk informasi selengkapnya, lihat [Bekerja dengan CloudFormation template](template-guide.md).
+ Coba CloudFormation lokakarya [Memulai dengan](https://catalog.us-east-1.prod.workshops.aws/workshops/df7f72cf-4f10-4664-acb6-b30dc8d4bcf0/en-US) lebih banyak praktik langsung dengan pembuatan template.
+ Untuk versi singkat dari [Memulai dengan CloudFormation](https://catalog.us-east-1.prod.workshops.aws/workshops/df7f72cf-4f10-4664-acb6-b30dc8d4bcf0/en-US), lihat[Menerapkan aplikasi di Amazon EC2](deploying.applications.md). Topik ini menjelaskan skenario yang sama menggunakan skrip CloudFormation pembantu`cfn-init`, untuk mem-bootstrap instance Amazon EC2.