当使用AWS CloudFormation时,将安全组附加到Elastic Beanstalk实例可能会遇到一些问题。以下是解决此问题的一种可能方法:
Resources:
MySecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: My security group
VpcId: vpc-12345678
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 0.0.0.0/0
AWS::ElasticBeanstalk::Environment
资源中引用了正确的安全组。例如:Resources:
MyEnvironment:
Type: AWS::ElasticBeanstalk::Environment
Properties:
ApplicationName: MyApplication
SolutionStackName: "64bit Amazon Linux 2 v3.2.3 running Node.js 14"
...
OptionSettings:
- Namespace: aws:autoscaling:launchconfiguration
OptionName: SecurityGroups
Value: !Ref MySecurityGroup
如果安全组在不同的VPC中,请确保Elastic Beanstalk环境和安全组位于相同的VPC中。
确保CloudFormation模板在创建安全组之前创建了VPC。安全组必须与VPC相关联。
检查AWS账户的权限。确保CloudFormation模板中的AWS::EC2::SecurityGroup
资源可以被创建和附加到Elastic Beanstalk实例。