如何通过 Terraform 部署 Open*** EC2 实例? [关闭]

Posted

技术标签:

【中文标题】如何通过 Terraform 部署 Open*** EC2 实例? [关闭]【英文标题】:How to deploy Open*** EC2 instance via Terraform? [closed] 【发布时间】:2020-11-10 06:19:13 【问题描述】:

我正在尝试使用 Terraform 设置 Open***,但没有找到任何方法。我想使用 terraform 来部署 Open*** ec2 服务器。如何让 Open*** AMI id 放置在 terraform 上?还是我必须部署传统的 ec2 ubuntu 服务器并手动安装 Open***?

【问题讨论】:

你可以在这里查看代码github.com/DNXLabs/terraform-aws-open*** 以获得一些帮助。这不是我的工作。 【参考方案1】:

您可以使用传统的 Ec2 实例并根据用户数据安装 Open***。

你可以看看这个Github repository

Headless install

也可以无头运行脚本,例如无需等待用户输入,以自动方式进行。

示例用法:

AUTO_INSTALL=y ./open***-install.sh

# or

export AUTO_INSTALL=y
./open***-install.sh

安装 Open*** 后,您可以再次运行该脚本,您将可以选择:

Add a client
Remove a client
Uninstall Open***

这是您可以尝试的 Terraform 代码

resource "aws_instance" "open***" 
  ami                         = "ami-0d2f82a622136a696" //us-west-2
  instance_type               = "t2.micro"
  vpc_security_group_ids      = ["$aws_security_group.***.id"]
  associate_public_ip_address = true
  subnet_id                   = "$aws_subnet.PubSubnet2a.id"
  iam_instance_profile        = "$aws_iam_instance_profile.aws-***-profile.name"
  user_data                   = "$data.template_file.***.rendered"
  tags = 
    Name = "$var.env_prefix_name-***"
  


data "template_file" "***" 
  template = "$file("bash_scripts/***userdata.sh")"

  vars = 
    region_name              = "$var.region"
  



***userdata.sh

#!/usr/bin/env bash
set -x
/usr/bin/yum update -y
curl -O https://raw.githubusercontent.com/angristan/open***-install/master/open***-install.sh
chmod +x open***-install.sh
export AUTO_INSTALL=y
./open***-install.sh

【讨论】:

嗨。只是快速的问题。 ami-0d2f82a622136a696 适用于哪个地区? 嗨,@Marcin,这是给 us-west-2 的,它应该基于一些变量以使其与其他地区一起工作。

以上是关于如何通过 Terraform 部署 Open*** EC2 实例? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Terraform 部署此 ARM 模板?请指教

使用 terraform 和 arm 模板通过工作流部署逻辑应用程序的最佳方法?

如何通过 terraform 在 ecs 任务定义中指定环境变量?

如何使用 Terraform 部署和重新部署应用程序?

使用 Terraform 部署 Azure 资源时如何解决插件错误?

如何获取使用 Terraform 部署的功能应用程序中的“功能网址”?