应用期间在使用Terraform创建ec2之后如何运行脚本?

杰克·伯里

在terraform中,有一个在AWS中创建EC2机器的示例。

# Create a new instance of the latest Ubuntu 20.04 on an
# t3.micro node with an AWS Tag naming it "HelloWorld"
provider "aws" {
  region = "us-west-2"
}

data "aws_ami" "ubuntu" {
  most_recent = true

  filter {
    name   = "name"
    values = ["ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*"]
  }

  filter {
    name   = "virtualization-type"
    values = ["hvm"]
  }

  owners = ["099720109477"] # Canonical
}

resource "aws_instance" "web" {
  ami           = data.aws_ami.ubuntu.id
  instance_type = "t3.micro"

  tags = {
    Name = "HelloWorld"
  }
}

但是我还可以在其中运行一些脚本吗?喜欢安装詹金斯?安装泊坞窗,还是只运行命令:sudo yum update -y在Terraform应用操作期间?

如果是这样,我将很适合作为此类示例或指导资源。

马辛

是的你可以。在AWS中,将UserData用于以下用途

可用于执行常见的自动化配置任务,甚至在实例启动后运行脚本。

在terraform中,对应的属性是user_data

要使用它来安装Jenkins,您可以尝试以下操作:

resource "aws_instance" "web" {
  ami           = data.aws_ami.ubuntu.id
  instance_type = "t3.micro"

  user_data = <<-EOL
  #!/bin/bash -xe

  apt update
  apt install openjdk-8-jdk --yes
  wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
  echo "deb https://pkg.jenkins.io/debian binary/" >> /etc/apt/sources.list
  apt update
  apt install -y jenkins
  systemctl status jenkins
  find /usr/lib/jvm/java-1.8* | head -n 3  
  EOL

  tags = {
    Name = "HelloWorld"
  }
}

请注意,以上代码是示例,我不能保证它可以在Ubuntu 20.04上运行。但它适用于18.04。Jenksis也可以在端口8080上工作,因此,如果要直接访问jenkins(例如,没有ssh隧道),则安全组将需要允许它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Amazon SQS,Boto和Python:在Amazon EC2上获取并运行脚本

来自分类Dev

如何使用Amazon EC2 Panel运行GPU实例?

来自分类Dev

如何使用Nginx在EC2上运行两个应用程序

来自分类Dev

如何在不保持ssh管道打开的情况下在Amazon EC2上运行脚本?

来自分类Dev

闲置期间,运行脚本

来自分类Dev

在foreach列表之后运行脚本

来自分类Dev

qmake之后如何运行脚本?

来自分类Dev

在多个EC2实例上运行脚本

来自分类Dev

如何使用Terraform重新创建自动缩放组的EC2实例?

来自分类Dev

为使用Ec2在apache2上运行的应用程序为ALB创建https侦听器

来自分类Dev

Terraform脚本在创建新EC2之前销毁了先前创建的EC2

来自分类Dev

运行脚本的EC2实例上位于S3中的EMR日志在哪里?

来自分类Dev

如何在从ALB目标组中删除的EC2实例上执行脚本?

来自分类Dev

创建群集期间,EC2上的运行脚本会自动启动

来自分类Dev

创建简单的Terraform脚本以启动AWS EC2实例时遇到问题

来自分类Dev

如何在ConnectedDebugAndroidTest运行之前和之后运行脚本

来自分类Dev

为使用Ec2在apache2上运行的应用程序为ALB创建https侦听器

来自分类Dev

在Gnome注销期间如何运行脚本

来自分类Dev

Amazon SQS,Boto和Python:在Amazon EC2上获取并运行脚本

来自分类Dev

如何使用Nginx在EC2上运行两个应用程序

来自分类Dev

在foreach列表之后运行脚本

来自分类Dev

在AWS Ec2 Ubuntu 1404 Server上启动时运行脚本

来自分类Dev

无法在启动ec2 ubuntu服务器上运行脚本

来自分类Dev

如何从本地计算机上的脚本在aws-ec2上运行脚本?

来自分类Dev

在fstab之后运行脚本

来自分类Dev

如何使用systemd连续运行脚本

来自分类Dev

如何使用 bindkey 运行脚本?

来自分类Dev

如何在休眠之后或之前运行脚本

来自分类Dev

如何永远运行python脚本EC2?

Related 相关文章

  1. 1

    Amazon SQS,Boto和Python:在Amazon EC2上获取并运行脚本

  2. 2

    如何使用Amazon EC2 Panel运行GPU实例?

  3. 3

    如何使用Nginx在EC2上运行两个应用程序

  4. 4

    如何在不保持ssh管道打开的情况下在Amazon EC2上运行脚本?

  5. 5

    闲置期间,运行脚本

  6. 6

    在foreach列表之后运行脚本

  7. 7

    qmake之后如何运行脚本?

  8. 8

    在多个EC2实例上运行脚本

  9. 9

    如何使用Terraform重新创建自动缩放组的EC2实例?

  10. 10

    为使用Ec2在apache2上运行的应用程序为ALB创建https侦听器

  11. 11

    Terraform脚本在创建新EC2之前销毁了先前创建的EC2

  12. 12

    运行脚本的EC2实例上位于S3中的EMR日志在哪里?

  13. 13

    如何在从ALB目标组中删除的EC2实例上执行脚本?

  14. 14

    创建群集期间,EC2上的运行脚本会自动启动

  15. 15

    创建简单的Terraform脚本以启动AWS EC2实例时遇到问题

  16. 16

    如何在ConnectedDebugAndroidTest运行之前和之后运行脚本

  17. 17

    为使用Ec2在apache2上运行的应用程序为ALB创建https侦听器

  18. 18

    在Gnome注销期间如何运行脚本

  19. 19

    Amazon SQS,Boto和Python:在Amazon EC2上获取并运行脚本

  20. 20

    如何使用Nginx在EC2上运行两个应用程序

  21. 21

    在foreach列表之后运行脚本

  22. 22

    在AWS Ec2 Ubuntu 1404 Server上启动时运行脚本

  23. 23

    无法在启动ec2 ubuntu服务器上运行脚本

  24. 24

    如何从本地计算机上的脚本在aws-ec2上运行脚本?

  25. 25

    在fstab之后运行脚本

  26. 26

    如何使用systemd连续运行脚本

  27. 27

    如何使用 bindkey 运行脚本?

  28. 28

    如何在休眠之后或之前运行脚本

  29. 29

    如何永远运行python脚本EC2?

热门标签

归档