当AWS Glue连接到AWS RDS VPC中的AWS Glue爬虫的SQL Server连接失败时,可能是由于以下原因:
"SecurityGroups": [
{
"Type": "AWS::EC2::SecurityGroup",
"Properties": {
"GroupDescription": "Allow AWS Glue to access SQL Server",
"GroupName": "glue-sql-server-sg",
"VpcId": "your-vpc-id",
"SecurityGroupIngress": [
{
"IpProtocol": "tcp",
"FromPort": 1433,
"ToPort": 1433,
"SourceSecurityGroupId": "glue-service-sg"
}
]
}
}
]
VPC路由设置不正确:确保您的VPC正确设置了路由以允许AWS Glue服务访问RDS数据库。您可以通过确保VPC的路由表包含一个指向RDS数据库子网的路由来解决此问题。
数据库凭据配置不正确:确保您在AWS Glue数据源中正确配置了SQL Server数据库的凭据。您需要提供正确的数据库端点,用户名和密码。
以下是一个AWS Glue连接到AWS RDS VPC中的AWS Glue爬虫的SQL Server连接失败的代码示例:
import boto3
client = boto3.client('glue')
response = client.create_connection(
ConnectionInput={
'Name': 'sql-server-connection',
'Description': 'Connection to SQL Server database',
'ConnectionType': 'JDBC',
'MatchCriteria': [],
'ConnectionProperties': {
'JDBC_CONNECTION_URL': 'jdbc:sqlserver://your-rds-endpoint:1433;database=your-database',
'USERNAME': 'your-username',
'PASSWORD': 'your-password'
},
'PhysicalConnectionRequirements': {
'SubnetId': 'your-rds-subnet-id',
'SecurityGroupIdList': ['glue-sql-server-sg']
}
}
)
print(response)
请注意,上述代码示例中的参数值需要根据您的实际情况进行替换。