Muestra de AWS AppConfig Java
V2-2024
Descripción general
Este proyecto es una demostración del agente de desarrolladores de Amazon Q para la transformación de código. Esta es una aplicación de microservicio basada en Java 1.8 que muestra una lista gratuita de películas para el mes basada en la configuración almacenada en el servicio AWS AppConfig utilizando AWS SDK. Esta aplicación se abre primero en 2020 y utiliza versiones heredadas de bibliotecas como Spring Boot 2.x, Log4J 2.13.x, Mockito 1.x, Javax y Junit 4.
El agente de desarrolladores de Amazon Q para la transformación de código puede actualizar la versión de idioma de código de sus archivos en su lugar. Puede transformar un módulo en JetBrains y un proyecto o un espacio de trabajo completo en el código Visual Studio. Amazon Q primero construye su código en la versión del idioma de origen y verifica que tiene la información necesaria para transformar su código. Después de que Amazon Q transforma con éxito su código, verifica y acepta los cambios en su entorno de desarrollo integrado (IDE). Para obtener más información, consulte cómo funciona el agente de desarrollador de Amazon Q para la transformación de código. Conducir, Amazon Q puede actualizar el código Java 8 y Java 11 al código Java 17.
Consulte la Guía de inicio y 3 formas en que Amazon Q Developer Agent for Code Transformation acelera sus actualizaciones de Java.
Instrucciones de instalación
Local
- Compilar la aplicación en IDE local
- Abra una nueva terminal y escriba
java -jar .targetmovie-service-0.1.0.jar - Siga el paso 1 en la sección AWS a continuación para configurar la configuración de AppConfig en su perfil de cuenta AWS predeterminado
- Abra un navegador y vaya a http: // localhost: 8080/películas/getmovies
- Deberías poder ver la lista de películas pagas
AWS
Paso 1: Crear aplicación, entornos y perfil de configuración en AWS AppConfig
- Abra la consola de AWS Systems Manager.
- En el panel de navegación izquierda, elija AWS AppConfig y haga clic en Comenzar
- Si aparece la página de bienvenida de AWS AppConfig, haga clic en Crear aplicación en la navegación izquierda.
- Para el nombre, ingrese un nombre para la aplicación. ( MyContainerApplication ) Puede agregar una descripción opcional y aplicar etiquetas a la aplicación. Elija Crear aplicación.
- Después de crear la aplicación, se le dirige a una página con entornos y perfiles de configuración Elija Crear entorno, y luego ingrese un nombre ( MyContainerApplicationProductionEnvironment ) y una descripción opcional para el entorno. También puede agregar opcionalmente etiquetas y configurar las alarmas de Amazon CloudWatch para este entorno.
- En la navegación superior, elija el nombre de la aplicación y en la pestaña Perfiles de configuración y banderas de características, elija Crear perfil de configuración y configuración de forma libre.
- Ingrese un nombre ( MyContainerApplicationConfigurationProfile ) y una descripción opcional para el perfil de configuración.
- En la fuente de configuración, elija AWS AppConfig Hosted Configuration.und Content, elija JSON, pegue el siguiente contenido y luego elija Siguiente.
{
"movies": [
{
"id": 1,
"movieName": "The Shawshank Redemption"
},
{
"id": 2,
"movieName": "City of God"
},
{
"id": 3,
"movieName": "Memento"
},
{
"id": 4,
"movieName": "The Intouchables"
},
{
"id": 5,
"movieName": "Stardust"
},
{
"id": 6,
"movieName": "Apocalypto"
},
{
"id": 7,
"movieName": "Taxi Driver"
},
{
"id": 8,
"movieName": "No Country for Old Men"
},
{
"id": 9,
"movieName": "Planet 51"
},
{
"id": 10,
"movieName": "The Beach"
}
]
}
- (Opcional) Puede agregar validadores para validar la configuración. Para obtener información, consulte sobre los validadores en la documentación de AWS AppConfig.
- Elija Crear perfil de configuración.
- Elija Iniciar implementación.
- Elija el entorno, la versión de configuración alojada, la estrategia de implementación y una descripción opcional para iniciar el proceso de implementación.
- Para crear una estrategia de implementación personalizada, elija Crear estrategia de implementación. O elija una de las estrategias de implementación predefinidas proporcionadas por AWS AppConfig. Para obtener más información, consulte la creación de una estrategia de implementación en la documentación de AWS AppConfig. Para los propósitos de esta publicación, elegimos la estrategia de implementación de AppConfig.Linear50 por cada 30 segundos.
Nota: Dependiendo de la estrategia de implementación que seleccionó, esta operación puede tardar unos minutos en completarse. La configuración está disponible para la aplicación tan pronto como se complete el estado de implementación.
** V1 - 2020 **
Nota: Use esta versión solo si desea probar funciones relacionadas con AppConnfig.
Descripción general
Esta es una demostración de la aplicación AWS AppConfig Java, como se explica en la implementación de la aplicación de la aplicación de blogs, en las cargas de trabajo de contenedores utilizando AWS AppConfig. Esta demostración muestra cómo integrar una aplicación de microservicios Java con el servicio AWS AppConfig junto con la implementación de un caché en memoria para administrar eficientemente la configuración de la aplicación.
AWS AppConfig ayuda a los clientes de AWS a implementar rápidamente las configuraciones de aplicaciones en las aplicaciones alojadas en instancias de EC2, contenedores, AWS Lambda, aplicaciones móviles, dispositivos IoT y servidores locales de una manera validada, controlada y monitoreada.
Este código de muestra explica
- Cómo separar la configuración de la aplicación del código de aplicación para una aplicación contenedor.
- Use AWS AppConfig para administrar e implementar la configuración de la aplicación.
- Cómo automatizar y administrar eficientemente las configuraciones de aplicaciones en una aplicación contenedor.
Esta demostración utiliza plantillas de CloudFormation para implementar un clúster de servicio de contenedores elástico de Amazon y una tarea de Fargate de AWS. Los usuarios clonarían este repositorio, construirían una imagen de Docker y empujarían al Registro de Contenedores Elásticos de Amazon e interactuarán con el servicio AWS AppConfig.
Esta aplicación tiene una capa de almacenamiento en caché integrada para almacenar en caché las respuestas del servicio AWS AppConfig. Las llamadas posteriores para obtener el valor de configuración verifican primero el caché y devuelve la respuesta del caché. Si el caché está vacío, entonces hace una llamada a AWS AppConfig API para obtener el valor. El vencimiento del caché se basa en TTL establecido en propiedades.
Instrucciones de instalación
Local
- Compilar la aplicación en IDE local
- Abra una nueva terminal y escriba
java -jar .targetmovie-service-0.1.0.jar - Siga el paso 1 en la sección AWS a continuación para configurar la configuración de AppConfig en su perfil de cuenta AWS predeterminado
- Abra un navegador y vaya a http: // localhost: 8080/películas/getmovies
- Deberías poder ver la lista de 5 películas pagas
AWS
Paso 1: Crear aplicación, entornos y perfil de configuración en AWS AppConfig
- Abra la consola de AWS Systems Manager.
- En el panel de navegación izquierda, elija AWS AppConfig.
- Si aparece la página de bienvenida de AWS AppConfig, haga clic en Crear datos de configuración. De lo contrario, haga clic en Crear aplicación.
- Para el nombre, ingrese un nombre para la aplicación. ( MyContainerApplication ) Puede agregar una descripción opcional y aplicar etiquetas a la aplicación. Elija Crear aplicación.
- Después de crear la aplicación, se le dirige a una página con entornos y perfiles de configuración Elija Crear entorno, y luego ingrese un nombre ( MyContainerApplicationProductionEnvironment ) y una descripción opcional para el entorno. También puede agregar opcionalmente etiquetas y configurar las alarmas de Amazon CloudWatch para este entorno.
- En la navegación superior, elija el nombre de la aplicación y en la pestaña Perfiles de configuración, elija Crear perfil de configuración.
- Ingrese un nombre ( MyContainerApplicationConfigurationProfile ) y una descripción opcional para el perfil de configuración.
- En la fuente de configuración, elija AWS AppConfig Hosted Configuration.und Content, elija JSON, pegue el siguiente contenido y luego elija Siguiente.
{
"boolEnableFeature": true,
"intItemLimit": 5
}
- (Opcional) Puede agregar validadores para validar la configuración. Para obtener información, consulte sobre los validadores en la documentación de AWS AppConfig.
- Elija Crear perfil de configuración.
- Elija Iniciar implementación.
- Elija el entorno, la versión de configuración alojada, la estrategia de implementación y una descripción opcional para iniciar el proceso de implementación.
- Para crear una estrategia de implementación personalizada, elija Crear estrategia de implementación. O elija una de las estrategias de implementación predefinidas proporcionadas por AWS AppConfig. Para obtener más información, consulte la creación de una estrategia de implementación en la documentación de AWS AppConfig. Para los propósitos de esta publicación, elegimos la estrategia de implementación de AppConfig.Linear50 por cada 30 segundos.
Nota: Dependiendo de la estrategia de implementación que seleccionó, esta operación puede tardar unos minutos en completarse. La configuración está disponible para la aplicación tan pronto como se complete el estado de implementación.
Paso 2: Configure la aplicación base con Amazon ECS y Amazon ECR y los componentes de la red asociados utilizando AWS CloudFormation
- Abra la consola de CloudFormation y haga clic en "Crear pila", seleccionando la opción "Con nuevos recursos".
- En la pantalla siguiente, en la sección "Especificar plantilla", elija "Archivo de plantilla de carga" y proporcione el archivo que descargó desde el repositorio /templates/ecs-cluster.yml.
- Haga clic en Siguiente, dale un nombre a la pila como "Ecscluster-Dev" y elige Dev como valor para el parámetro de entorno. Haga clic en Siguiente, opcionalmente defina tus etiquetas y haga clic en Siguiente nuevamente. En la última pantalla, no olvide marcar la casilla de verificación en la sección "Capacidades" y finalmente haga clic en el botón "Crear pila".
Paso 3: Clonar el repositorio de código, crear un contenedor Docker y publicar en Amazon ECR
- Git Clone Este repositorio
- Navegue a Amazon Elastic Container Registry Console, haga clic en el repositorio que creó y haga clic en Ver comandos Push.
- Navegue al repositorio de códigos en el símbolo del sistema y ejecute los comandos Push para cargar el proyecto.
- Cuando se complete la carga, copie la URL de la imagen en el repositorio. Use esta URL como un parámetro de entrada (ImageUrl) a la plantilla AWS CloudFormation mencionada en la siguiente sección.
Paso 4: Cree una tarea de Fargate e implie la aplicación de contenedor en Amazon ECS en AWS Fargate usando AWS CloudFormation
- Abra la consola de CloudFormation y haga clic en "Crear pila", seleccionando la opción "Con nuevos recursos".
- En la siguiente pantalla, en la sección "Especificar plantilla", elija "Archivo de plantilla de carga" y proporcione el archivo que descargó desde el repositorio /templates/fargate-task.yml.
- Haga clic en Siguiente, da un nombre a la pila como "Fargate-Task-Dev". Elija "Dev" como valor para el parámetro de entorno.
- Proporcione la URL de imagen obtenida en el paso anterior para el parámetro ImageUrl y deje el resto de los parámetros como predeterminado.
- Haga clic en Siguiente y opcionalmente defina sus etiquetas. Haga clic en Siguiente de nuevo. En la última pantalla, no olvide marcar la casilla de verificación en la sección "Capacidades" y finalmente haga clic en el botón "Crear pila".
Paso 5: Verifique la aplicación implementada, actualice los datos de configuración de AppConfig e implementa la configuración actualizada
- Navegue a la consola AWS CloudFormation y abra la pila Fargate-Task-Dev que creó
- Haga clic en las salidas y copie el Externalurl para el Bobalancer
- Verifique la aplicación utilizando la URL externa para el equilibrador de carga. http: // externalurl/películas/getmovies
- A continuación, cambiaremos el valor de configuración en el AWS AppConfig y veremos cómo se reflejará en la aplicación contenedor.
- Abra la consola AWS AppConfig, haga clic en su aplicación y vaya a la pestaña Perfiles de configuración y haga clic en el perfil de configuración que creó
- Haga clic en Crear versiones de configuración alojadas, esto abrirá una nueva pantalla donde puede editar los datos de configuración.
- Edite el valor de configuración y haga clic en Crear la versión de configuración alojada.
- A continuación, haga clic en Iniciar implementación y elija el entorno, la última versión de configuración alojada, la estrategia de implementación y una descripción opcional para iniciar el proceso de implementación.
- Una vez que se complete la implementación, visite la URL de la solicitud nuevamente para ver los cambios reflejados de inmediato.
- Tenga en cuenta que este cambio no requería que se reinicie la aplicación del contenedor ya que la aplicación recuperó el valor actualizado en la llamada posterior a AWS AppConfig.
Limpieza
Elimine todos los recursos creados en todo este proceso y evite costos adicionales.
AppConfig
- Configuración alojada
- Perfil de configuración
- Ambiente
- Solicitud
Aplicación de contenedor base y tarea de fargate
- Navegue a la consola de AWS CloudFormation
- Seleccione la pila Fargate-Task-Dev y haga clic en Eliminar
- Seleccione la pila Ecscluster-Dev y haga clic en Eliminar
Licencia
Este código de muestra tiene licencia bajo la licencia MIT-0. Ver el archivo de licencia.