私は、Terraformを使用してOVHのPublic CloudにいくつかのOpenstackインスタンスを展開しようとしています。ポイントは(今のところ)2つのネットワーク上に2つのインスタンスを持つことです。それぞれのインスタンスは外部IPアドレス(これは問題ではない)とプライベートネットワーク上の内部IPアドレス(私のトラブルを引き起こす)を持っている必要があります。OVHのOpenstackでTerraformを使用したプライベートネットワークの作成
マイテラフォームファイルには、次のとおりです。
resource "openstack_compute_keypair_v2" "keypair" {
provider = "openstack.ovh"
name = "jpin"
public_key = "${file("~/.ssh/id_rsa.pub")}"
region = "GRA3"
}
resource "openstack_networking_network_v2" "network_1" {
provider = "openstack.ovh"
name = "network_1"
admin_state_up = "true"
region = "GRA3"
}
resource "openstack_networking_subnet_v2" "subnet_1" {
provider = "openstack.ovh"
name = "subnet_1"
network_id = "${openstack_networking_network_v2.network_1.id}"
cidr = "192.168.199.0/24"
ip_version = 4
region = "GRA3"
enable_dhcp = true
}
resource "openstack_networking_port_v2" "port_1" {
provider = "openstack.ovh"
name = "port_1"
network_id = "${openstack_networking_network_v2.network_1.id}"
admin_state_up = "true"
region = "GRA3"
fixed_ip {
"subnet_id" = "${openstack_networking_subnet_v2.subnet_1.id}"
}
}
resource "openstack_networking_port_v2" "port_2" {
provider = "openstack.ovh"
name = "port_2"
network_id = "${openstack_networking_network_v2.network_1.id}"
admin_state_up = "true"
region = "GRA3"
fixed_ip {
"subnet_id" = "${openstack_networking_subnet_v2.subnet_1.id}"
}
}
resource "openstack_compute_instance_v2" "instance_1" {
provider = "openstack.ovh"
name = "instance_1"
security_groups = ["default"]
region = "GRA3"
key_pair = "${openstack_compute_keypair_v2.keypair.name}"
flavor_name = "s1-2"
image_name = "Debian 8 - Docker"
network = [
{
name = "Ext-Net"
},
{
port = "${openstack_networking_port_v2.port_1.id}"
},
]
}
resource "openstack_compute_instance_v2" "instance_2" {
provider = "openstack.ovh"
name = "instance_2"
security_groups = ["default"]
region = "GRA3"
key_pair = "${openstack_compute_keypair_v2.keypair.name}"
flavor_name = "s1-2"
image_name = "Debian 8 - Docker"
network {
port = "${openstack_networking_port_v2.port_2.id}"
}
}
{
name = "Ext-Net"
},
部分は私が外の世界にインスタンスを接続することができます。私の2つのインスタンスは、192.168.199.0/24ネットワークにIPアドレスを持つ必要がありますが、そうではありません。彼らはIPアドレスもこのネットワークに通信するルートも持っていません。しかし、私は、彼らが適切なIPアドレスを持っていることを知っている:そのスクリーンショットで
、instance_1は(予想通り)外にも接続されています。 instance_1とinstance_2の両方にプライベートIPアドレスがあります。しかし:
[email protected]:~# ip a
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:16:3e:b1:7c:ae brd ff:ff:ff:ff:ff:ff
inet 145.239.XXX.YY/32 brd 145.239.XXX.YY scope global eth0
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:16:3e:6a:87:8e brd ff:ff:ff:ff:ff:ff
eth1がそのIPアドレス(192.168.199.2または0.3)を持っていません。 192.168.199.0/24サブネットへのルートはありません。
私のために同じ問題 – Derp
私たちがあなたを助けるためにあなたのterraformコードで新しい質問を提出する必要があります。私はそれを調べます –
実際、OVHに関する記事の例は動作しませんhttps://docs.ovh.com/gb/en/public-cloud/how-to-use-terraform/、プライベートネットワークのIP doあなたの質問に書かれているように、インターフェイスに割り当てられません。そしておそらくそれが、OVHのgithub 'ovh/publiccloud-network/ovh'上のネットワークのための特別なモジュールがある理由です。 – Derp