要从多个AWS账号中查看RDS实例,您可以使用AWS DMS(Database Migration Service)和AWS Organizations来实现。以下是一个示例代码,显示如何使用AWS SDK for Python(Boto3)来列出来自多个AWS账号的RDS实例:
import boto3
# 配置AWS SDK使用的AWS账号凭证
session = boto3.Session(profile_name='your_profile_name')
# 创建DMS客户端
dms_client = session.client('dms')
# 获取与AWS Organizations相关的账号列表
org_client = session.client('organizations')
response = org_client.list_accounts()
accounts = response['Accounts']
# 遍历每个账号,并列出RDS实例
for account in accounts:
# 切换到当前账号
session.switch_role(
RoleArn=account['Arn'],
RoleSessionName='session_name'
)
rds_client = session.client('rds')
response = rds_client.describe_db_instances()
instances = response['DBInstances']
# 打印RDS实例信息
for instance in instances:
print(f"RDS Instance: {instance['DBInstanceIdentifier']}, Account: {account['Id']}")
请确保您已正确配置AWS CLI和Boto3,并将your_profile_name
替换为您的AWS账号配置文件名称。此代码将遍历您的AWS账号,列出每个账号中的RDS实例,并打印实例标识符和所属账号的ID。
注意:在使用此代码之前,您需要在AWS Organizations中设置适当的身份验证和访问控制策略,以使您的AWS账号具有访问其他账号中RDS实例的权限。