首页 > 解决方案 > 如何获取 RDS 端点以在 Userdata 中使用

问题描述

我正在尝试使用 cli 让 RDS 端点在用户数据中使用,但无法弄清楚。我需要让 RDS 端点注入 php 文件,但是当我尝试以下操作时,我得到:

Unable to locate credentials. You can configure credentials by running "aws configure".

我正在使用 CLI 构建 ec2 和 vpc,并且需要能够将 RDS 端点作为用户数据的一部分。

我在 EC2 实例本身上尝试了以下操作,但出现上述错误。

aws rds --region ca-central-1 describe-db-instances --query "DBInstances[*].Endpoint.Address"

即使我能够解决这个问题,我也需要能够让端点作为用户数据的一部分传递。这甚至可能吗?

标签: amazon-web-servicesboto3

解决方案


Unable to locate credentials错误表明AWS 命令​​行界面 (CLI)没有任何凭证来调用 AWS API。

您应该为 EC2 实例分配一个具有足够权限来调用describe-db-instancesRDS 的角色。请参阅:Amazon EC2 的 IAM 角色

然后,您的用户数据可以包括以下内容:

#!
RDS=`aws rds --region ca-central-1 describe-db-instances --query "DBInstances[*].Endpoint.Address"`
echo >file $RDS

或者将其作为参数传递:

php $RDS

推荐阅读