Entrega de producto basado en AMI mediante AWS CloudFormation
Los vendedores de AWS Marketplace pueden publicar productos basados en AMI que se entregan a los compradores de AWS Marketplace mediante plantillas de AWS CloudFormation. Puede utilizar las plantillas para definir un clúster o una arquitectura distribuida para los productos, o para seleccionar diferentes combinaciones de AMI o configuraciones de productos. Las plantillas de CloudFormation se pueden configurar para ofrecer una única imagen de máquina de Amazon (AMI) junto con archivos de configuración asociados y funciones de Lambda. Los compradores pueden buscar en la selección de soluciones de AWS Marketplace, comprar con un solo clic y realizar la implementación mediante el uso de las plantillas de CloudFormation que les proporcione.
Las soluciones de AMI única pueden contener hasta tres plantillas de CloudFormation.
También puede incluir funciones Lambda en una aplicación sin servidor con su AMI para que los compradores puedan implementarlas mediante CloudFormation. Para obtener instrucciones sobre cómo incluir funciones de Lambda y aplicaciones sin servidor con su AMI, consulte Adición de componentes de aplicación sin servidoren esta guía.
Temas
Creación de la oferta de producto
Para enviar un producto, tiene que preparar y validar las AMI, crear las plantillas de AWS CloudFormation, crear un diagrama de arquitectura, rellenar el formulario de carga de producto y enviar los materiales a AWS Marketplace. Recomendamos que comience creando y validando las AMI y, a continuación, rellene y valide la o las plantillas de CloudFormation. Después de completar estos pasos, debe crear un diagrama de arquitectura y calcular el precio de infraestructura y software. AWS Marketplace valida su envío y trabaja con usted para publicar el producto. Utilice AWS Pricing Calculator
Preparación de la plantilla de CloudFormation
Para crear plantillas de CloudFormation, debe cumplir los requisitos previos de plantilla, y proporcionar la entrada y los parámetros de seguridad necesarios. Utilice las directrices de las siguientes secciones al enviar su plantilla de CloudFormation.
Requisitos previos de la plantilla
-
Verifique que la plantilla se lance correctamente a través de la consola de AWS CloudFormation en todas las Regiones de AWS que ha habilitado para el producto. Puede utilizar la herramienta TaskCat
para probar las plantillas. -
Si está creando un producto de una sola AMI, la plantilla debe contener solo una AMI.
-
Las AMI deben estar en una tabla de asignación para cada región. El equipo de AWS Marketplace actualiza los ID de AMI una vez clonados. La AMI de origen debe estar activa en
us-east-1
y las demás regiones pueden utilizar marcadores de posición. Consulte el siguiente ejemplo de YAML.Mappings: RegionMap: us-east-1: ImageId: ami-0123456789abcdef0 us-west-1: ImageId: ami-xxxxxxxxxxxxxxxxx eu-west-1: ImageId: ami-xxxxxxxxxxxxxxxxx ap-southeast-1: ImageId: ami-xxxxxxxxxxxxxxxxx
-
Las AMI incluidas en la plantilla de CloudFormation deben ser la AMI del producto que va a publicar o una AMI administrada por AWS, como la última versión de Amazon Linux 2. No incluya ninguna AMI de la comunidad ni ninguna AMI que sea propiedad o compartida por usted o cualquier otro tercero. Para usar una AMI administrada por AWS, utilice parámetros públicos en almacén de parámetros de AWS Systems Manager en lugar de codificar de forma rígida ID de AMI. Por ejemplo, en la plantilla de CloudFormation, en la que se especifica el ID de la AMI, se utiliza una referencia dinámica
ImageId: '{{resolve:ssm:/aws/service/ecs/optimized-ami/amazon-linux-2/recommended/image_id}}'
. -
Cree las plantillas de modo que no dependan de que se utilice en una zona de disponibilidad (AZ) concreta. No todos los clientes tienen acceso a todas las zonas de disponibilidad y estas se mapean de forma distinta para las distintas cuentas.
-
Puede incluir dependencias como funciones de Lambda, archivos de configuración y scripts con su AMI. Para obtener más información, consulte Paso 1: creación de una aplicación sin servidor.
-
Si está creando una solución en clúster con un grupo de escalado automático, le recomendamos que tenga en cuenta un evento de escalado. El nodo nuevo debería unirse automáticamente al clúster en ejecución.
-
Recomendamos que utilice un grupo de escalado automático incluso para los productos de un solo nodo.
-
Si su solución incluye un clúster de varias instancias, considere la posibilidad de utilizar grupos de ubicación para conseguir una baja latencia de red, un elevado desempeño de red o ambos entre las distintas instancias.
-
Si su solución implica contenedores de Docker, debe incorporar las imágenes de Docker en la AMI.
-
Para facilitar la revisión por parte del equipo de AWS Marketplace y la transparencia al cliente, le recomendamos que añada comentarios en la sección UserData.
Parámetros de entrada de la plantilla
-
Los parámetros de entrada de la plantilla no deben incluir las credenciales de AWS Marketplace del cliente de AWS (como, por ejemplo, contraseñas, claves públicas, claves privadas o certificados).
-
Para los parámetros de entradas confidenciales como las contraseñas, elija la propiedad
NoEcho
y habilite expresiones regulares más restrictivas. Para los demás parámetros de entrada, establezca las entradas más comunes junto con texto de ayuda adecuado. -
Utilice los tipos de parámetros de AWS CloudFormation para las entradas, si están disponibles.
-
Utilice
AWS::CloudFormation::Interface
para agrupar y clasificar los parámetros de entrada. -
No establezca ningún valor predeterminado para los siguientes parámetros de entrada:
nota
Los clientes deben proporcionarlos como parámetros de entrada.
-
Intervalos de CIDR predeterminados que permiten la entrada a los puertos de acceso remoto desde la Internet pública
-
Intervalos de CIDR predeterminados que permiten la entrada a los puertos de conexión de la base de datos desde la Internet pública
-
Contraseñas predeterminadas para usuarios o bases de datos
-
Parámetros de seguridad y de red
-
Asegúrese de que el puerto predeterminado SSH (22) o RDP (3389) no esté abiertos a 0.0.0.0.
-
En lugar de utilizar la nube virtual privada (VPC) predeterminada, recomendamos que cree una VPC con las listas de control de acceso (ACL) y los grupos de seguridad adecuados.
-
Habilite el acceso al entorno de AWS del cliente utilizando un rol (de IAM) de AWS Identity and Access Management para llamar a AssumeRole desde AWS Security Token Service.
-
Establezca las políticas y los roles de IAM para conceder los privilegios mínimos y habilite el acceso de escritura solo cuando sea absolutamente necesario. Por ejemplo, si la aplicación solo necesita las operaciones
S3:GET
,PUT
yDELETE
, especifique únicamente dichas acciones. No recomendamos el uso deS3:*
en este caso.
Cuando reciba la plantilla, AWS Marketplace valida configuración y la información del producto y proporciona comentarios en caso de que sea necesario realizar cambios.
Obtener el cálculo del costo de su infraestructura de plantillas
La estimación del coste de la infraestructura de cada plantilla que se muestra a los clientes se basa en la estimación que proporciona a través de AWS Pricing Calculator
Una vez que calcule el coste mensual estimado de la plantilla, proporcione a AWS Marketplace el enlace Guardar y compartir para la región Este de EE. UU. (Norte de Virginia). Esto forma parte del proceso de envío.
Diagrama de arquitectura
Debe proporcionar un diagrama de arquitectura para cada plantilla. Para obtener más información sobre la creación de diagramas, consulte ¿Qué es diagramación de la arquitectura?
El diagrama debe cumplir los siguientes criterios:
-
Ilustrar una implementación estándar en AWS.
-
Describir de forma lógica dónde se implementan los recursos. Por ejemplo, recursos de como las instancias de Amazon EC2 están en la subred correcta.
-
Utilizar los iconos de producto de AWS más actuales para cada Servicio de AWS implementado con la plantilla AWS CloudFormation. Para descargar el conjunto actual de iconos de arquitectura, consulte Iconos de arquitectura de AWS
. -
Incluir los metadatos de todos los servicios implementados mediante la plantilla de AWS CloudFormation.
-
Incluir todas las redes, VPC y subredes implementadas por la plantilla de AWS CloudFormation.
-
Mostrar los puntos de integración, incluidos los activos de terceros, las API y los recursos híbridos en las instalaciones.
-
Los diagramas deben tener un tamaño de 1100 x 700 píxeles. Deben mantenerse las proporciones originales del diagrama sin estirar ni recortar.
Cumplir los requisitos de envío
Para enviar productos que se proporcionan mediante plantillas de AWS CloudFormation, debe suministrar los siguientes recursos:
-
Plantilla o plantillas de CloudFormation
-
Un producto de una sola AMI puede tener de una a tres plantillas de CloudFormation.
-
-
El precio estimado de la infraestructura para la configuración predeterminada de cada plantilla
-
Un diagrama de arquitectura y metadatos de arquitectura
-
Formulario del producto rellenado (disponible desde AWS Marketplace Management Portal
) -
Para los productos de una sola AMI, utilice el formulario para productos comerciales
-
Los formularios de productos incluyen envíos de ejemplo a modo de referencia.
Para cada producto, la mayoría de los datos y metadatos necesarios son los mismos que para los productos tradicionales de una sola AMI. Por lo tanto, cada AMI que se proporcione mediante una plantilla de CloudFormation debe seguir cumpliendo los estándares y requisitos establecidos para AWS Marketplace.
Para cada plantilla de CloudFormation, también debe proporcionar la siguiente información.
Campo | Descripción | Restricciones |
---|---|---|
Título | Título de la arquitectura. Aparece en las páginas de detalles y de cumplimiento, y en el mensaje emergente que muestra los detalles de arquitectura. | 50 caracteres |
Descripción breve | Aparece en las páginas de detalles y de cumplimiento. | 200 caracteres |
Descripción larga | Aparece en la ventana emergente de detalles de arquitectura. | 2000 caracteres |
Para la entrega basada en AMI con productos CloudFormation, son obligatorios los siguientes campos:
-
Título de la solución
-
Descripción breve de la solución
-
Descripción larga de la solución
-
Plantillas de CloudFormation (hasta 20 para cada solución)
-
Título de la implementación (para cada plantilla)
-
Descripción breve (para cada plantilla)
-
Descripción larga (para cada plantilla)
-
Diagrama de la arquitectura (para cada plantilla)
-
Precio estimado de la infraestructura (para cada plantilla)
-
Lista de productos/componentes incluidos en esta plantilla de CloudFormation
-
Lista de regiones compatibles con esta plantilla de CloudFormation
-
Envío de la solicitud de producto
Utilice el AWS Marketplace Management Portal
-
Revisión de la plantilla de CloudFormation, AMI y los metadatos para la AMI y la plantilla de CloudFormation
-
Publicación de su plantilla de CloudFormation en productos de AWS Marketplace