Langkah 1: Buat tumpukan, lapisan, dan instance di AWS OpsWorks Stacks - AWS OpsWorks

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

Langkah 1: Buat tumpukan, lapisan, dan instance di AWS OpsWorks Stacks

penting

AWS OpsWorks Stacks Layanan ini mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Support Tim di AWS re:Post atau melalui AWS Dukungan Premium.

Untuk menggunakan AWS OpsWorks Stacks sebagai penyedia penyebaran untuk pipeline, Anda harus terlebih dahulu memiliki tumpukan, lapisan, dan setidaknya satu instance di lapisan. Meskipun Anda dapat membuat tumpukan di AWS OpsWorks Stacks dengan mengikuti petunjuk di Memulai dengan Tumpukan Linux atau Memulai dengan Tumpukan Windows, untuk menghemat waktu Anda, contoh ini menggunakan AWS CloudFormation templat untuk membuat tumpukan, lapisan, dan instance Chef 11.10 berbasis Linux. Instance yang dibuat oleh template ini menjalankan Amazon Linux 2016.03, dan memiliki tipe instance. c3.large

penting

AWS CloudFormation Template harus disimpan dan dijalankan di wilayah yang sama dengan bucket Amazon S3 tempat Anda kemudian mengunggah aplikasi dan wilayah yang sama tempat Anda nantinya membuat pipeline. CodePipeline Pada saat ini, CodePipeline mendukung penyedia AWS OpsWorks Stacks di Wilayah AS Timur (Virginia N.) (us-east-1) saja. Semua sumber daya dalam panduan ini harus dibuat di Wilayah AS Timur (Virginia N.).

Jika pembuatan tumpukan gagal, Anda mungkin mendekati jumlah maksimum peran IAM yang diizinkan untuk akun Anda. Pembuatan tumpukan juga bisa gagal jika akun Anda tidak dapat meluncurkan c3.large instance dengan tipe instans. Misalnya, jika Anda menggunakan Tingkat AWS Gratis, Anda mungkin menerima kesalahan sepertiRoot device type: must be included in EBS. Jika akun Anda memiliki batasan pada jenis instans yang diizinkan untuk dibuat, seperti batasan yang diberlakukan oleh Tingkat AWS Gratis, coba ubah nilai InstanceType parameter di blok instans templat menjadi jenis instans yang dapat digunakan akun Anda.

