CloudFormation Ingest の例: 3 層ウェブアプリケーション - AMS Advanced Application デベロッパーガイド

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

CloudFormation Ingest の例: 3 層ウェブアプリケーション

標準の 3-Tierウェブアプリケーションの CloudFormation テンプレートを取り込みます。

AWS クラウド architecture diagram showing VPC with two availability zones, load balancer, and multi-AZ RDS setup.

これには、Application Load Balancer、Application Load Balancer ターゲットグループ、Auto Scaling グループ、Auto Scaling グループ起動テンプレート、MySQL データベースを備えた Amazon Relational Database Service (RDS for SQL Server)、 AWS SSM パラメータストア、 AWS Secrets Manager が含まれます。この例をウォークスルーするには 30~60 分かかります。

前提条件

  • Secrets Manager を使用して、対応する値を持つユーザー名とパスワードを含む AWS シークレットを作成します。シークレット名 を含むこのサンプル JSON テンプレート (zip ファイル) を参照しams-shared/myapp/dev/dbsecrets、それをシークレット名に置き換えることができます。AMS で AWS Secrets Manager を使用する方法については、「」を参照してくださいAMS リソースでの AWS Secrets Manager の使用

  • AWS SSM パラメータストア (PS) で必要なパラメータを設定します。この例では、プライベートサブネットVPCIdとパブリックサブネットSubnet-Idの と は、/app/DemoApp/PublicSubnet1a、、PublicSubnet1cPrivateSubnet1a PrivateSubnet1c などのパスの SSM PS に保存されますVPCCidr。必要に応じてパス、パラメータ名、値を更新します。

  • AWS Secrets Manager および SSM パラメータストアパスへの読み取り権限を持つ IAM Amazon EC2 インスタンスロールを作成します (これらの例で作成および使用される IAM ロールは ですcustomer-ec2_secrets_manager_instance_profile)。インスタンスプロファイルロールなどの IAM 標準ポリシーを作成する場合、ロール名は で始まる必要がありますcustomer-。新しい IAM ロールを作成するには、AMS 変更タイプ管理 | アプリケーション | IAM インスタンスプロファイル | (ct-0ixp4ch2tiu04) CT を作成し、必要なポリシーをアタッチします ( customer-ec2_secrets_manager_instance_profileなどの名前を付けることができます)。AMS IAM 標準ポリシー、customer_secrets_manager_policyおよび はcustomer_systemsmanager_parameterstore_policy、IAM AWS コンソールでそのまままたはリファレンスとして使用できます。

標準の 3-Tierウェブアプリケーションの CloudFormation テンプレートを取り込む

  1. 添付のサンプル CloudFormation JSON テンプレートを zip ファイル、3-tier-cfn-ingest.zip として S3 バケットにアップロードし、CFN Ingest RFC で使用する署名付き S3 URL を生成します。詳細については、「事前署名」を参照してください。CFN テンプレートは、AMS コンソールから RFC を送信するときに、CFN Ingest RFC にコピー/貼り付けることもできます。

  2. AMS コンソールまたは AMS CLI を使用して、CloudFormation テンプレートから CloudFormation Ingest RFC (デプロイ | 取り込み | スタック | 作成 (ct-36cn2avfrrj9v) を作成します。CloudFormation の取り込み自動化プロセスでは、CloudFormation テンプレートを検証して、テンプレートに有効な AMS 対応リソースがあり、セキュリティ標準に準拠していることを確認します。

    • コンソールの使用 - 変更タイプで、CloudFormation テンプレート -> 作成からデプロイ -> 取り込み -> スタックを選択し、次のパラメータを例として追加します (MultiAZDatabase のデフォルトは false であることに注意してください)。 CloudFormation

      CloudFormationTemplateS3Endpoint: "https://s3-ap-southeast-2.amazonaws.com/amzn-s3-demo-bucket/3-tier-cfn-ingest.json?AWSAccessKeyId=#{S3_ACCESS_KEY_ID}&Expires=#{EXPIRE_DATE}&Signature=#{SIGNATURE}" VpcId: "VPC_ID" TimeoutInMinutes: 120 IAMEC2InstanceProfile: "customer_ec2_secrets_manager_instance_profile" MultiAZDatabase: "true" WebServerCapacity: "2"
    • の使用 AWS CLI - を使用した RFCsRFCs」を参照してください。 AWS CLI例えば、以下のコマンドを使用します。

      aws --profile=saml amscm create-rfc --change-type-id ct-36cn2avfrrj9v --change-type-version "2.0" --title "TEST_CFN_INGEST" --execution-parameters "{\"CloudFormationTemplateS3Endpoint\":\"https://s3-ap-southeast-2.amazonaws.com/my-bucket/3-tier-cfn-ingest.json?AWSAccessKeyId=#{S3_ACCESS_KEY_ID}&Expires=#{EXPIRE_DATE}&Signature=#{SIGNATURE}\",\"TimeoutInMinutes\":120,\"Description\":\"TEST\",\”VpcId”\”:\”VPC_ID\”,\"Name\":\"MY_TEST\",\"Tags\":[{\"Key\":\"env\",\"Value\":\"test\"}],\"Parameters\":[{\"Name\":\"IAMEC2InstanceProfile\",\"Value\":\"customer_ec2_secrets_manager_instance_profile\"},{\"Name\":\"MultiAZDatabase\",\"Value\":\"true\"},{\"Name\":\"VpcId\",\"Value\":\"VPC_ID\"},{\"Name\":\"WebServerCapacity\",\"Value\":\"2\"}]}" --endpoint-url https://amscm.us-east-1.amazonaws.com/operational/ --no-verify-ssl

    AWS CloudFormation RFC 実行出力で Application Load Balancer URL を見つけて、ウェブサイトにアクセスします。リソースへのアクセスの詳細については、「インスタンスへのアクセス」を参照してください。