laravel - AWS RDS 拒绝 Cron 作业数据库访问(Laravel 调度程序)
问题描述
我在 AWS 上的弹性豆茎上使用 Laravel 8 应用程序。
我正在使用以下指定链接的配置,但稍作修改以使 cron 在我的情况下工作(我认为答案已过时) 如何在 AWS Elastic Beanstalk 上设置和使用 Laravel 调度?
我的 cronjob.config 文件:
files:
"/etc/cron.d/schedule_run":
mode: "000644"
owner: root
group: root
content: |
* * * * * root . /opt/elasticbeanstalk/deployment/env && /usr/bin/php
/var/www/html/artisan schedule:run 1>> /dev/null 2>&1
commands:
remove_old_cron:
command: "rm -f /etc/cron.d/*.bak"
这运行良好,我可以测试它对应于我在 laravel 调度程序上选择的任何间隔。
但是,我遇到了另一个问题。似乎 RDS 拒绝连接到数据库。就上下文而言,这个完全相同的环境设置在任何时候都可以完美运行,除非它正在运行 cron 作业。我还使用 eb ssh 检查了 /opt/elasticbeanstalk/deployment/env 文件,它似乎匹配并且也是正确的。
我设置了一个日志来帮助缩小错误范围,我得到以下信息:
SQLSTATE[HY000] [1045] 用户 '[CORRECT DB USER NAME HERE]'@'[Some Random IP ADRESS]' 的访问被拒绝(使用密码:YES)(SQL:select * from
users
whereusers
where
我已尝试启用来自连接到 RDS 数据库的 VPC 中所有 IP 的所有入站和出站流量,但仍然无法正常工作。
我将不胜感激任何帮助!
解决方案
推荐阅读
- javascript - 使用 functionName() 和仅使用 functionName 分配变量值有什么区别?
- c++ - 输入流似乎无法正常工作
- google-apps-script - 是否可以在松弛频道中删除由谷歌脚本制作的机器人发出的消息?
- combobox - 如何为 ttk::matchbox 的 -matchcommand 编写代码
- php - Wordpress 迁移后主页未加载,所有其他页面加载
- amazon-web-services - EC2 实例是否默认包含 EBS 卷或实例存储?
- c++ - 返回局部变量的引用
- c# - Testrun 无法在 VS2019 中正确启动
- .net-core - FluentMigrator:如何为 MigrationRunner 设置默认架构
- max - 给定一个整数,你的任务是找到另一个整数,使得它们的按位异或最大