Buat Infrastruktur - Panduan Pengembang Aplikasi AMS Advanced

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

Buat Infrastruktur

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 iniDBEngine,EngineVersion,, dan LicenseModel harus diatur sesuai dengan situasi Anda meskipun nilai yang ditunjukkan dalam contoh telah diuji.

    • Parameter iniRDSSubnetIds,DBName,MasterUsername,, dan MasterUserPassword diperlukan saat menerapkan bundel aplikasi. Untuk RDSSubnet Id, gunakan dua subnet Private.

  • LoadBalancer:

    • Parameter iniDBEngine,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
    2. 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" } }
    3. Keluarkan template CreateRfc JSON ke file di folder Anda saat ini bernama CreateStackRfc .json:

      aws amscm create-rfc --generate-cli-skeleton > CreateStackRfc.json
    4. 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" }
    5. 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.

    6. Kirim RFC:

      aws amscm submit-rfc --rfc-id RFC_ID

      Jika RFC berhasil, Anda tidak menerima output.

    7. Untuk memeriksa status RFC, jalankan

      aws amscm get-rfc --rfc-id RFC_ID

    Catat ID RFC.

  2. 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
    2. Ubah skema sebagai berikut, Anda dapat menghapus dan mengganti isinya. Ganti VPC_ID dengan tepat. Nilai-nilai dalam contoh telah diuji, tetapi mungkin tidak tepat untuk Anda.

      Tip

      BucketNameHarus 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" } }
    3. Keluarkan template JSON CreateRfc ke file, di folder Anda saat ini, bernama StoreRfc createS3 .json:

      aws amscm create-rfc --generate-cli-skeleton > CreateS3StoreRfc.json
    4. 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" }
    5. 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.

    6. Kirim RFC:

      aws amscm submit-rfc --rfc-id RFC_ID

      Jika RFC berhasil, Anda tidak menerima output.

    7. Untuk memeriksa status RFC, jalankan

      aws amscm get-rfc --rfc-id RFC_ID