我有一个简单的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>
免责声明,在这里对Windows不感到抱歉-我的Powershell内容可能有些la脚。话虽如此:
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。