繁体   English   中英

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

[英]Executing Powershell script on remote Windows EC2 instance in Terraform

我正在 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]

}

您可以通过使用aws_instance资源的user_data参数来做到这一点:

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

只需确保install_sft.ps1与您的 Terraform 代码位于同一目录中。

EC2 实例的用户数据脚本在首次启动时执行。 有关更多详细信息,请参阅此处的 AWS 文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM