

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

# Tutorial CLI: Tumpukan Dua Tingkat Ketersediaan Tinggi (Linux/RHEL)
<a name="tut-create-ha-stack"></a>

Bagian ini menjelaskan cara menerapkan tumpukan dua tingkat ketersediaan tinggi (HA) ke dalam lingkungan AMS menggunakan AMS CLI. 

**catatan**  
Panduan penerapan ini telah diuji di lingkungan AMZN Linux dan RHEL.

Ringkasan tugas dan diperlukan RFCs:

1. Buat infrastruktur (tumpukan dua tingkat HA)

1. Buat bucket S3 untuk aplikasi CodeDeploy 

1. Buat bundel WordPress aplikasi dan unggah ke bucket S3

1. Menyebarkan aplikasi dengan CodeDeploy

1. Akses WordPress situs dan masuk untuk memvalidasi penerapan

# Sebelum Anda Memulai
<a name="ha-stack-ex-before-begin"></a>

Deployment \$1 Advanced Stack Components \$1 High Availability Two Tier Stack Advanced \$1 Create CT membuat grup Auto Scaling, load balancer, database, dan CodeDeploy nama aplikasi serta grup deployment (dengan nama yang sama dengan yang Anda berikan pada aplikasi). Untuk informasi tentang CodeDeploy lihat [Apa itu CodeDeploy?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html)

Panduan ini menggunakan RFC High Availability Two-Tier Stack (Advanced) yang menyertakan UserData dan juga menjelaskan cara membuat WordPress bundel yang dapat diterapkan. CodeDeploy 

Yang `UserData` ditunjukkan dalam contoh mendapatkan metadata instance seperti ID instance, wilayah, dll, dari dalam instance yang sedang berjalan dengan menanyakan layanan metadata EC2 instance yang tersedia di http://169.254.169.254/latest/meta-data/. Baris ini dalam skrip data pengguna:`REGION=$(curl 169.254.169.254/latest/meta-data/placement/availability-zone/ | sed 's/[a-z]$//')`, mengambil nama zona ketersediaan dari layanan meta-data ke variabel \$1REGION untuk wilayah yang kami dukung, dan menggunakannya untuk melengkapi URL untuk bucket S3 tempat agen diunduh. CodeDeploy IP 169.254.169.254 hanya dapat dirutekan dalam VPC (semua dapat menanyakan layanan). VPCs Untuk informasi tentang layanan, lihat [Metadata Instans dan Data Pengguna](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). Perhatikan juga bahwa skrip yang UserData dimasukkan sebagai dijalankan sebagai pengguna “root” dan tidak perlu menggunakan perintah “sudo”.

Panduan ini meninggalkan parameter berikut pada nilai default (ditampilkan):
+ Grup Auto Scaling:. `Cooldown=300, DesiredCapacity=2, EBSOptimized=false, HealthCheckGracePeriod=600, IAMInstanceProfile=customer-mc-ec2-instance-profile, InstanceDetailedMonitoring=true, InstanceRootVolumeIops=0, InstanceRootVolumeType=standard, InstanceType=m3.medium, MaxInstances=2, MinInstances=2, ScaleDownPolicyCooldown=300, ScaleDownPolicyEvaluationPeriods=4, ScaleDownPolicyPeriod=60, ScaleDownPolicyScalingAdjustment=-1, ScaleDownPolicyStatistic=Average, ScaleDownPolicyThreshold=35, ScaleMetricName=CPUUtilization, ScaleUpPolicyCooldown=60, ScaleUpPolicyEvaluationPeriods=2, ScaleUpPolicyPeriod=60, ScaleUpPolicyScalingAdjustment=2, ScaleUpPolicyStatistic=Average, ScaleUpPolicyThreshold=75`
+ Load Balancer:. `HealthCheckInterval=30, HealthCheckTimeout=5`
+ Basis data:`BackupRetentionPeriod=7, Backups=true, InstanceType=db.m3.medium, IOPS=0, MultiAZ=true, PreferredBackupWindow=22:00-23:00, PreferredMaintenanceWindow=wed:03:32-wed:04:02, StorageEncrypted=false, StorageEncryptionKey="", StorageType=gp2`.
+ Aplikasi:`DeploymentConfigName=CodeDeployDefault.OneAtATime`.
+ Ember S3:`AccessControl=Private`.

PENGATURAN TAMBAHAN:

`RequestedStartTime`dan `RequestedEndTime` jika Anda ingin menjadwalkan RFC Anda: Anda dapat menggunakan [time.Is](https://time.is/UTC) untuk menentukan waktu UTC yang benar. Contoh yang diberikan harus disesuaikan dengan tepat. RFC tidak dapat melanjutkan jika waktu mulai telah berlalu. Atau, Anda dapat mengabaikan nilai-nilai tersebut untuk membuat ASAP RFC yang dijalankan segera setelah persetujuan dilewatkan.

**catatan**  
Ada banyak parameter yang mungkin Anda pilih untuk diatur secara berbeda dari seperti yang ditunjukkan. Nilai untuk parameter yang ditunjukkan dalam contoh telah diuji tetapi mungkin tidak tepat untuk Anda.

# Buat Infrastruktur
<a name="ex-create-ha-infra-deploy"></a>

Mengumpulkan data berikut sebelum Anda mulai akan membuat penyebaran berjalan lebih cepat.

DATA YANG DIBUTUHKAN HA STACK:
+ AutoScalingGroup:
  + `UserData`: Nilai ini disediakan dalam tutorial ini. Ini termasuk perintah untuk mengatur sumber daya untuk CodeDeploy dan memulai CodeDeploy agen.
  + `AMI-ID`: Nilai ini menentukan jenis EC2 instance grup Auto Scaling (ASG) Anda yang akan berputar. Pastikan untuk memilih AMI di akun Anda yang dimulai dengan “pelanggan-” dan merupakan sistem operasi yang Anda inginkan. Temukan AMI IDs dengan referensi Untuk AMS SKMS API, lihat tab **Laporan** di AWS Artifact Console. operasi (CLI: list-amis) atau di halaman AMS Console -> detail. VPCs VPCs Panduan ini untuk ASGs dikonfigurasi untuk menggunakan AMI Linux.
+ Database:
  + Parameter ini`DBEngine`,`EngineVersion`,, dan `LicenseModel` harus diatur sesuai dengan situasi Anda meskipun nilai yang ditunjukkan dalam contoh telah diuji.
  + Parameter ini`RDSSubnetIds`,`DBName`,`MasterUsername`,, dan `MasterUserPassword` diperlukan saat menerapkan bundel aplikasi. Untuk RDSSubnet Id, gunakan dua subnet Private.
+ LoadBalancer:
  + Parameter ini`DBEngine`,`EngineVersion`,, dan `LicenseModel` harus diatur sesuai dengan situasi Anda meskipun nilai yang ditunjukkan dalam contoh telah diuji.
  + `ELBSubnetIds`: Gunakan dua subnet Publik.
+ Aplikasi: `ApplicationName` Nilai menetapkan nama CodeDeploy aplikasi dan nama grup CodeDeploy penyebaran. Anda menggunakannya untuk menyebarkan aplikasi Anda. Itu harus unik di akun. Untuk memeriksa CodeDeploy nama akun Anda, lihat CodeDeploy Konsol. Contoh menggunakan "WordPress" tetapi, jika Anda akan menggunakan nilai itu, pastikan itu belum digunakan.

Prosedur ini menggunakan CT stack dua tingkat (lanjutan) ketersediaan tinggi (ct-06mjngx5flwto) dan CT penyimpanan Create S3 (ct-1a68ck03fn98r). Dari akun Anda yang diautentikasi, ikuti langkah-langkah ini di baris perintah.

1. Luncurkan tumpukan infrastruktur.

   1. Keluarkan parameter eksekusi skema JSON untuk CT stack dua tingkat HA ke file di folder Anda saat ini bernama CreateStackParams .json.

      ```
      aws amscm get-change-type-version --change-type-id "ct-06mjngx5flwto" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateStackParams.json
      ```

   1. Ubah skema. Ganti *variables* yang sesuai. Misalnya, gunakan OS yang Anda inginkan untuk EC2 instance yang akan dibuat ASG. Rekam `ApplicationName` karena Anda akan menggunakannya nanti untuk menyebarkan aplikasi. Perhatikan bahwa Anda dapat menambahkan hingga 50 tag.

      ```
      {
      "Description":      "HA two tier stack for WordPress",
      "Name":             "WordPressStack",
      "TimeoutInMinutes":  360,
      "Tags": [
              {
                  "Key": "ApplicationName",
                  "Value": "WordPress"
              }
          ],
      "AutoScalingGroup": {
                  "AmiId":    "AMI-ID",
                  "UserData": "#!/bin/bash \n
                  REGION=$(curl 169.254.169.254/latest/meta-data/placement/availability-zone/ | sed 's/[a-z]$//') \n
                  yum -y install ruby httpd \n
                  chkconfig httpd on \n
                  service httpd start \n
                  touch /var/www/html/status \n
                  cd /tmp \n
                  curl -O https://aws-codedeploy-$REGION.s3.amazonaws.com/latest/install \n
                  chmod +x ./install \n
                  ./install auto \n
                  chkconfig codedeploy-agent on \n
                  service codedeploy-agent start"
          },
          "LoadBalancer": {
              "Public":               true,
              "HealthCheckTarget":    "HTTP:80/status"
          },
          "Database":     {
              "DBEngine":             "MySQL",
              "DBName":               "wordpress",
              "EngineVersion":        "8.0.16 ",
              "LicenseModel":         "general-public-license",
              "MasterUsername":       "admin",
              "MasterUserPassword":   "p4ssw0rd"
          },
          "Application":  {
          "ApplicationName":  "WordPress"
              }
      }
      ```

   1. Keluarkan template CreateRfc JSON ke file di folder Anda saat ini bernama CreateStackRfc .json:

      ```
      aws amscm create-rfc --generate-cli-skeleton > CreateStackRfc.json
      ```

   1. Ubah template RFC sebagai berikut dan simpan, Anda dapat menghapus dan mengganti isinya. Perhatikan bahwa `RequestedStartTime` dan `RequestedEndTime` sekarang opsional; mengecualikan mereka membuat ASAP RFC yang mengeksekusi segera setelah disetujui (yang biasanya terjadi secara otomatis). Untuk mengirimkan RFC terjadwal, tambahkan nilai-nilai tersebut.

      ```
      {
      "ChangeTypeVersion":    "3.0",
      "ChangeTypeId":         "ct-06mjngx5flwto",
      "Title":                "HA-Stack-For-WP-RFC"
      }
      ```

   1. Buat RFC, tentukan CreateStackRfc file.json dan file parameter eksekusi CreateStackParams .json:

      ```
      aws amscm create-rfc --cli-input-json file://CreateStackRfc.json --execution-parameters file://CreateStackParams.json
      ```

      Anda menerima ID RFC dalam tanggapan. Simpan ID untuk langkah selanjutnya.

   1. Kirim RFC:

      ```
      aws amscm submit-rfc --rfc-id  RFC_ID
      ```

      Jika RFC berhasil, Anda tidak menerima output.

   1. Untuk memeriksa status RFC, jalankan 

      ```
      aws amscm get-rfc --rfc-id RFC_ID
      ```

   Catat ID RFC.

1. Luncurkan ember S3

   Mengumpulkan data berikut sebelum Anda mulai akan membuat penyebaran berjalan lebih cepat.

   EMBER DATA S3 YANG DIBUTUHKAN:
   + `VPC-ID`: Nilai ini menentukan di mana Bucket S3 Anda akan berada. Gunakan ID VPC yang sama dengan yang Anda gunakan sebelumnya.
   + `BucketName`: Nilai ini menetapkan nama Bucket S3, Anda menggunakannya untuk mengunggah bundel aplikasi Anda. Itu harus unik di seluruh wilayah akun dan tidak dapat menyertakan huruf besar. Menyertakan ID akun Anda sebagai bagian dari BucketName bukan persyaratan tetapi membuatnya lebih mudah untuk mengidentifikasi bucket nanti. Untuk melihat nama bucket S3 yang ada di akun, buka Konsol Amazon S3 untuk akun Anda.

   1. Output parameter eksekusi skema JSON untuk penyimpanan S3 create CT ke file JSON bernama creates3 .json. StoreParams

      ```
      aws amscm get-change-type-version --change-type-id "ct-1a68ck03fn98r" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateS3StoreParams.json
      ```

   1. Ubah skema sebagai berikut, Anda dapat menghapus dan mengganti isinya. Ganti *VPC\$1ID* dengan tepat. Nilai-nilai dalam contoh telah diuji, tetapi mungkin tidak tepat untuk Anda.
**Tip**  
`BucketName`Harus unik di seluruh wilayah akun dan tidak dapat menyertakan huruf besar. Menyertakan ID akun Anda sebagai bagian dari BucketName bukan persyaratan tetapi membuatnya lebih mudah untuk mengidentifikasi bucket nanti. Untuk melihat nama bucket S3 yang ada di akun, buka Konsol Amazon S3 untuk akun Anda.

      ```
      {
      "Description":      "S3BucketForWordPressBundle",
      "VpcId":            "VPC_ID",
      "StackTemplateId":  "stm-s2b72beb000000000",
      "Name":             "S3BucketForWP",
      "TimeoutInMinutes":  60,
      "Parameters":   {
          "AccessControl":    "Private",
          "BucketName":       "ACCOUNT_ID-BUCKET_NAME"
          }
      }
      ```

   1. Keluarkan template JSON CreateRfc ke file, di folder Anda saat ini, bernama StoreRfc createS3 .json:

      ```
      aws amscm create-rfc --generate-cli-skeleton > CreateS3StoreRfc.json
      ```

   1. Ubah dan simpan file creates3 StoreRfc .json, Anda dapat menghapus dan mengganti isinya. Perhatikan bahwa `RequestedStartTime` dan `RequestedEndTime` sekarang opsional; mengecualikan mereka membuat ASAP RFC yang mengeksekusi segera setelah disetujui (yang biasanya terjadi secara otomatis). Untuk mengirimkan RFC terjadwal, tambahkan nilai-nilai tersebut.

      ```
      {
      "ChangeTypeVersion":    "1.0",
      "ChangeTypeId":         "ct-1a68ck03fn98r",
      "Title":                "S3-Stack-For-WP-RFC"
      }
      ```

   1. Buat RFC, tentukan file creates3 .json dan file parameter eksekusi creates3 StoreRfc .json: StoreParams

      ```
      aws amscm create-rfc --cli-input-json file://CreateS3StoreRfc.json  --execution-parameters file://CreateS3StoreParams.json
      ```

      Anda menerima RFC baru sebagai tanggapan. RfcId Simpan ID untuk langkah selanjutnya.

   1. Kirim RFC:

      ```
      aws amscm submit-rfc --rfc-id RFC_ID
      ```

      Jika RFC berhasil, Anda tidak menerima output.

   1. Untuk memeriksa status RFC, jalankan 

      ```
      aws amscm get-rfc --rfc-id RFC_ID
      ```

# Membuat, Mengunggah, dan Menyebarkan Aplikasi
<a name="ex-create-app"></a>

Pertama, buat bundel WordPress aplikasi, lalu gunakan CodeDeploy CTs untuk membuat dan menyebarkan aplikasi.

1. Unduh WordPress, ekstrak file dan buat file. /scripts direktori.

   Perintah Linux:

   ```
   wget https://github.com/WordPress/WordPress/archive/master.zip
   ```

   Windows: Tempel `https://github.com/WordPress/WordPress/archive/master.zip` ke jendela browser dan unduh file zip.

   Buat direktori sementara untuk merakit paket.

   Linux:

   ```
   mkdir /tmp/WordPress
   ```

   Windows: Buat direktori WordPress "", Anda akan menggunakan jalur direktori nanti.

1. Ekstrak WordPress sumber ke direktori WordPress "" dan buat file. /scripts direktori.

   Linux:

   ```
   unzip master.zip -d /tmp/WordPress_Temp
   cp -paf /tmp/WordPress_Temp/WordPress-master/* /tmp/WordPress
   rm -rf /tmp/WordPress_Temp
   rm -f master
   cd /tmp/WordPress
   mkdir scripts
   ```

   Windows: Buka direktori "WordPress" yang Anda buat dan buat direktori “skrip” di sana.

   Jika Anda berada di lingkungan Windows, pastikan untuk mengatur jenis istirahat untuk file skrip ke Unix (LF). Di Notepad \$1\$1, ini adalah opsi di kanan bawah jendela.

1. Buat file CodeDeploy **appspec.yl**, di WordPress direktori (jika menyalin contoh, periksa lekukan, setiap spasi dihitung). PENTING: Pastikan jalur “sumber” benar untuk menyalin WordPress file (dalam hal ini, di WordPress direktori Anda) ke tujuan yang diharapkan (/var/www/html/WordPress). Dalam contoh, file appspec.ymlada di direktori dengan WordPress file, jadi hanya “/” yang diperlukan. Juga, bahkan jika Anda menggunakan RHEL AMI untuk grup Auto Scaling Anda, biarkan baris “os: linux” apa adanya. Contoh file appspec.yml:

   ```
   version: 0.0
   os: linux
   files:
     - source: /
       destination: /var/www/html/WordPress
   hooks:
     BeforeInstall:
       - location: scripts/install_dependencies.sh
         timeout: 300
         runas: root
     AfterInstall:
       - location: scripts/config_wordpress.sh
         timeout: 300
         runas: root
     ApplicationStart:
       - location: scripts/start_server.sh
         timeout: 300
         runas: root
     ApplicationStop:
       - location: scripts/stop_server.sh
         timeout: 300
         runas: root
   ```

1. Buat skrip file bash di file. WordPress /scripts direktori.

   Pertama, buat `config_wordpress.sh` dengan konten berikut (jika Anda mau, Anda dapat mengedit file wp-config.php secara langsung).
**catatan**  
Ganti *DBName* dengan nilai yang diberikan dalam HA Stack RFC (misalnya,`wordpress`).  
Ganti *DB\$1MasterUsername* dengan `MasterUsername` nilai yang diberikan dalam HA Stack RFC (misalnya,`admin`).  
Ganti *DB\$1MasterUserPassword* dengan `MasterUserPassword` nilai yang diberikan dalam HA Stack RFC (misalnya,`p4ssw0rd`).  
Ganti *DB\$1ENDPOINT* dengan nama DNS endpoint dalam output eksekusi HA Stack RFC (misalnya,). `srt1cz23n45sfg.clgvd67uvydk.us-east-1.rds.amazonaws.com` Anda dapat menemukannya dengan [GetRfc](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_GetRfc.html)operasi (CLI: get-rfc --rfc-id RFC\$1ID) atau di halaman detail RFC Konsol AMS untuk HA Stack RFC yang sebelumnya Anda kirimkan.

   ```
   #!/bin/bash
   chmod -R 755 /var/www/html/WordPress
   cp /var/www/html/WordPress/wp-config-sample.php /var/www/html/WordPress/wp-config.php
   cd /var/www/html/WordPress
   sed -i "s/database_name_here/DBName/g" wp-config.php
   sed -i "s/username_here/DB_MasterUsername/g" wp-config.php
   sed -i "s/password_here/DB_MasterUserPassword/g" wp-config.php
   sed -i "s/localhost/DB_ENDPOINT/g" wp-config.php
   ```

1. Di direktori yang sama buat `install_dependencies.sh` dengan konten berikut:

   ```
   #!/bin/bash
   yum install -y php
   yum install -y php-mysql
   yum install -y mysql
   service httpd restart
   ```
**catatan**  
HTTPS diinstal sebagai bagian dari data pengguna saat peluncuran untuk memungkinkan pemeriksaan kesehatan berfungsi sejak awal.

1. Di direktori yang sama buat `start_server.sh` dengan konten berikut:
   + Untuk instance Amazon Linux, gunakan ini:

     ```
     #!/bin/bash
     service httpd start
     ```
   + Untuk instance RHEL, gunakan ini (perintah tambahan adalah kebijakan yang memungkinkan SELINUX menerima): WordPress

     ```
     #!/bin/bash
     setsebool -P  httpd_can_network_connect_db 1
     setsebool -P  httpd_can_network_connect 1
     chcon -t httpd_sys_rw_content_t /var/www/html/WordPress/wp-content -R
     restorecon -Rv /var/www/html
     service httpd start
     ```

1. Di direktori yang sama buat `stop_server.sh` dengan konten berikut:

   ```
   #!/bin/bash
   service httpd stop
   ```

1. Buat bundel zip.

   Linux:

   ```
   $ cd /tmp/WordPress
   $ zip -r wordpress.zip .
   ```

   Windows: Buka direktori "WordPress" Anda dan pilih semua file dan buat file zip, pastikan untuk menamainya wordpress.zip.

1. Unggah bundel aplikasi ke bucket S3.

   Bundel harus ada untuk terus menerapkan tumpukan. 

   Anda secara otomatis memiliki akses ke instans bucket S3 yang Anda buat. Anda dapat mengaksesnya melalui benteng Anda, atau melalui konsol S3, dan mengunggah WordPress bundel dengan drag-and-drop atau menjelajah ke dan memilih file zip.

   Anda juga dapat menggunakan perintah berikut di jendela shell; pastikan Anda memiliki jalur yang benar ke file zip:

   ```
   aws s3 cp wordpress.zip s3://BUCKET_NAME/
   ```

1. Menyebarkan bundel WordPress aplikasi.

   Mengumpulkan data berikut sebelum Anda mulai akan membuat penyebaran berjalan lebih cepat.

   DATA YANG DIBUTUHKAN:
   + `VPC-ID`: Nilai ini menentukan di mana Bucket S3 Anda akan berada. Gunakan ID VPC yang sama dengan yang Anda gunakan sebelumnya.
   + `CodeDeployApplicationName`dan`CodeDeployApplicationName`: `ApplicationName` Nilai yang Anda gunakan dalam HA 2-Tier Stack RFC mengatur CodeDeployApplicationName dan. CodeDeployDeploymentGroupName Contoh menggunakan "WordPress" tetapi Anda mungkin telah menggunakan nilai yang berbeda.
   + `S3Location`: Untuk`S3Bucket`, gunakan `BucketName` yang Anda buat sebelumnya. Itu `S3BundleType` dan `S3Key` berasal dari bundel yang Anda letakkan di toko S3 Anda.

   1. Output parameter eksekusi skema JSON untuk CodeDeploy aplikasi menyebarkan CT ke file JSON bernama Deploy Params.json. CDApp

      ```
      aws amscm get-change-type-version --change-type-id "ct-2edc3sd1sqmrb" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > DeployCDAppParams.json
      ```

   1. Ubah skema sebagai berikut dan simpan sebagai, Anda dapat menghapus dan mengganti isinya.

      ```
      {
      "Description":                       "DeployWPCDApp",
      "VpcId":                             "VPC_ID",
      "Name":                              "WordPressCDAppDeploy",
      "TimeoutInMinutes":                  60,
      "Parameters":   {
          "CodeDeployApplicationName":                "WordPress",
          "CodeDeployDeploymentGroupName":            "WordPress",
          "CodeDeployIgnoreApplicationStopFailures":   false,
          "CodeDeployRevision": {
            "RevisionType": "S3",
            "S3Location": {
              "S3Bucket":     "BUCKET_NAME",
              "S3BundleType": "zip",
              "S3Key":        "wordpress.zip" }
              }
          }
      }
      ```

   1. Keluarkan template JSON CreateRfc ke file, di folder Anda saat ini, bernama Deploy CDApp RFC.json:

      ```
      aws amscm create-rfc --generate-cli-skeleton > DeployCDAppRfc.json
      ```

   1. Ubah dan simpan file Deploy CDApp RFC.json, Anda dapat menghapus dan mengganti isinya. Perhatikan bahwa `RequestedStartTime` dan `RequestedEndTime` sekarang opsional; mengecualikan mereka membuat ASAP RFC yang mengeksekusi segera setelah disetujui (yang biasanya terjadi secara otomatis). Untuk mengirimkan RFC terjadwal, tambahkan nilai-nilai tersebut.

      ```
      {
      "ChangeTypeVersion":    "1.0",
      "ChangeTypeId":         "ct-2edc3sd1sqmrb",
      "Title":                "CD-Deploy-For-WP-RFC"
      }
      ```

   1. Buat RFC, tentukan file Deploy CDApp Rfc dan file parameter eksekusi Deploy CDApp Params:

      ```
      aws amscm create-rfc --cli-input-json file://DeployCDAppRfc.json  --execution-parameters file://DeployCDAppParams.json
      ```

      Anda menerima RFC baru sebagai tanggapan. RfcId Simpan ID untuk langkah selanjutnya.

   1. Kirim RFC:

      ```
      aws amscm submit-rfc --rfc-id RFC_ID
      ```

      Jika RFC berhasil, Anda tidak menerima output.

   1. Untuk memeriksa status RFC, jalankan

      ```
      aws amscm get-rfc --rfc-id RFC_ID
      ```

# Validasi Penerapan Aplikasi
<a name="ex-validate-app-deploy"></a>

Arahkan ke titik akhir (ELB CName) penyeimbang beban yang dibuat sebelumnya, dengan jalur yang diterapkan:/. WordPress WordPress Misalnya:

```
http://stack-ID-FOR-ELB.us-east-1.elb.amazonaws.com/WordPress
```

# Meruntuhkan Penerapan Aplikasi
<a name="ex-tear-down-app-deploy"></a>

Setelah Anda selesai dengan tutorial, Anda akan ingin meruntuhkan penyebaran sehingga Anda tidak dikenakan biaya untuk sumber daya.

Berikut ini adalah operasi penghapusan tumpukan generik. Anda akan ingin mengirimkannya dua kali, sekali untuk tumpukan HA 2-Tier dan sekali untuk tumpukan bucket S3. Sebagai tindak lanjut terakhir, kirimkan permintaan layanan agar semua snapshot untuk bucket S3 (termasuk ID tumpukan bucket S3 dalam permintaan layanan) dihapus. Mereka secara otomatis dihapus setelah 10 hari, tetapi menghapusnya lebih awal menghemat sedikit biaya.

Panduan ini memberikan contoh penggunaan konsol AMS untuk menghapus tumpukan S3; prosedur ini berlaku untuk menghapus tumpukan apa pun menggunakan konsol AMS.
**catatan**  
Jika menghapus ember S3, itu harus dikosongkan dari objek terlebih dahulu.

DATA YANG DIBUTUHKAN:
+ `StackId`: Tumpukan untuk digunakan. Anda dapat menemukannya dengan melihat halaman AMS Console **Stacks**, tersedia melalui tautan di navigasi kiri. Menggunakan AMS SKMS API/CLI, jalankan referensi Untuk AMS SKMS API, lihat **tab** Laporan di AWS Artifact Console. operasi (di CLI). `list-stack-summaries`
+ ID tipe perubahan untuk panduan ini adalah`ct-0q0bic0ywqk6c`, versinya adalah “1.0", untuk mengetahui versi terbaru, jalankan perintah ini:

  ```
  aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=ct-0q0bic0ywqk6c
  ```

*BUAT SEBARIS*:
+ Keluarkan perintah buat RFC dengan parameter eksekusi yang disediakan sebaris (tanda kutip saat memberikan parameter eksekusi sebaris). E

  ```
  aws amscm create-rfc --change-type-id "ct-0q0bic0ywqk6c" --change-type-version "1.0" --title "Delete My Stack" --execution-parameters "{\"StackId\":\"STACK_ID\"}"
  ```
+ Kirim RFC menggunakan ID RFC yang dikembalikan dalam operasi create RFC. Sampai diserahkan, RFC tetap di `Editing` negara bagian dan tidak ditindaklanjuti.

  ```
  aws amscm submit-rfc --rfc-id RFC_ID
  ```
+ Pantau status RFC dan lihat output eksekusi:

  ```
  aws amscm get-rfc --rfc-id RFC_ID
  ```

*TEMPLATE MEMBUAT*:

1. Keluarkan template RFC ke file di folder Anda saat ini; contoh menamainya DeleteStackRfc .json:

   ```
   aws amscm create-rfc --generate-cli-skeleton > DeleteStackRfc.json
   ```

1. Ubah dan simpan DeleteStackRfc file.json. Karena menghapus tumpukan hanya memiliki satu parameter eksekusi, parameter eksekusi dapat berada di DeleteStackRfc file.json itu sendiri (tidak perlu membuat file JSON terpisah dengan parameter eksekusi).

   Tanda kutip internal dalam ekstensi ExecutionParameters JSON harus diloloskan dengan garis miring terbalik (\$1). Contoh tanpa waktu mulai dan berakhir:

   ```
   {
   "ChangeTypeVersion":    "1.0",
   "ChangeTypeId":         "ct-0q0bic0ywqk6c",
   "Title":                "Delete-My-Stack-RFC"
   "ExecutionParameters":  "{
           \"StackId\":\"STACK_ID\"}"
   }
   ```

1. Buat RFC:

   ```
   aws amscm create-rfc --cli-input-json file://DeleteStackRfc.json 
   ```

   Anda menerima RFC baru sebagai tanggapan. RfcId Misalnya:

   ```
   {
   "RfcId": "daaa1867-ffc5-1473-192a-842f6b326102"
   }
   ```

   Simpan ID untuk langkah selanjutnya.

1. Kirim RFC:

   ```
   aws amscm submit-rfc --rfc-id RFC_ID
   ```

   Jika RFC berhasil, Anda tidak menerima konfirmasi di baris perintah.

1. Untuk memantau status permintaan dan untuk melihat Output Eksekusi:

   ```
   aws amscm get-rfc --rfc-id RFC_ID --query "Rfc.{Status:Status.Name,Exec:ExecutionOutput}" --output table
   ```