2016-10-27 9 views
0

Я написал сценарий python, чтобы пользователи могли войти в поле, добавить свой ключ доступа/секретный ключ, а затем развернуть экземпляр в vpc. Она также делает несколько других вещей, как экземпляры предварительно мечения и т.д. и т.п.Terraform добавляет дополнительные машины в aws vs appending

Моя проблема заключается в следующем:

  1. журналы User-A в, вводит его информацию и скрипт развертывает экземпляра
  2. пользователя -B входит в систему, вводит его информацию .. вместо развертывания нового экземпляра его модифицирующий экземпляр User-A.

Я знаю, что это простая проблема, но я очень новичок в форме терра.

Вот текущий файл TF:

1 provider "aws" { 
    2 #access_key = "${var.access_key}" 
    3 #secret_key = "${var.secret_key}" 
    4 region  = "${var.region}" 
    5 } 
    6 
    7 
    8 resource "aws_instance" "User-A" { 
    9 ami = "${lookup(var.amis, var.region)}" 
10 instance_type = "t2.micro" 
11 subnet_id ="subnet-12688d4a" 
12 
13 
14 tags { 
15   Name = “user-A box” 
16   multicast = “group,172.16.0.10" 
17   owner = “USER-A” 
18  } 
19 
20 
21 provisioner "local-exec" { 
22  command = "echo ${aws_instance.labMain.public_ip} > pubip.txt" 
23  } 
24 } 
25 
26 resource "aws_eip" "ip" { 
27 instance = "${aws_instance.labMain.id}" 
28 } 
29 
30 
31 output "Your Instance's pubic ip is" { 
32 value = "${aws_eip.ip.public_ip}" 
33 } 

В основном

  1. Я не знаю, где есть User-B добавить файл ТФ.
  2. Я просто воспроизвожу код, то есть Линия 8-33, снова в строке 34, но для информации пользователя-B?

Благодаря

ответ

0

Я вижу, как это работает сейчас.

Чтобы создать несколько уникальных экземпляров, вам просто нужно объявить имена уникальных ресурсов. Например:

Уплотненный код выше, это 1 экземпляр называется «vlslabMain»

8 resource "aws_instance" "User-A" { stuff } 
26 resource "aws_eip" "ip" { stuff } 

Чтобы сделать дополнительные экземпляры вы просто должны определить новое имя ресурс

#instance1 
resource "aws_instance" "User-A" { stuff } 
resource "aws_eip" "ip-User-A" { stuff } 

#instance2 
resource "aws_instance" "User-B" { stuff } 
resource "aws_eip" "ip User-B" { stuff }