使用 Boto 访问 RDS 安全组
Access RDS security Group using Boto
我正在尝试获取附加到 AWS 中 RDS 的安全组。它不返回 RDS 名称以外的任何内容。
需要一种方法让安全组附加到 RDS。
我当前的代码->
rds_sg = conn2.get_all_dbinstances()
for r in rds_sg:
sec = []
sec = r.security_groups
for s in sec:
print s
这没有打印任何东西。
以下对我有用(假设只有一个 RDS 实例,但您可以更改它):
def get_db_info():
rds_conn = boto.connect_rds2(profile_name=AWS_PROFILE)
if not rds_conn:
print(_red('Cannot connect to AWS.RDS'))
return
instances = rds_conn.describe_db_instances()
if not instances:
print(_red('No instances found'))
return
inst = instances['DescribeDBInstancesResponse']['DescribeDBInstancesResult']['DBInstances'][0]
dbinfo = {}
endpoint = inst['Endpoint']
dbinfo['VPCSecurityGroupId'] = inst['VpcSecurityGroups'][0]['VpcSecurityGroupId']
dbinfo['dbSecurityGroupName'] = inst['DBSecurityGroups'][0]['DBSecurityGroupName']
print('')
print(_blue('db Info ===========>\n'))
for item in dbinfo:
print(_green('%20s : %s' % (item, dbinfo[item])))
您可以使用 AWS Key/Secret 参数
而不是 profile_name
我正在尝试获取附加到 AWS 中 RDS 的安全组。它不返回 RDS 名称以外的任何内容。 需要一种方法让安全组附加到 RDS。
我当前的代码->
rds_sg = conn2.get_all_dbinstances()
for r in rds_sg:
sec = []
sec = r.security_groups
for s in sec:
print s
这没有打印任何东西。
以下对我有用(假设只有一个 RDS 实例,但您可以更改它):
def get_db_info():
rds_conn = boto.connect_rds2(profile_name=AWS_PROFILE)
if not rds_conn:
print(_red('Cannot connect to AWS.RDS'))
return
instances = rds_conn.describe_db_instances()
if not instances:
print(_red('No instances found'))
return
inst = instances['DescribeDBInstancesResponse']['DescribeDBInstancesResult']['DBInstances'][0]
dbinfo = {}
endpoint = inst['Endpoint']
dbinfo['VPCSecurityGroupId'] = inst['VpcSecurityGroups'][0]['VpcSecurityGroupId']
dbinfo['dbSecurityGroupName'] = inst['DBSecurityGroups'][0]['DBSecurityGroupName']
print('')
print(_blue('db Info ===========>\n'))
for item in dbinfo:
print(_green('%20s : %s' % (item, dbinfo[item])))
您可以使用 AWS Key/Secret 参数
而不是 profile_name