在使用Elastic Beanstalk的实例启动时运行Windows Powershell脚本

问题描述 投票:0回答:1

我有一个简单的Windows Powershell脚本,当它在Elastic Beanstalk环境中启动时,我想在EC2实例上运行。它仅设置一个自签名SSL证书并将其绑定到IIS中的默认网站。

我知道这可以通过使用UserData(如下所示)单独使用EC2实例来完成,但是我如何在EB环境中旋转任何实例来做到这一点?

<powershell>
Import-Module WebAdministration
Set-Location IIS:\SslBindings
New-WebBinding -Name "Default Web Site" -IP "*" -Port 443 -Protocol https
$c = New-SelfSignedCertificate -DnsName "domain.com" -CertStoreLocation cert:\LocalMachine\My
$c | New-Item 0.0.0.0!443
</powershell>
amazon-web-services powershell amazon-ec2 amazon-elastic-beanstalk
1个回答
0
投票

免责声明,在这里对Windows不感到抱歉-我的Powershell内容可能有些la脚。话虽如此:

  • 在源包中创建一个名为.ebextensions的文件夹
  • 使用任何名称创建文件,但文件扩展名应为.config(例如,我的s​​cript.config)并进行部署。
  • myscript.confi的内容应具有两个键,即文件和命令。请注意此处的Yaml格式可能已关闭,并且可能会导致部署失败
  files:  
        "c:/targetdirectory/my_script.ps1":
           content: |
       <powershell>
       Import-Module WebAdministration
       Set-Location IIS:\SslBindings
       New-WebBinding -Name "Default Web Site" -IP "*" -Port 443 -Protocol https
       $c = New-SelfSignedCertificate -DnsName "domain.com" -CertStoreLocation cert:\LocalMachine\My
       $c | New-Item 0.0.0.0!443
       </powershell> 
           encoding: (encoding format either plain or base64)
  commands:
        run_my_script: 
              command: ./my_script.ps1
              cwd: "c:/targetdirectory/"

因此,基本上,您只是在创建一个包含脚本的文件,然后运行它。 More info is here

© www.soinside.com 2019 - 2024. All rights reserved.