使用Boto访问RDS安全组

时间:2015-04-02 10:33:26

标签: python amazon-web-services boto rds

我正在尝试获取附加到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

这不打印任何东西。

1 个答案:

答案 0 :(得分:1)

以下适用于我(假定单个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