Untuk membuat tumpukan, lapisan, dan instance menggunakan AWS CloudFormation
  1. Salin AWS CloudFormation template berikut ke dalam dokumen teks biasa baru. Simpan file ke lokasi yang nyaman di komputer lokal Anda, dan beri nama NewOpsWorksStack.template, atau nama lain yang nyaman bagi Anda.

    { "AWSTemplateFormatVersion": "2010-09-09", "Mappings": { "Region2Principal": { "us-east-1": { "EC2Principal": "ec2.amazonaws.com", "OpsWorksPrincipal": "opsworks.amazonaws.com" }, "us-west-2": { "EC2Principal": "ec2.amazonaws.com", "OpsWorksPrincipal": "opsworks.amazonaws.com" }, "us-west-1": { "EC2Principal": "ec2.amazonaws.com", "OpsWorksPrincipal": "opsworks.amazonaws.com" }, "eu-west-1": { "EC2Principal": "ec2.amazonaws.com", "OpsWorksPrincipal": "opsworks.amazonaws.com" }, "ap-southeast-1": { "EC2Principal": "ec2.amazonaws.com", "OpsWorksPrincipal": "opsworks.amazonaws.com" }, "ap-northeast-1": { "EC2Principal": "ec2.amazonaws.com", "OpsWorksPrincipal": "opsworks.amazonaws.com" }, "ap-northeast-2": { "EC2Principal": "ec2.amazonaws.com", "OpsWorksPrincipal": "opsworks.amazonaws.com" }, "ap-southeast-2": { "EC2Principal": "ec2.amazonaws.com", "OpsWorksPrincipal": "opsworks.amazonaws.com" }, "sa-east-1": { "EC2Principal": "ec2.amazonaws.com", "OpsWorksPrincipal": "opsworks.amazonaws.com" }, "cn-north-1": { "EC2Principal": "ec2.amazonaws.com.cn", "OpsWorksPrincipal": "opsworks.amazonaws.com.cn" }, "eu-central-1": { "EC2Principal": "ec2.amazonaws.com", "OpsWorksPrincipal": "opsworks.amazonaws.com" } } }, "Parameters": { "EC2KeyPairName": { "Type": "String", "Description": "The name of an existing EC2 key pair that allows you to use SSH to connect to the OpsWorks instance." } }, "Resources": { "CPOpsDeploySecGroup": { "Type": "AWS::EC2::SecurityGroup", "Properties": { "GroupDescription" : "Lets you manage OpsWorks instances deployed to by CodePipeline" } }, "CPOpsDeploySecGroupIngressHTTP": { "Type": "AWS::EC2::SecurityGroupIngress", "Properties" : { "IpProtocol" : "tcp", "FromPort" : "80", "ToPort" : "80", "CidrIp" : "0.0.0.0/0", "GroupId": { "Fn::GetAtt": [ "CPOpsDeploySecGroup", "GroupId" ] } } }, "CPOpsDeploySecGroupIngressSSH": { "Type": "AWS::EC2::SecurityGroupIngress", "Properties" : { "IpProtocol" : "tcp", "FromPort" : "22", "ToPort" : "22", "CidrIp" : "0.0.0.0/0", "GroupId": { "Fn::GetAtt": [ "CPOpsDeploySecGroup", "GroupId" ] } } }, "MyStack": { "Type": "AWS::OpsWorks::Stack", "Properties": { "Name": { "Ref": "AWS::StackName" }, "ServiceRoleArn": { "Fn::GetAtt": [ "OpsWorksServiceRole", "Arn" ] }, "ConfigurationManager" : { "Name": "Chef","Version": "11.10" }, "DefaultOs": "Amazon Linux 2016.03", "DefaultInstanceProfileArn": { "Fn::GetAtt": [ "OpsWorksInstanceProfile", "Arn" ] } } }, "MyLayer": { "Type": "AWS::OpsWorks::Layer", "Properties": { "StackId": { "Ref": "MyStack" }, "Name": "MyLayer", "Type": "php-app", "Shortname": "mylayer", "EnableAutoHealing": "true", "AutoAssignElasticIps": "false", "AutoAssignPublicIps": "true", "CustomSecurityGroupIds": [ { "Fn::GetAtt": [ "CPOpsDeploySecGroup", "GroupId" ] } ] }, "DependsOn": [ "MyStack", "CPOpsDeploySecGroup" ] }, "OpsWorksServiceRole": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ { "Fn::FindInMap": [ "Region2Principal", { "Ref": "AWS::Region" }, "OpsWorksPrincipal" ] } ] }, "Action": [ "sts:AssumeRole" ] } ] }, "Path": "/", "Policies": [ { "PolicyName": "opsworks-service", "PolicyDocument": { "Statement": [ { "Effect": "Allow", "Action": [ "ec2:*", "iam:PassRole", "cloudwatch:GetMetricStatistics", "elasticloadbalancing:*" ], "Resource": "*" } ] } } ] } }, "OpsWorksInstanceProfile": { "Type": "AWS::IAM::InstanceProfile", "Properties": { "Path": "/", "Roles": [ { "Ref": "OpsWorksInstanceRole" } ] } }, "OpsWorksInstanceRole": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ { "Fn::FindInMap": [ "Region2Principal", { "Ref": "AWS::Region" }, "EC2Principal" ] } ] }, "Action": [ "sts:AssumeRole" ] } ] }, "Path": "/", "Policies": [ { "PolicyName": "s3-get", "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "*" } ] } } ] } }, "myinstance": { "Type": "AWS::OpsWorks::Instance", "Properties": { "LayerIds": [ { "Ref": "MyLayer" } ], "StackId": { "Ref": "MyStack" }, "InstanceType": "c3.large", "SshKeyName": { "Ref": "EC2KeyPairName" } } } }, "Outputs": { "StackId": { "Description": "Stack ID for the newly created AWS OpsWorks stack", "Value": { "Ref": "MyStack" } } } }
  2. Masuk ke AWS Management Console dan buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation.

  3. Di AWS CloudFormation halaman beranda, pilih Buat tumpukan.

  4. Pada halaman Pilih Templat, di area Pilih templat, pilih Unggah templat ke Amazon S3, lalu pilih Jelajahi.

  5. Jelajahi AWS CloudFormation template yang Anda simpan di langkah 1, lalu pilih Buka. Pada halaman Pilih Templat, pilih Selanjutnya.

    Pilih halaman Template wizard AWS CloudFormation Create Stack.
  6. Pada halaman Tentukan Detail, beri nama tumpukan MyStack, atau nama tumpukan apa pun yang unik untuk akun Anda. Jika Anda memilih nama yang berbeda untuk tumpukan Anda, ubah nama tumpukan di seluruh panduan ini.

  7. Di area Parameter, berikan nama key pair EC2 yang ingin Anda gunakan untuk mengakses instance AWS OpsWorks Stacks Anda setelah dibuat. Pilih Selanjutnya.

  8. Pada halaman Opsi, pilih Selanjutnya. (Pengaturan di halaman ini tidak diperlukan untuk panduan ini.)

  9. AWS CloudFormation Template yang Anda gunakan dalam panduan ini menciptakan peran IAM, profil instance, dan instance.

    penting

    Sebelum Anda memilih Buat, pilih Biaya untuk memperkirakan biaya yang mungkin dikenakan AWS untuk membuat sumber daya dengan templat ini.

    Jika membuat sumber daya IAM dapat diterima, pilih kotak centang Saya mengakui bahwa templat ini dapat CloudFormation menyebabkan AWS membuat sumber daya IAM, lalu pilih Buat. Jika membuat sumber daya IAM tidak dapat diterima, Anda tidak dapat melanjutkan prosedur ini.

  10. Di AWS CloudFormation dasbor, Anda dapat melihat kemajuan pembuatan tumpukan. Sebelum Anda melanjutkan ke langkah berikutnya, tunggu hingga CREATE_COMPLETE ditampilkan di kolom Status.

    CloudFormation Dasbor AWS menunjukkan pembuatan tumpukan.
Untuk memverifikasi pembuatan tumpukan di AWS OpsWorks Stacks
  1. Buka AWS OpsWorks konsol di https://console.aws.amazon.com/opsworks/.

  2. Di dasbor AWS OpsWorks Stacks, lihat tumpukan yang Anda buat.

    OpsWorks Dasbor AWS menunjukkan pembuatan tumpukan.
  3. Buka tumpukan, dan lihat layer dan instance. Perhatikan bahwa layer dan instance dibuat dengan nama dan metadata lain yang disediakan dalam template. AWS CloudFormation Anda siap mengunggah aplikasi ke bucket Amazon S3.