我已经在Terranet中使用公用程序在公共子网中创建了堡垒主机,并将其与eip关联,并使用预配器将其连接到私有子网中的实例,但是与堡垒相关联的ip一旦与eip关联,便会更改。
这就是我现在正要面对的https://github.com/terraform-providers/terraform-provider-aws/issues/31
resource "aws_instance" "web" {
ami = "ami-0b79fb3f0226ff299"
availability_zone = "${data.aws_availability_zones.available.names[0]}"
instance_type = "t2.micro"
key_name = "${aws_key_pair.muneesh.key_name}"
vpc_security_group_ids = ["${aws_security_group.web.id}"]
subnet_id = "${aws_subnet.public_subnet.0.id}"
associate_public_ip_address = true
source_dest_check = false
tags = {
Name = "Bastion_server"
}
##################connecting to bastion #################
connection {
host = "${aws_instance.web.public_ip}"
user= "ec2-user"
bastion_private_key = "${file("/home/muneesh/.keys/muneesh.pem")}"
provisioner "remote-exec" {
inline = ["echo 'CONNECTED to BASTION!'"]
}
}
}
########################## connection to MAGENTO SERVER ###################
resource "null_resource" "connect_private" {
connection {
bastion_host = "${aws_instance.web.public_ip}"
host = "${aws_instance.web1.private_ip}"
user = "ec2-user"
private_key = "${file("/home/muneesh/.keys/magento.pem")}"
}
provisioner "remote-exec" {
inline = [
"echo 'CONNECTED to MAGENTO SERVER1!'",
" sudo mkdir /magento",
" sudo yum update -y",
" sudo useradd magento",
" sudo yum install httpd24 -y",
" sudo yum install gcc -y",
" sudo yum install mysql -y",
" sudo wget http://download.redis.io/redis-stable.tar.gz",
" tar -xvzf redis-stable.tar.gz",
" cd redis-stable && make",
" sudo yum install telnet -y",
"sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 ${aws_efs_file_system.magento-efs.dns_name}:/ /magento"
]
}
}
############### CONNECTING MAGENTO SERVER 2 ############################
resource "null_resource" "connect_private1" {
connection {
bastion_host = "${aws_instance.web.public_ip}"
host = "${aws_instance.web2.private_ip}"
user = "ec2-user"
private_key = "${file("/home/muneesh/.keys/magento.pem")}"
}
provisioner "remote-exec" {
inline = [
"echo 'CONNECTED to MAGENTO SERVER2!'",
" sudo mkdir /magento",
" sudo yum update -y",
" sudo useradd magento",
" sudo yum install httpd24 -y",
" sudo yum install gcc -y",
" sudo yum install mysql -y",
" sudo wget http://download.redis.io/redis-stable.tar.gz && tar xvzf redis-stable.tar.gz && cd redis-stable && make",
" sudo yum install telnet -y",
"sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 ${aws_efs_file_system.magento-efs.dns_name}:/ /magento"
]
}
}
##### Elastic Ip for bastion####
resource "aws_eip" "web-1" {
instance = "${aws_instance.web.id}"
vpc = true
}
我使用以上代码创建了堡垒和Web服务器。连接应通过与堡垒关联的弹性IP进行。我在这里提到了几个链接
https://github.com/hashicorp/terraform/issues/3216
https://github.com/terraform-providers/terraform-provider-aws/issues/31
没有运气。
谢谢。