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.
Migre aplicaciones Java locales para AWS usar AWS App2Container
Creado por Dhananjay Karanjkar () AWS
Entorno: PoC o piloto | Origen: aplicaciones | Objetivo: aplicación contenerizada desplegada en Amazon ECS |
Tipo R: redefinir la plataforma | Carga de trabajo: código abierto | Tecnologías: migración; aplicaciones web y móviles |
AWSservicios: Amazon EC2 Container Registry; Amazon ECS |
Resumen
Aviso: ya no AWS CodeCommit está disponible para nuevos clientes. Los clientes actuales de AWS CodeCommit pueden seguir utilizando el servicio con normalidad. Más información
AWSApp2Container (A2C) es una herramienta de línea de comandos que ayuda a transformar las aplicaciones existentes que se ejecutan en máquinas virtuales en contenedores, sin necesidad de cambiar el código. A2C descubre las aplicaciones que se ejecutan en un servidor, identifica las dependencias y genera los artefactos relevantes para una implementación perfecta en Amazon Elastic Container Service (AmazonECS) y Amazon Elastic Kubernetes Service (Amazon). EKS
Este patrón proporciona los pasos para migrar de forma remota las aplicaciones Java locales implementadas en un servidor de aplicaciones a AWS Fargate o EKS Amazon mediante App2Container a través de la máquina de trabajo.
La máquina de trabajo se puede utilizar en los siguientes casos de uso:
La instalación de Docker no está permitida o no está disponible en los servidores de aplicaciones donde se ejecutan las aplicaciones Java.
Debe gestionar la migración de varias aplicaciones implementadas en distintos servidores físicos o virtuales.
Este patrón utiliza, y. AWS CodeCommit AWS CodePipeline AWS CodeBuild
Requisitos previos y limitaciones
Requisitos previos
Un servidor de aplicaciones con una aplicación Java que se ejecuta en un servidor Linux
Una máquina de trabajo con un sistema operativo Linux
Una máquina de trabajo con al menos 20 GB de espacio disponible en disco
Limitaciones
No todas las aplicaciones son compatibles. Para más información, consulte Aplicaciones compatibles para Linux.
Arquitectura
Pila de tecnología de origen
Aplicaciones Java que se ejecutan en un servidor Linux
Pila de tecnología de destino
AWS CodeBuild
AWS CodeCommit
AWS CodeDeploy
AWS CodePipeline
Amazon Elastic Container Registry
AWS Fargate
Arquitectura de destino
Herramientas
Herramientas
AWSApp2Container: AWS App2Container (A2C) es una herramienta de línea de comandos que le ayuda a seleccionar y cambiar las aplicaciones que se ejecutan en sus centros de datos locales o en máquinas virtuales, para que se ejecuten en contenedores gestionados por Amazon o Amazon. ECS EKS
AWS CodeBuild— AWS CodeBuild es un servicio de compilación en la nube totalmente gestionado. CodeBuild compila el código fuente, ejecuta pruebas unitarias y produce artefactos listos para su despliegue.
AWS CodeCommit— AWS CodeCommit es un servicio de control de versiones alojado por Amazon Web Services que puede utilizar para almacenar y gestionar de forma privada activos (como documentos, código fuente y archivos binarios) en la nube.
AWS CodePipeline— AWS CodePipeline es un servicio de entrega continua que puede utilizar para modelar, visualizar y automatizar los pasos necesarios para lanzar su software.
Amazon ECS: Amazon Elastic Container Service (AmazonECS) es un servicio de administración de contenedores rápido y altamente escalable que permite ejecutar, detener y administrar contenedores en un clúster.
Amazon ECR: Amazon Elastic Container Registry (AmazonECR) es un servicio AWS gestionado de registro de imágenes de contenedores seguro, escalable y fiable.
Amazon EKS: Amazon Elastic Kubernetes Service (EKSAmazon) es un servicio gestionado que puede utilizar para ejecutar AWS Kubernetes sin necesidad de instalar, operar ni mantener su propio plano de control o nodos de Kubernetes.
AWSFargate: AWS Fargate es una tecnología que puedes usar con Amazon ECS para ejecutar contenedores sin tener que administrar servidores o clústeres de instancias de Amazon Elastic Compute Cloud (Amazon). EC2 Con Fargate, ya no tendrá que aprovisionar, configurar ni escalar clústeres de máquinas virtuales para ejecutar los contenedores.
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree un secreto para acceder al servidor de aplicaciones. | Para acceder al servidor de aplicaciones de forma remota desde la máquina de trabajo, cree un secreto en AWS Secrets Manager. Para su secreto, puede usar la clave SSH privada o el certificado y la clave SSH privada. Para obtener más información, consulte Administrar los secretos de AWS App2Container. | DevOps, desarrollador |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Instalar el archivo tar. | Ejecute | DevOps, Desarrollador |
Instale el AWSCLI. | Para instalar la interfaz de línea de comandos de Amazon (AWSCLI), ejecute Descomprima Ejecute | DevOps, Desarrollador |
Instale App2Container. | Ejecute los comandos siguientes:
| DevOps, Desarrollador |
Configure los perfiles. | Para configurar el perfil AWS predeterminado, ejecute Para configurar el perfil AWS predeterminado nombrado, ejecute | DevOps, Desarrollador |
Instalar Docker. | Ejecute los siguientes comandos.
| |
Inicie App2Container. | Para inicializar App2Container, necesita la siguiente información:
Ejecute | DevOps, Desarrollador |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Configure la máquina de trabajo para conectarse remotamente y ejecutar los comandos de App2Container en el servidor de aplicaciones. | Para configurar la máquina de trabajo, se requiere la siguiente información:
Ejecute | DevOps, Desarrollador |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Descubra las aplicaciones Java en las instalaciones. | Para descubrir de forma remota todas las aplicaciones en ejecución en el servidor de aplicaciones, ejecute el siguiente comando.
Este comando genera una lista de las aplicaciones implementadas en | Desarrollador, DevOps |
Analice las aplicaciones descubiertas. | Para analizar de forma remota cada aplicación mediante el identificador de aplicación obtenido en la fase de inventario, ejecute el siguiente comando.
Esto genera un archivo | Desarrollador, DevOps |
Extraiga las aplicaciones analizadas. | Para generar un archivo de aplicaciones para la aplicación analizada, ejecute de forma remota el siguiente comando, que generará el paquete tar en la ubicación del espacio de trabajo.
Los artefactos extraídos se pueden generar en la máquina de trabajo local. | Desarrollador, DevOps |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Coloque en contenedores los artefactos extraídos. | Guarde en contenedores los artefactos extraídos en el paso anterior ejecutando el siguiente comando.
| Desarrollador, DevOps |
Finalice el objetivo. | Para finalizar el objetivo, abra | Desarrollador, DevOps |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Genere artefactos de AWS despliegue en la máquina de trabajo. | Para generar artefactos de implementación, ejecute el siguiente comando.
Esto genera la | DevOps |
Aprovisione los artefactos. | Para aprovisionar aún más los artefactos generados, implemente la AWS CloudFormation plantilla ejecutando el siguiente comando.
| DevOps |
Genere la canalización. | Modifique | DevOps |