CloudFormation Ejemplos de ingesta: aplicación web de 3 niveles - Guía para desarrolladores de aplicaciones avanzadas de AMS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

CloudFormation Ejemplos de ingesta: aplicación web de 3 niveles

Ingiera una CloudFormation plantilla para una aplicación web estándar de 3 niveles.

Nube de AWS architecture diagram showing VPC with two availability zones, load balancer, and multi-AZ RDS setup.

Esto incluye un Application Load Balancer, un grupo objetivo de Application Load Balancer, un grupo Auto Scaling, una plantilla de lanzamiento de grupos de Auto Scaling, Amazon Relational Database Service (RDS para SQL Server) con una base de datos MySQL, un almacén de parámetros SSM y AWS Secrets Manager. AWS Dedique entre 30 y 60 minutos a repasar este ejemplo.

Requisitos previos

  • Cree un secreto que contenga un nombre de usuario y una contraseña con los valores correspondientes mediante el AWS Secrets Manager. Puedes consultar este ejemplo de plantilla JSON (archivo zip) que contiene el nombre ams-shared/myapp/dev/dbsecrets secreto y sustituirlo por tu nombre secreto. Para obtener información sobre el uso de AWS Secrets Manager con AMS, consulteUso de AWS Secrets Manager con los recursos de AMS.

  • Configure los parámetros necesarios en el almacén de parámetros (PS) del AWS SSM. En este ejemplo, las VPCId subredes públicas y privadas se almacenan en el SSM PS en rutas como/app/DemoApp/PublicSubnet1a,PublicSubnet1c, PrivateSubnet1a y. Subnet-Id PrivateSubnet1c VPCCidr Actualice las rutas y los nombres y valores de los parámetros según sus necesidades.

  • Cree un rol de EC2 instancia de Amazon de IAM con permisos de lectura para las rutas de AWS Secrets Manager y SSM Parameter Store (el rol de IAM creado y utilizado en estos ejemplos es). customer-ec2_secrets_manager_instance_profile Si crea políticas estándar de IAM, como el rol de perfil de instancia, el nombre del rol debe empezar por. customer- Para crear un nuevo rol de IAM (puede darle un nombre o cualquier otro nombre)customer-ec2_secrets_manager_instance_profile, utilice el tipo de cambio AMS Management | Applications | IAM instance profile | Create (ct-0ixp4ch2tiu04) CT y adjunte las políticas necesarias. Puede revisar las políticas estándar de IAM de AMS customer_secrets_manager_policy ycustomer_systemsmanager_parameterstore_policy, en la consola de IAM, utilizarlas tal cual o como referencia. AWS

Ingiera una CloudFormation plantilla para una aplicación web estándar de 3 niveles

  1. Cargue la plantilla CloudFormation JSON de ejemplo adjunta en forma de archivo zip, en tres tier-cfn-ingest archivos.zip, en un bucket de S3 y genere una URL de S3 firmada para utilizarla en el RFC de CFN Ingest. Para obtener más información, consulte presign. La plantilla CFN también se puede incluir copy/pasted en el RFC de CFN Ingest cuando se envía el RFC a través de la consola AMS.

  2. Cree un CloudFormation RFC de ingesta (implementación | Ingestión | Apila a partir de CloudFormation plantilla | Crear (ct-36cn2avfrrj9v)), ya sea mediante la consola AMS o la AMS CLI. El proceso de automatización CloudFormation de la ingesta valida la CloudFormation plantilla para garantizar que cuente con recursos válidos compatibles con AMS y cumpla con los estándares de seguridad.

    • Mediante la consola: para el tipo de cambio, seleccione Implementación -> Ingestión -> Apilar desde CloudFormation plantilla -> Crear y, a continuación, añada los siguientes parámetros como ejemplo (tenga en cuenta que el valor predeterminado de Multi es false): AZDatabase

      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"
    • Uso del AWS CLI - Para obtener más información sobre cómo crear RFCs con el AWS CLI, consulte Creación RFCs. Por ejemplo, ejecute el siguiente comando:

      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

    Busque la URL de Application Load Balancer en el resultado de la ejecución de la AWS CloudFormation RFC para acceder al sitio web. Para obtener información sobre cómo acceder a los recursos, consulta Acceder a las instancias.