DBの作成も出来たので、さくらのクラウドでオートスケールの検証をしようと考えています。
オートスケールの検証で考えているのは、ロードバランサー配下にWebサーバを立ててスケールさせられるかどうかテストしようと考えています。
んで、いつも通りですが、何度も検証環境を構築するのが面倒なので、まずは標準構成を考えてその構成をTerraformで作れるようにしようと思います。
Terraform
構成
構成ですが、DB構築時の構成をベースにDB用セグメントではないセグメントにロードバランサーとWebサーバを作ろうと思います。
ということで、以下のような構成にしました。
Terraformコード
gokigenmaru.hatenablog.com
変更がないものについては本ブログの上にリンクを貼ってある以前のブログのコードを参考にしてください
loadbalancer.tf
resource "sakuracloud_load_balancer" "asgtestlb01" { name = "asgtestlb01" network_interface { switch_id = sakuracloud_switch.testswitch.id vrid = 200 ip_addresses = ["192.168.0.110"] gateway = "192.168.0.254" netmask = 24 } vip { vip = "192.168.0.200" port = 80 server { ip_address = "192.168.0.2" protocol = "tcp" path = "/index.html" status = "200" } } }
server.tf
############################################# # server ############################################# data "sakuracloud_archive" "ubuntu" { os_type = "ubuntu2004" } resource "sakuracloud_disk" "vpctestdisk" { name = "vpctestdisk" plan = "ssd" connector = "virtio" size = 20 source_archive_id = data.sakuracloud_archive.ubuntu.id encryption_algorithm = "aes256_xts" } resource "sakuracloud_server" "vpctestserver" { name = "vpctestserver01" disks = [sakuracloud_disk.vpctestdisk.id] core = 1 memory = 2 network_interface { upstream = sakuracloud_switch.testswitch.id user_ip_address = "192.168.0.2" } disk_edit_parameter { hostname = "vpctestserver01" password = "xxxxxxxxxxxx" ip_address = "192.168.0.2" netmask = 24 gateway = "192.168.0.254" } } resource "sakuracloud_disk" "vpctestdisk2" { name = "vpctestdisk02" plan = "ssd" connector = "virtio" size = 20 source_archive_id = data.sakuracloud_archive.ubuntu.id encryption_algorithm = "aes256_xts" } resource "sakuracloud_server" "vpctestserver02" { name = "vpctestserver02" disks = [sakuracloud_disk.vpctestdisk2.id] core = 1 memory = 2 network_interface { upstream = sakuracloud_switch.testswitch.id user_ip_address = "192.168.0.103" } disk_edit_parameter { hostname = "vpctestserver02" password = "xxxxxxxxxxxx" ip_address = "192.168.0.103" netmask = 24 gateway = "192.168.0.254" } }
vpcrouter.tf
############################################# # VPCRouter ############################################# resource "sakuracloud_vpc_router" "vpcrouter" { name = "vpctestrouter01" private_network_interface { index = 1 switch_id = sakuracloud_switch.testswitch.id ip_addresses = ["192.168.0.254"] netmask = 24 } private_network_interface { index = 2 switch_id = sakuracloud_switch.testswitch2.id ip_addresses = ["192.168.1.254"] netmask = 24 } port_forwarding { protocol = "tcp" public_port = 22 private_ip = "192.168.0.103" private_port = 22 } depends_on = [ sakuracloud_switch.testswitch ] }
192.168.0.103のサーバは踏み台として利用し、103からロードバランサーとオートスケールの検証(curlとか)を行おうと思います。