aws terraform_在AWS第2部分上使用Terraform自动扩展组:实例安全组和启动脚本

勾裕
2023-12-01

aws terraform

以前,我们按照最小的步骤来启动terraform中的自动伸缩组。

使用我们的基本配置,我们将为实例创建安全组。

 resource "aws_security_group" "instance_security_group" { 
   name = "autoscalling_security_group" 
   ingress { 
     from_port = 8080 
     to_port = 8080 
     protocol = "tcp" 
     cidr_blocks = [ "0.0.0.0/0" ] 
   } 
   egress { 
     from_port = 0 
     protocol = "-1" 
     to_port = 0 
     cidr_blocks = [ "0.0.0.0/0" ] 
   }  } 

我们的实例将启动侦听端口8080的服务器,因此安全端口应允许进入该端口的流量进入。 注意出口。 我们将从互联网访问资源,因此我们希望能够下载em。

然后,我们将在启动配置中设置安全组。

 resource "aws_launch_configuration" "launch-configuration" { 
   name = var.launch_configuration_name 
   image_id = var.image_id 
   instance_type = var.instance_type 
   security_groups = [ "${aws_security_group.instance_security_group.id}" ]  } 

现在是时候在这些实例上启动服务器了。 通过aws_launch_configuration,我们可以选择指定启动脚本(aws ec2上的用户数据)。 我将使用Apache Ignite服务器及其http接口。

 resource "aws_launch_configuration" "launch-configuration" { 
   name = var.launch_configuration_name 
   image_id = var.image_id 
   instance_type = var.instance_type 
   security_groups = [ "${aws_security_group.instance_security_group.id}" ] 
   user_data = <<-EOF 
               #!/bin/bash 
               yum install java unzip -y 
               curl https: //www-eu .apache.org /dist/ignite/2 .7.6 /apache-ignite-2 .7.6-bin.zip -o apache-ignite.zip 
               unzip apache-ignite.zip -d /opt/apache-ignite 
               cd /opt/apache-ignite/apache-ignite-2 .7.6-bin/ 
               cp -r libs /optional/ignite-rest-http/ libs /ignite-rest-http/ 
               . /bin/ignite .sh . /examples/config/example-cache .xml 
               EOF 

现在,我们已经准备好如前所示加速自动缩放。

 > terraform init  > terraform apply 

翻译自: https://www.javacodegeeks.com/2020/01/autoscaling-groups-with-terraform-on-aws-part-2-instance-security-group-and-boot-script.html

aws terraform

 类似资料: