테라폼 Auto Scaling Group 생성(+ 서버이미지 적용)
테라폼 Lunch Configuration 생성
resource "ncloud_launch_configuration" "lc" {
name = "my-lc"
server_image_product_code = "SW.VSVR.OS.LNX64.CNTOS.0703.B050"
server_product_code = "SVR.VSVR.HICPU.C002.M004.NET.SSD.B050.G002"
}
테라폼 Auto Scaling Group 생성
resource "ncloud_auto_scaling_group" "auto" {
access_control_group_no_list = [ncloud_vpc.example.default_access_control_group_no]
subnet_no = ncloud_subnet.example.subnet_no
launch_configuration_no = ncloud_launch_configuration.lc.launch_configuration_no
min_size = 1
max_size = 1
}
Auto Scaling 정책 추가
resource "ncloud_auto_scaling_policy" "policy" {
name = "my-policy"
adjustment_type_code = "CHANG"
scaling_adjustment = 2
auto_scaling_group_no = ncloud_auto_scaling_group.asg.auto_scaling_group_no
}
Terraform Registry
registry.terraform.io
Terraform Registry
registry.terraform.io
auto.tf
#auto.tf
#auto_lc
resource "ncloud_launch_configuration" "create_auto_lc" {
name = "${var.pnoun}-auto-lc"
member_server_image_no = 22863503
server_product_code = "SVR.VSVR.STAND.C002.M008.NET.HDD.B050.G002"
login_key_name = ncloud_login_key.create_key.key_name
}
#오토스케일링그룹
resource "ncloud_auto_scaling_group" "create_auto" {
count = length(var.zone)
name = "${var.pnoun}-auto-${count.index}"
access_control_group_no_list = [ncloud_vpc.create_vpc.default_access_control_group_no]
subnet_no = ncloud_subnet.create_pub_subnet[count.index].id
launch_configuration_no = ncloud_launch_configuration.create_auto_lc.id
min_size = 0
max_size = 2
desired_capacity = 0
default_cooldown = 300
health_check_type_code = "LOADB" //SVR or LOADB
health_check_grace_period = 300
server_name_prefix = var.pnoun
}
resource "ncloud_auto_scaling_policy" "create_auto_policy_add" {
count = length(var.zone)
name = "${var.pnoun}-auto-policy-add"
adjustment_type_code = "CHANG"
scaling_adjustment = "1"
auto_scaling_group_no = ncloud_auto_scaling_group.create_auto[count.index].id
}
resource "ncloud_auto_scaling_policy" "create_auto_policy_dec" {
count = length(var.zone)
name = "${var.pnoun}-auto-policy-dec"
adjustment_type_code = "CHANG"
scaling_adjustment = "-1"
auto_scaling_group_no = ncloud_auto_scaling_group.create_auto[count.index].id
}
변수들
adjustment_type_code
- (Required) Determines how the number of servers is scaled when the scaling policy is performed. Valid values areCHANG
,EXACT
, andPRCNT
.scaling_adjustment
- (Required) Specify the adjustment value for the adjustment type. Enter a negative value to decrease when adjustTypeCode isCHANG
orPRCNT
.
서버이미지
member_server_image_no
는 server_image_product_code
대신 사용 할 수 있다.
Auto scaling 에도 사용가능 하지만 server 만들때도 적용가능하다.
resource "ncloud_server" "server" {
subnet_no = ncloud_subnet.test.id
name = "my-tf-server"
member_server_image_no = 22863503
login_key_name = ncloud_login_key.loginkey.key_name
}
서버 이미지로 가능하다.
참고:
추가중...
'네이버클라우드플랫폼(Ncloud) > 테라폼' 카테고리의 다른 글
테라폼 NGINX - Tomcat연동 (1) | 2024.03.29 |
---|---|
Cloud for MySQL (+Init-script) (0) | 2024.03.25 |
테라폼 ACG 설정하기(+dynamic) (2) | 2024.02.04 |
테라폼 Loadbalancer 구축하기(+count) (2) | 2024.01.29 |
테라폼 서버 생성(+nic) (0) | 2024.01.27 |