3

Я пытаюсь изучить способ разработки приложения REST с помощью Spring Boot framework с использованием инфраструктуры AWS Elastic Beanstalk. Я использую IntelliJ IDE для разработки и тестирования приложения в своем локальном поле перед его развертыванием на сервере AWS Elastic BeanStalk. Я пытаюсь поговорить с экземпляром AWS RDS в своем приложении. С помощью следующих фрагментов кода мое приложение может разговаривать с экземпляром RDS при развертывании и запуске против моего локального поля, но дает мне http 404 при развертывании на сервере AWS, который, как я полагаю, вызван тем, что развертывание завершилось неудачно из-за невозможности подключения к экземпляру RDS от AWS.Настройка AWS RDS в приложении Spring Boot, работающем на AWS Elastic BeanStalk

Project POM file

Application Properties file

User Repository file

Ищу правильный путь, чтобы настроить эти секреты, так что они не присутствуют в мерзавца. В идеале возьмите его из переменных окружения AWS, определенных для экземпляра, но я не могу понять, как файлы свойств приложения Spring Boot могут получить доступ к переменным конфигурации среды AWS Elastic BeanStalk.

Я прочитал несколько документов и руководств, но не смог точно понять это. Как Spring Cloud SDK, Sample Spring Boot AWS App

[Edit 1] Чтобы предоставить больше информации, я был в состоянии SSH в поле и наблюдать за журналы. Предложенная достопримечательность:

Причина: com.amazonaws.AmazonServiceException: Пользователь: arn: aws: sts :: 486695215273: Предполагаемая роль/aws-elasticbeanstalk-ec2-role/i-dc86381f не имеет права выполнять : CloudFormation: DescribeStackResources (Service: AmazonCloudFormation; Код состояния: 403; Код ошибки: AccessDenied; Request ID: 1ee8c03b-ecd4-11e5-9fe1-378ce4cb26d3)

[Edit 2] После добавления AWSCloudFormationReadOnlyAccess политики безопасности в необходимом политика, Стек для i-dc86381f не существует (Сервис: AmazonCloudFormation; Код состояния: 400; Код ошибки: ValidationError; Идентификатор запроса: f579cc15-ecd4-11e5-a20b-114992e25084)

Мой файл шаблона, как указано в AWSCloudFormation является My Template File

ответ

0

Настройка Elastic Beanstalk «секреты», или переменные окружения, может быть сделано через кли или через графический интерфейс. Для использования консоли:

eb setenv ExampleVar=ExampleValue

который довольно прямо вперед. Документы здесь: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-setenv.html

Для этого с помощью графического интерфейса вы перейдете к своему приложению и требуемой среде, нажмите «Конфигурация» в меню слева. Нажмите на значок шестеренки на панели «Конфигурация программного обеспечения», и вы попадете на страницу конфигурации, где вы можете установить «Свойства среды», которые являются парами ключ/значение ... Вы можете установить имя свойства, а затем значение свойства, и когда вы нажмете «применить», они будут применены к вашей среде, а затем ваше приложение сможет получить к ним доступ, но обычно будет обращаться к переменным среды на производстве.