Я работаю над проектом, который использует интерфейс администратора WordPress для управления данными и Laravel API, который обращается к базе данных WP (через Corcel) для возврата JSON / HTML / чего угодно.
Я хотел бы запустить их как отдельные приложения в одной среде Elastic Beanstalk, подключившись к общему экземпляру RDS, который находится за пределами EB.
Нет никаких проблем с запуском и запуском приложений WP и Laravel по отдельности - следуя руководствам AWS, я могу без проблем установить WP, установить Laravel и запустить миграции.
Я просто изо всех сил пытаюсь найти «правильный» способ подключить их к общему экземпляру RDS, который я уже создал. Кажется, я не могу заставить установку WordPress разговаривать с RDS, если я сначала настроил Laravel, и наоборот. Я исследовал и возился с группами безопасности, но просто не могу заставить их сосуществовать.
Не вдаваясь в мелкие детали, то, что я описал, работоспособно или это безумие на базовом уровне? Должен ли я просто отказаться от идеи запускать их как отдельные приложения и просто запускать их вместе? Если у кого-то есть предложение по поводу лучшего / лучшего подхода к тому, что я пытаюсь сделать, я был бы чрезвычайно благодарен.
Для тестирования. Создайте группу безопасности и добавьте в эту SG свои экземпляры EC2 и RDS. Добавьте правило для входящего трафика к этому SG: Тип протокола: Все Номер протокола: Все порты: Все IP-адрес источника: ID этой группы безопасности. Он позволяет связанным экземплярам взаимодействовать друг с другом.
Проверьте свои таблицы маршрутов. Скорее всего, отсутствует маршрут от подсетей Elastic Beanstalk к подсетям RDS. С точки зрения инфраструктуры такая установка кажется довольно стандартной. Для дальнейшей отладки я бы рекомендовал использовать ssh для экземпляра WP и проверить с помощью ping и клиента MySQL, является ли основная причина сетью (группы безопасности, таблицы маршрутизации, NACL) или чем-то еще, например, аутентификацией в RDS.