在Terraform中的远程Windows EC2示例上执行Powershell脚本

dy2hfwbg  于 2022-11-18  发布在  Windows
关注(0)|答案(1)|浏览(120)

我正在AWS中启动一个Windows EC2示例。现在我想安装OpenSSH等特定软件,并执行一些其他任务,如在创建服务器后创建用户。如果我有PowerShell脚本,如何在远程示例上执行?
我有一个本地PowerShell脚本- install_sft.ps1,我想在AWS中的远程EC2示例上执行。
我知道我需要使用一个“配置程序”,但无法让我的头周围如何使用它的Windows。

resource "aws_instance" "win-master" {
  provider                    = aws.lmedba-dc
  ami                         = data.aws_ssm_parameter.WindowsAmi.value
  instance_type               = var.instance-type
  key_name                    = "RPNVirginia"
  associate_public_ip_address = true
  vpc_security_group_ids      = [aws_security_group.windows-sg.id]
  subnet_id                   = aws_subnet.dc1.id
  tags = {
    Name = "Win server"
  }
  depends_on = [aws_main_route_table_association.set-master-default-rt-assoc]

}
sczxawaw

sczxawaw1#

您可以使用aws_instance资源的user_data参数来执行此操作:

resource "aws_instance" "win-master" {
  ...
  user_data_base64 = "${base64encode(file(install_sft.ps1))}"
  ...
}

只需确保install_sft.ps1与Terraform代码位于同一目录中。
EC2示例的用户数据脚本在首次启动时执行。See the AWS documentation here for more details.

相关问题