Servicio App Runner basado en una imagen de origen - AWS App Runner

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.

Servicio App Runner basado en una imagen de origen

Puede utilizarlos AWS App Runner para crear y administrar servicios basados en dos tipos de fuentes de servicios fundamentalmente diferentes: el código fuente y la imagen fuente. Independientemente del tipo de fuente, App Runner se encarga de iniciar, ejecutar, escalar y equilibrar la carga del servicio. Puedes usar la función de CI/CD de App Runner para realizar un seguimiento de los cambios en la imagen o el código fuente. Cuando App Runner descubre un cambio, compila automáticamente (para el código fuente) e implementa la nueva versión en tu servicio de App Runner.

En este capítulo se analizan los servicios basados en una imagen de origen. Para obtener información sobre los servicios basados en el código fuente, consulteServicio App Runner basado en código fuente.

Una imagen de origen es una imagen contenedora pública o privada almacenada en un repositorio de imágenes. Apuntas App Runner a una imagen e inicia un servicio que ejecuta un contenedor basado en esta imagen. No es necesaria ninguna etapa de creación. Más bien, usted proporciona una ready-to-deploy imagen.

Proveedores de repositorios de imágenes

App Runner es compatible con los siguientes proveedores de repositorios de imágenes:

  • Amazon Elastic Container Registry (Amazon ECR): almacena imágenes que son privadas para un. Cuenta de AWS

  • Amazon Elastic Container Registry Public (Amazon ECR Public): almacena imágenes que se pueden leer públicamente.

Uso de una imagen almacenada en Amazon ECR en tu cuenta AWS

Amazon ECR almacena imágenes en repositorios. Hay repositorios públicos y privados. Para implementar la imagen en un servicio de App Runner desde un repositorio privado, App Runner necesita permiso para leer la imagen de Amazon ECR. Para conceder ese permiso a App Runner, debe proporcionarle a App Runner un rol de acceso. Se trata de un rol AWS Identity and Access Management (IAM) que cuenta con los permisos de acción de Amazon ECR necesarios. Cuando utilizas la consola de App Runner para crear el servicio, puedes elegir un rol existente en tu cuenta. Como alternativa, puedes usar la consola de IAM para crear un nuevo rol personalizado. O bien, puedes elegir que la consola de App Runner cree un rol para ti en función de las políticas administradas.

Cuando utilizas la API de App Runner o la AWS CLI, completas un proceso de dos pasos. En primer lugar, se utiliza la consola de IAM para crear un rol de acceso. Puedes usar una política administrada que te proporcione App Runner o introducir tus propios permisos personalizados. A continuación, proporciona la función de acceso durante la creación del servicio mediante la acción de la CreateServiceAPI.

Para obtener información sobre la creación del servicio App Runner, consulteCómo crear un servicio de App Runner.

Uso de una imagen almacenada en Amazon ECR en una cuenta diferente AWS

Al crear un servicio de App Runner, puede usar una imagen almacenada en un repositorio de Amazon ECR que pertenezca a una AWS cuenta distinta a la que se encuentra su servicio. Hay algunas consideraciones adicionales que se deben tener en cuenta a la hora de utilizar una imagen de varias cuentas, además de las enumeradas en la sección anterior sobre una imagen de la misma cuenta.

  • El repositorio multicuenta debe tener una política adjunta. La política del repositorio proporciona a tu rol de acceso permisos para leer las imágenes del repositorio. Usa la siguiente política para este propósito. access-role-arnSustitúyalo por el nombre de recurso de Amazon (ARN) de tu rol de acceso.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "access-role-arn" }, "Action": [ "ecr:BatchGetImage", "ecr:DescribeImages", "ecr:GetDownloadUrlForLayer" ] } ] }

    Para obtener información sobre cómo adjuntar una política de repositorio a un repositorio de Amazon ECR, consulte Configuración de una declaración de política de repositorio en la Guía del usuario de Amazon Elastic Container Registry.

  • App Runner no admite la implementación automática de imágenes de Amazon ECR en una cuenta diferente a la cuenta en la que se encuentra tu servicio.

Uso de una imagen almacenada en Amazon ECR Public

Amazon ECR Public almacena imágenes legibles públicamente. Estas son las principales diferencias entre Amazon ECR y Amazon ECR Public que debes tener en cuenta en el contexto de los servicios de App Runner:

  • Las imágenes públicas de Amazon ECR se pueden leer públicamente. No necesita proporcionar un rol de acceso al crear un servicio basado en una imagen pública de Amazon ECR. El repositorio no necesita ninguna política adjunta.

  • App Runner no admite la implementación automática (continua) de imágenes públicas de Amazon ECR.

Lance un servicio directamente desde Amazon ECR Public

Puede lanzar directamente imágenes de contenedores de aplicaciones web compatibles que estén alojadas en la Galería pública de Amazon ECR como servicios web que se ejecutan en App Runner. Cuando navegue por la galería, busque Iniciar con App Runner en la página de la galería para ver una imagen. Una imagen con esta opción es compatible con App Runner. Para obtener más información sobre la galería, consulte Uso de la galería pública de Amazon ECR en la guía del usuario de Amazon ECR Public.

Galería pública de Amazon ECR que muestra una página de imagen de un contenedor con el botón Iniciar con App Runner
Para lanzar una imagen de galería como un servicio de App Runner
  1. En la página de galería de una imagen, selecciona Iniciar con App Runner.

    Resultado: la consola de App Runner se abre en una nueva pestaña del navegador. La consola muestra el asistente de creación de servicios, con la mayoría de los nuevos detalles de servicio necesarios rellenados previamente.

  2. Si desea crear el servicio en una AWS región distinta de la que muestra la consola, seleccione la región que aparece en el encabezado de la consola. A continuación, seleccione otra región.

  3. En Puerto, introduzca el número de puerto en el que escucha la aplicación de imágenes. Por lo general, lo encontrarás en la página de la galería de la imagen.

  4. Si lo desea, cambie cualquier otro detalle de configuración.

  5. Seleccione Siguiente, revise la configuración y, a continuación, elija Crear e implementar.

Ejemplo de imagen

El equipo de App Runner mantiene la imagen de hello-app-runnerejemplo en una galería pública de Amazon ECR. Puedes usar este ejemplo para empezar a crear un servicio de App Runner basado en imágenes. Para obtener más información, consulte hello-app-runner.