跳至内容

如何将对我的 Elastic Beanstalk 实例安全组中的 SSH 端口 22 的访问限制为特定的 CIDR 范围或安全组?

1 分钟阅读
0

我使用 Amazon Elastic Compute Cloud (Amazon EC2) 密钥对配置了 AWS Elastic Beanstalk 环境。实例安全组向互联网开放了 SSH 端口 22 (0.0.0.0/0)。我想将 Elastic Beanstalk 实例中的 SSH 访问限制为特定的 CIDR 范围或安全组。

解决方案

**注意:**Elastic Beanstalk 使用 AWS CloudFormation 管理资源。如果您在 CloudFormation 之外手动更改 Amazon EC2 实例,则可能会出现错误。

将 SSH 访问限制为特定的 CIDR 范围

完成以下步骤:

  1. 创建具有以下设置的配置文件:

    option_settings:
        aws:autoscaling:launchconfiguration:    
            SSHSourceRestriction: tcp, 22, 22, my-cidr-range

    **注意:**请将 my-cidr-range 替换为您的 CIDR 范围。

  2. 将文件添加到应用程序源包根目录下的 .ebextensions 文件夹中:

    .ebextensions/SSHSourceRestriction.config
  3. 将源包部署到环境中

限制对特定安全组的 SSH 访问权限

完成以下步骤:

  1. 创建具有以下设置的配置文件:

    option_settings:
        aws:autoscaling:launchconfiguration:    
            SSHSourceRestriction: tcp, 22, 22, sg-0f69e4fd26ac48ec3
        aws:ec2:vpc:
            VPCId: vpc-09b7141f091e43ad4
            Subnets: subnet-093a0b2f2415060bc
            ELBSubnets: subnet-093a0b2f2415060bc

    **注意:**上述 .ebextensions 配置文件适用于您使用已定义的虚拟私有云 (VPC) 配置创建的 Elastic Beanstalk 环境。

  2. 将文件添加到应用程序源包根目录下的 .ebextensions 文件夹中:

    .ebextensions/SSHSourceRestriction.config
  3. 将源包部署到环境中

相关信息

GitHub 网站上的 elastic-beanstalk-samples

AWS 官方已更新 1 年前