Laravel:能否在项目EC2实例的.env文件中调用数据库EC2实例?
解答:EC2实例间通过.env文件连接数据库
当然可以,你只需要在项目EC2的.env文件中配置数据库EC2的连接信息,并确保两台实例网络连通即可,具体操作如下:
获取数据库EC2的连接地址
同一VPC内优先用私有IP或私有DNS(无公网暴露,安全且延迟低);如果跨VPC或需公网访问,可使用弹性公网IP(生产环境不推荐)。在项目EC2的.env文件中配置数据库参数
以MySQL为例,配置示例如下:DB_HOST=172.31.XX.XX # 替换为数据库EC2的私有IP/私有DNS/弹性公网IP DB_PORT=3306 DB_USER=your_db_user DB_PASSWORD=your_db_password DB_NAME=your_target_db确保网络连通性
调整数据库EC2的安全组规则,允许项目EC2的私有IP(或项目EC2所属的安全组)访问对应数据库端口(如3306);若使用公网IP,需额外允许项目EC2的公网IP访问(不建议开放0.0.0.0/0)。安全优化建议
给.env文件设置严格权限,执行chmod 600 .env避免其他用户读取敏感信息;生产环境可考虑用AWS Secrets Manager管理数据库凭证,替代硬编码在.env中。
内容的提问来源于stack exchange,提问作者Angel
相关产品推荐
相关产品推荐

