Pulumi / Terraform / Cloudformation:启用对Elastic Beanstalk实例的SSH访问

问题描述

使用eb CLI,可以通过eb ssh启用SSH。这将重新创建所有实例,并且我假设它会更新安全组入口规则并向实例添加正确的密钥。 如何以编程方式实现这一目标(地形,pulumi,CF ...-我正在使用Pulumi,但任何方法都可以)?

解决方法

例如,在CloudFormation中,您可以在AWS::ElasticBeanstalk::ConfigurationTemplate中使用OptionSettings提供EC2KeyName

例如;

Resources:

  MyConfingTemplate:
    Type: AWS::ElasticBeanstalk::ConfigurationTemplate
    Properties: 
      ApplicationName: YourApplicationName
      OptionSettings: 
      
        - Namespace: aws:autoscaling:launchconfiguration
          OptionName: EC2KeyName
          Value: <key-pair-name>         

      SolutionStackName: 64bit Amazon Linux 2 v3.1.0 running Python 3.7

您不必修改安全组。他们将自动允许使用ssh。