APS AppConfig Java образец
V2-2024
Обзор
Этот проект является демонстрацией агента разработчика Amazon Q для преобразования кода. Это приложение MicroService на основе Java 1.8, которое отображает бесплатный список фильмов за месяц на основе конфигурации, хранящейся в службе AWS AppConfig с использованием AWS SDK. Это приложение было первым открытым в 2020 году и использует устаревшие версии таких библиотек, как Spring Boot 2.x, log4j 2.13.x, Mockito 1.x, Javax и Junit 4.
Агент разработчика Amazon Q для преобразования кода может обновить версию языка кода ваших файлов. Вы можете преобразовать модуль в Jetbrains и проект или целое рабочее пространство в коде Visual Studio. Amazon Q сначала строит ваш код в версии исходного языка и проверяет, что у него есть информация, необходимая для преобразования вашего кода. После того, как Amazon Q успешно преобразует ваш код, вы проверяете и принимаете изменения в вашей интегрированной среде разработки (IDE). Для получения дополнительной информации см., Как работает агент разработчика Amazon Q для преобразования кода. В настоящее время Amazon Q может обновить Java 8 и Java 11 Code до кода Java 17.
См. Руководство по началу работы и 3 способа, как агент разработчика Amazon Q для преобразования кода ускоряет ваши обновления Java.
Инструкции по установке
Местный
- Скомпилируйте приложение в Local IDE
- Откройте новый терминал и тип
java -jar .targetmovie-service-0.1.0.jar - Следите за шагом 1 в разделе AWS ниже, чтобы настроить конфигурацию AppConfig в вашем профиле учетной записи AWS по умолчанию
- Откройте браузер и перейдите по адресу http: // localhost: 8080/movies/getmovies
- Вы должны быть в состоянии увидеть список платных фильмов
AWS
Шаг 1: Создать приложение, среды и профиль конфигурации в AWS AppConfig
- Откройте консоль AWS Systems Manager.
- На левой навигационной панели выберите AWS AppConfig и нажмите «Начало работы»
- Если появляется страница приветствия APS AppConfig, нажмите «Создать приложение» на левой навигации.
- Для имени введите имя для приложения. ( MyContainerApplication ) Вы можете добавить дополнительное описание и применить теги к приложению. Выберите «Создать приложение».
- После создания приложения вы направляетесь на страницу со средами и профилями конфигурации выберите «Создать среду», а затем введите имя ( mycontainerApplicationproductionEnvironment ) и необязательное описание для среды. Вы также можете добавить теги и настроить аварийные сигналы Amazon CloudWatch для этой среды.
- В верхней навигации выберите имя приложения и на вкладке «Профили конфигурации и флаги функций» выберите «Создать профиль конфигурации» и «Свободная конфигурация».
- Введите имя ( MyContaInerApplicationConfigurationProfile ) и необязательное описание для профиля конфигурации.
- В разделе «Источник конфигурации» выберите AWS AppConfig Hosted Configururational.under Content, выберите JSON, вставьте следующий контент, а затем выберите следующее.
{
"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"
}
]
}
- (Необязательно) Вы можете добавить валидаторы для проверки конфигурации. Для получения информации проверьте о валидаторах в документации APS AppConfig.
- Выберите «Создать профиль конфигурации».
- Выберите начало развертывания.
- Выберите среду, размещенную версию конфигурации, стратегию развертывания и дополнительное описание, чтобы запустить процесс развертывания.
- Чтобы создать пользовательскую стратегию развертывания, выберите «Создать стратегию развертывания». Или выберите одну из предопределенных стратегий развертывания, предоставленной AWS AppConfig. Для получения дополнительной информации проверьте создание стратегии развертывания в документации AWS AppConfig. Для целей этого поста мы выбрали AppConfig.Linear50percevery30Seconds Стратегию развертывания.
Примечание. В зависимости от выбранной вами стратегии развертывания, эта операция может занять несколько минут. Конфигурация доступна для приложения, как только состояние развертывания завершено.
** v1 - 2020 **
Примечание. Используйте эту версию, только если вы хотите попробовать функции, связанные с AppConnfig.
Обзор
Это демонстрация приложения AWS AppConfig Java, как объяснено в развертывании конфигурации приложения в блоге для рабочих нагрузок контейнеров с использованием AWS AppConfig. Эта демонстрация показывает, как интегрировать приложение Java MicroServices с службой AWS AppConfig, а также реализация кэша в памяти для эффективного управления конфигурацией приложения.
APS AppConfig помогает клиентам AWS быстро развернуть конфигурации приложений в разных приложениях, размещенных на экземплярах EC2, контейнерах, AWS Lambda, мобильных приложениях, устройствах IoT и локальных серверах в подтвержденном, контролируемом и контролируемом способе.
Этот пример кода объясняет
- Как отделить конфигурацию приложения от кода приложения для контейнерного приложения.
- Используйте AWS AppConfig для управления и развертывания конфигурации приложения.
- Как автоматизировать и эффективно управлять конфигурациями приложений в контейнерном приложении.
Эта демонстрация использует шаблоны CloudFormation для развертывания кластера сервисов Amazon Elastic Contastic и задачи AWS Fargate. Пользователи будут клонировать этот репозиторий, создавать изображение Docker и подталкивать к реестру контейнеров Amazon Elastic и взаимодействовать с службой APS AppConfig.
Это приложение имеет встроенный уровень кэширования, чтобы кэшировать ответы от APS AppConfig Service. Последующие вызовы для извлечения значения конфигурации сначала проверяют кэш и возвращает ответ из кэша. Если кэш пуст, то он делает вызов API APS AppConfig API, чтобы получить значение. Срок действия кэша основан на TTL, установленном в свойствах.
Инструкции по установке
Местный
- Скомпилируйте приложение в Local IDE
- Откройте новый терминал и тип
java -jar .targetmovie-service-0.1.0.jar - Следите за шагом 1 в разделе AWS ниже, чтобы настроить конфигурацию AppConfig в вашем профиле учетной записи AWS по умолчанию
- Откройте браузер и перейдите по адресу http: // localhost: 8080/movies/getmovies
- Вы должны увидеть список из 5 платных фильмов
AWS
Шаг 1: Создать приложение, среды и профиль конфигурации в AWS AppConfig
- Откройте консоль AWS Systems Manager.
- На левой навигационной панели выберите AWS AppConfig.
- Если появится страница приветствия APS AppConfig, нажмите «Создать данные конфигурации». В противном случае нажмите «Создать приложение».
- Для имени введите имя для приложения. ( MyContainerApplication ) Вы можете добавить дополнительное описание и применить теги к приложению. Выберите «Создать приложение».
- После создания приложения вы направляетесь на страницу со средами и профилями конфигурации выберите «Создать среду», а затем введите имя ( mycontainerApplicationproductionEnvironment ) и необязательное описание для среды. Вы также можете добавить теги и настроить аварийные сигналы Amazon CloudWatch для этой среды.
- В верхней навигации выберите имя приложения, а на вкладке «Профили конфигурации» выберите «Создать профиль конфигурации».
- Введите имя ( MyContaInerApplicationConfigurationProfile ) и необязательное описание для профиля конфигурации.
- В разделе «Источник конфигурации» выберите AWS AppConfig Hosted Configururational.under Content, выберите JSON, вставьте следующий контент, а затем выберите следующее.
{
"boolEnableFeature": true,
"intItemLimit": 5
}
- (Необязательно) Вы можете добавить валидаторы для проверки конфигурации. Для получения информации проверьте о валидаторах в документации APS AppConfig.
- Выберите «Создать профиль конфигурации».
- Выберите начало развертывания.
- Выберите среду, размещенную версию конфигурации, стратегию развертывания и дополнительное описание, чтобы запустить процесс развертывания.
- Чтобы создать пользовательскую стратегию развертывания, выберите «Создать стратегию развертывания». Или выберите одну из предопределенных стратегий развертывания, предоставленной AWS AppConfig. Для получения дополнительной информации проверьте создание стратегии развертывания в документации AWS AppConfig. Для целей этого поста мы выбрали AppConfig.Linear50percevery30Seconds Стратегию развертывания.
Примечание. В зависимости от выбранной вами стратегии развертывания, эта операция может занять несколько минут. Конфигурация доступна для приложения, как только состояние развертывания завершено.
Шаг 2: Настройка базового приложения с помощью Amazon ECS и Amazon ECR и связанных сетевых компонентов с использованием AWS CloudFormation
- Откройте консоль CloudFormation и нажмите «Создать стек», выбрав опцию «с новыми ресурсами».
- На следующем экране в разделе «Укажите шаблон» выберите «Файл шаблона загрузки» и предоставьте файл, который вы загружаете в repo /templates/ecs-cluster.yml.
- Нажмите Далее, дайте стеке имя, например, «ECCluster-DEV», и выберите DEV в качестве значения для параметра среды. Нажмите следующий, опционально определите свои теги и нажмите снова. На последнем экране не забудьте отметить флажок в разделе «Возможности» и, наконец, нажмите кнопку «Создать стек».
Шаг 3: клонировать репозиторий кода, создать контейнер Docker и публиковать в Amazon ECR
- Git клонировать этот репозиторий
- Перейдите к консоли реестра Elastic Contastic Amazon, нажмите на созданный вами репозиторий и нажмите «Просмотреть команды push».
- Перейдите к репозиторию кода в командной строке и выполните команды push, чтобы загрузить проект.
- Когда загрузка завершена, скопируйте URL -адрес изображения в репозитории. Используйте этот URL в качестве входного параметра (ImageUrl) для шаблона облачной информации AWS, упомянутого в следующем разделе.
Шаг 4: Создайте задачу Fargate и разверните приложение контейнера в Amazon ECS на AWS Fargate с использованием AWS CloudFormation
- Откройте консоль CloudFormation и нажмите «Создать стек», выбрав опцию «с новыми ресурсами».
- На следующем экране в разделе «Укажите шаблон» выберите «Файл шаблона загрузки» и предоставьте файл, который вы загружаете в репо /templates/fargate-task.yml.
- Нажмите Далее, дайте имя в стеке, например, «Fargate-Task-Dev». Выберите «dev» в качестве значения для параметра среды.
- Предоставьте URL -адрес изображения, полученный на предыдущем шаге для параметра ImageURL, и оставьте остальные параметры по умолчанию.
- Нажмите «Далее» и, опционально определите свои теги. Нажмите дальше еще раз. На последнем экране не забудьте отметить флажок в разделе «Возможности» и, наконец, нажмите кнопку «Создать стек».
Шаг 5: Проверьте развернутое приложение, обновите данные конфигурации AppConfig и разверните обновленную конфигурацию
- Перейдите к консоли AWS CloudFormation и откройте созданный вами стек Fargate-Task-Dev
- Нажмите на выходы и скопируйте ExternalUrl для LoadBalancer
- Проверьте приложение, используя внешний URL для балансировщика нагрузки. http: // externalurl/movies/getmovies
- Затем мы изменим значение конфигурации в APS AppConfig и посмотрим, как оно будет отражено в приложении контейнера.
- Откройте консоли APS AppConfig, нажмите на вкладку «Приложение» и перейдите на вкладку «Профили конфигурации» и нажмите на созданный вами профиль конфигурации
- Нажмите «Создать версии на конфигурации», это откроет новый экран, где вы можете редактировать данные конфигурации.
- Отредактируйте значение конфигурации и нажмите кнопку «Создать размещенную версию конфигурации».
- Затем нажмите «Запуск развертывания» и выберите среду, последнюю версию конфигурации, стратегию развертывания и дополнительное описание, чтобы запустить процесс развертывания.
- Как только развертывание будет завершено, посетите URL -адрес приложения снова, чтобы немедленно увидеть изменения, отраженные.
- Обратите внимание, что это изменение не требует, чтобы приложение контейнера было перезапущено, поскольку приложение получило обновленное значение в последующем вызове APSCONFIG AWS.
Уборка
Удалите все ресурсы, созданные на протяжении всего этого процесса, и предотвратите дополнительные затраты.
AppConfig
- Размещенная конфигурация
- Профиль конфигурации
- Среда
- Приложение
Базовое применение контейнера и задача Fargate
- Перейдите к консоли CloudFormation AWS
- Выберите стек Fargate-Task-Dev и нажмите Delete
- Выберите стек ECSCluster-DEV и нажмите DELETE
Лицензия
Этот пример кода лицензирован по лицензии MIT-0. Смотрите файл лицензии.