본문 바로가기

네이버클라우드플랫폼(Ncloud)/테라폼

(10)
테라폼 Tomcat - MySQL 연동하기(NCP) 이전 글 참조(NGINX-Tomcat 연동) https://bo20cy.tistory.com/12 테라폼 연동 방법 2탄 Centos 7.8 기준 3티어 구성 서버 내부에 AP들을 심어서 구성을 했습니다. WEB에는 NGINX, WAS에는 Tomcat을 연동시키고 WAS에는 Tomcat에 ,DB에는 Cloud for MySQL을 연동 자동화를 해보겠습니다. 이번에는 각 서버를 분리하고 각각에 서버이미지를 만들어서 값을 채워주는 방식을 적어보겠습니다. 1탄과 같이 sed 명령어로 값을 변경해주는 방식으로 말고 tpl파일을 만들어서 값을 변경해주는 방식으로 하겠습니다. 서버이미지는 #!/bin/bash sudo yum install -y java-11-openjdk-devel.x86_64 sudo cd /u..
테라폼 NGINX - Tomcat연동 Centos 7.8 기준 NGINX , Tomcat 연동 서버 이미지는 cat /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 이 내용을 서버에 기록하고 서버이미지를 만듭니다. 만들고 나면 서버이니스크립트에 적어 만들어 보겠습..
Cloud for MySQL (+Init-script) 설명 https://bo20cy.tistory.com/6 이전에는 서버에 직접 설치하는 방법을 사용했을 때 DB를 직접 들어가서 설치를 해야했지만 init-script를 사용하면 편하게 할 수 있습니다. Init-script 서버를 가동할 때 단 한번만 작동하는 코드입니다. bash, python, perl 언어를 사용 할 수 있지만 저는 bash를 기준으로 하겠습니다. 이것을 사용해서 서버를 구성하면서 미들웨어까지 같이 설치해서 빠르게 구성할 수 있습니다. Init-script 사용법 variable "subnet_no" {} resource "ncloud_init_script" "init" { name = "ls-script" content = "#!/usr/bin/env\nls -al" } reso..
테라폼 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.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_co..
테라폼 ACG 설정하기(+dynamic) 테라폼 ACG 설정하기 테라폼 ACG 생성 resource "ncloud_vpc" "vpc" { ipv4_cidr_block = "10.4.0.0/16" } resource "ncloud_access_control_group" "acg" { name = "my-acg" description = "description" vpc_no = ncloud_vpc.vpc.id } ACG생성 resource "ncloud_access_control_group_rule" "acg-rule" { access_control_group_no = ncloud_access_control_group.acg.id inbound { protocol = "TCP" ip_block = "0.0.0.0/0" port_range = "22..
테라폼 Loadbalancer 구축하기(+count) 테라폼 Loadbalancer 구축하기 테라폼 lb 생성 방법 resource "ncloud_lb" "test" { name = "tf-lb-test" network_type = "PUBLIC" type = "APPLICATION" subnet_no_list = [ ncloud_subnet.test.subnet_no ] } lb생성 resource "ncloud_lb_target_group" "test" { vpc_no = ncloud_vpc.test.vpc_no protocol = "HTTP" target_type = "VSVR" port = 8080 description = "for test" health_check { protocol = "HTTP" http_method = "GET" port = ..
테라폼 서버 생성(+nic) 이전 포스트와 연결됩니다. 테라폼 서버 생성하기 resource "ncloud_login_key" "loginkey" { key_name = "test-key" } resource "ncloud_vpc" "test" { ipv4_cidr_block = "10.0.0.0/16" } resource "ncloud_subnet" "test" { vpc_no = ncloud_vpc.test.vpc_no subnet = cidrsubnet(ncloud_vpc.test.ipv4_cidr_block, 8, 1) zone = "KR-2" network_acl_no = ncloud_vpc.test.default_network_acl_no subnet_type = "PUBLIC" usage_type = "GEN" } re..
테라폼 subnet 생성(+인수참조) 이전 포스트와 연결됩니다. 테라폼 subnet 생성하기 resource "ncloud_vpc" "vpc" { name = "vpc" ipv4_cidr_block = "10.0.0.0/16" } resource "ncloud_subnet" "subnet" { vpc_no = ncloud_vpc.vpc.id subnet = "10.0.1.0/24" zone = "KR-2" network_acl_no = ncloud_vpc.vpc.default_network_acl_no subnet_type = "PUBLIC" // PUBLIC(Public) | PRIVATE(Private) // below fields is optional name = "subnet-01" usage_type = "GEN" // GEN(Ge..