Centos 7.8 기준
NGINX , Tomcat 연동
서버 이미지는
cat << EOF > /etc/yum.repos.d/nginx.repo
[nginx]
name=Nginx Repository \$basearch - Archive
baseurl=http://nginx.org/packages/centos/\$releasever/\$basearch/
enabled=1
gpgcheck=1
gpgkey=https://nginx.org/keys/nginx_signing.key
EOF
sudo yum install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx
이 내용을 서버에 기록하고 서버이미지를 만듭니다.
만들고 나면
서버이니스크립트에 적어 만들어 보겠습니다.
#!/bin/bash
sed -i '10i\ proxy_pass http://localhost:8080;' /etc/nginx/conf.d/default.conf
systemctl restart nginx
넣을 내용 입니다.
localhost로 만들었지만 바꾸어 주시면됩니다.
localhost에 저같은 경우 로드밸런서 도메인 데이터 값을 넣었습니다.
data "ncloud_lb" "data_pri_lb" {
id = ncloud_lb.create_pri_lb.id
}
각자 필요한 참조 값을 넣어주시면 됩니다
.
#server.tf
#web 이니스크립트
resource "ncloud_init_script" "create_web_init" {
name = "${var.pnoun}-web-con"
content = "#!/bin/bash \n sed -i '10i\\ proxy_pass http://${data.ncloud_lb.data_pri_lb.domain}:8080;' /etc/nginx/conf.d/default.conf \n systemctl restart nginx"
depends_on = [ncloud_lb.create_lb]
}
#private server nic
resource "ncloud_network_interface" "create_nic_pri" {
count = length(var.server_pri_CIDR)
name = "${var.pnoun}-pri-nic-${count.index + 1}"
subnet_no = ncloud_subnet.create_pri_subnet[count.index].id
private_ip = var.server_pri_CIDR[count.index]
access_control_groups = [ncloud_vpc.create_vpc.default_access_control_group_no]
}
#private server
resource "ncloud_server" "create_pri_sv" {
count = length(var.server_pri_CIDR)
subnet_no = ncloud_subnet.create_pri_subnet[count.index].id
name = "${var.pnoun}-pri-sv-${count.index + 1}"
member_server_image_no = 23104957
server_product_code = "SVR.VSVR.STAND.C002.M008.NET.HDD.B050.G002"
description = "${var.pnoun}-pri-sv-${count.index + 1} is best tip!!"
init_script_no = "${ncloud_init_script.create_was_init.id}"
login_key_name = ncloud_login_key.create_key.key_name
network_interface {
network_interface_no = ncloud_network_interface.create_nic_pri[count.index].id
order = 0
}
}
서버이미지번호는 23104957이지만 각자 만든 공유 번호를 넣어주시면 됩니다.
테라폼 Auto Scaling Group 생성(+ 서버이미지 적용)
테라폼 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.H
bo20cy.tistory.com
(서버이미지 설명)
이제 테라폼만 작동시키면 연동이 완료가 됩니다.
output에 공인 ip를 출력하면 더욱 좋습니다.
예시)
#output.tf
output "server_public_ip" {
value = ncloud_public_ip.public-ip.*.public_ip
description = "The public IP of the Instance"
}
공인ip 에 들어가 보면
톰캣이 받겨줍니다.
'네이버클라우드플랫폼(Ncloud) > 테라폼' 카테고리의 다른 글
테라폼 Tomcat - MySQL 연동하기(NCP) (1) | 2024.04.04 |
---|---|
Cloud for MySQL (+Init-script) (0) | 2024.03.25 |
테라폼 Auto Scaling Group 생성(+ 서버이미지 적용) (2) | 2024.03.01 |
테라폼 ACG 설정하기(+dynamic) (2) | 2024.02.04 |
테라폼 Loadbalancer 구축하기(+count) (2) | 2024.01.29 |