2017-12-12 8 views
-2

Terraform을 사용하여 여러 요새 서버 + Azure에 설정된 가용성을 설정할 수 있다면 궁금합니다. 주어진 가용성 세트 내에서 요새 노드를 열거하지만로드 밸런서를 사용하고 싶지는 않습니다. 어떤 예도 공유 할 수 있습니까?Azure + Terraform 및 Multiple Bastion Instances

감사합니다.

+1

스택 오버플로는 코드 작성 서비스가 아닐 수도 있습니다. 무엇을 시도 했습니까? – 4c74356b41

+0

귀하의 질문은 화제입니다. https://stackoverflow.com/help/on-topic을 참조하십시오. –

답변

0

내 질문에 대답 :

예는 공공 IP 주소를 여러 요새 노드를 가질 수 있습니다.

샘플 구성 :

파일 : nic.tf

resource "azurerm_network_interface" "bastion_nic" { name   
= "bastionnic${count.index + 1}" location     = "${azurerm_resource_group.rg.location}" resource_group_name  = "${azurerm_resource_group.rg.name}" network_security_group_id = "${azurerm_network_security_group.broker_nsg.id}" count    
= "${var.bastion_instance_count}" 

    ip_configuration { 
    name       = "bastionip${count.index + 1}" 
    subnet_id      = "${azurerm_subnet.broker_subnet.id}" 
    private_ip_address_allocation = "Dynamic" 
    public_ip_address_id   = "${element(azurerm_public_ip.bastion_pip.*.id, count.index + 1)}" } } 

파일 : 파일

resource "azurerm_public_ip" "bastion_pip" { 
    name       = "bastionpip${ count.index + 1}" 
    resource_group_name   = "${azurerm_resource_group.rg.name}" 
    location      = "${azurerm_resource_group.rg.location}" 
    public_ip_address_allocation = "Static" 
    domain_name_label   = "${var.kafka_cluster_prefix}-bastion${ count.index + 1}" 
    count       = "${var.bastion_instance_count}" 
} 

ip.tf : bastion.tf

resource "azurerm_virtual_machine" "bastion" { 
    name        = "bastion${count.index + 1}" 
    count       = "${var.bastion_instance_count}" 
    location       = "${azurerm_resource_group.rg.location}" 
    availability_set_id    = "${azurerm_availability_set.bastion.id}" 
    resource_group_name    = "${azurerm_resource_group.rg.name}" 
    network_interface_ids   = ["${element(azurerm_network_interface.bastion_nic.*.id, count.index + 1)}"] 
    vm_size       = "${var.bastion_vm_size}" 
    delete_os_disk_on_termination = true 
    delete_data_disks_on_termination = true 
} 

파일 : availability.tf

resource "azurerm_availability_set" "bastion" { 
    name    = "bastionavailabilityset" 
    managed    = "true" 
    resource_group_name = "${azurerm_resource_group.rg.name}" 
    location   = "${azurerm_resource_group.rg.location}" 
} 

당신은 예를 경우 가용성 세트에 공용 IP 주소를 여러 요새 노드를 배포 할 것입니다. 다음과 같은 정의해야

변수 "bastion_instance_count"

당신의 variables.tf

환호에. 도움이 필요하면 핑하십시오.