这可能是由于安全组设置不正确引起的。下面是如何确保您的安全组正确配置以允许EKS实例访问RDS实例的示例代码:
在EKS集群的安全组中添加RDS实例的IP地址和端口。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:DescribeInstances",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateSecurityGroup",
"ec2:DeleteSecurityGroup",
"ec2:AuthorizeSecurityGroupIngress"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "ec2:AuthorizeSecurityGroupIngress",
"Resource": "arn:aws:ec2:*:*:security-group/[security_group_id]"
}
]
}
确保RDS实例的安全组允许EKS实例连接到相应的端口,例如3306(MySQL)或5432(PostgreSQL)。
下面是如何在RDS实例的安全组中添加EKS实例的IP地址示例代码:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:AuthorizeSecurityGroupIngress"
],
"Resource": "arn:aws:ec2:*:*:security-group/[security_group_id]"
}
]
}
要确保RDS实例的端点是私有的,并且在同一VPC中。
通过这些步骤,您的EKS实例现在应该可以访问您的RDS实例!