Notice
Recent Posts
Recent Comments
Link
Archives
Today
Total
관리 메뉴

윤서율의 블로그

[Ncloud] 테라폼으로 시작하는 네이버클라우드 플랫폼 - 2 본문

DevOps

[Ncloud] 테라폼으로 시작하는 네이버클라우드 플랫폼 - 2

Yoon Seo-yul 2023. 7. 20. 05:25

이전글

2023.07.18 - [DevOps] - [Ncloud] 테라폼으로 시작하는 네이버클라우드 플랫폼 - 1

 

4. 콘솔에서 server 배포하기

콘솔을 통해서 VPC 네트워크부터 서버까지 배포하는 작업을 진행해보자

4.1 네트워크 구축하기

4.1.1 VPC 생성하기

  • Services → VPC 검색!

  • VPC 생성하기
    VPC 이름: first-vpc
    IP 주소 범위: 10.0.0.0/16

여기에서 콘솔을 통해 입력하는 아규먼트(인수)들이 테라폼의 Ncloud 프로바이더를 통해 API를 호출하는 경우의 파라미터(인자) 값이 된다고 이해하면 된다.

생성되면 다음과 같이 VPC ID와 CIDR 블록 할당을 확인할 수 있다.

여기서 ID는 테라폼에서 리소스를 구분하는데 중요한 역할을 한다.

4.1.2 subnet 생성하기

  • Subnet 생성하기
    Subnet 이름: first-pub-subnet
    VPC: first-vpc 선택
    IP 주소 범위: 10.0.1.0/24
    가용 Zone: KR-2 선택
    Network ACL: VPC 생성 시 기본으로 만들어진 default-network-acl을 사용한다.
    Internet Gateway 전용 여부: Y(Public)
        서버가 직접 인터넷으로 통신하기 위해서는 인터넷 게이트웨이가 필요하다.
    용도: 일반

4.1.3 Network ACL 설정하기

기본으로 생성된 Network ACL에 서버에 접근할 수 있도록 Inboud 규칙과 Outbound 규칙을 설정한다.

서버가 정상 배포 됐는지 확인하기 위해서 간단한 웹페이지를 띄워 확인해 볼 예정이기 때문에 80 포트를 추가로 열어준다.

  • 우선순위: 0
  • 프로토콜: TCP
  • 접근소스 또는 목적지: 0.0.0.0/0
  • 포트: 80

Inbound와 Outbound 모두 동일하게 적어주고 파란색 추가 버튼 누르는 것을 잊지 않는다.

4.2 서버 생성하기

서버를 생성하여 간단한 웹페이지를 띄워본다. 이를 위해서 먼저 서버가 만들어질 때 자동으로 한 번 수행되는 init script를 작성하고, 웹 페이지에 접근 할 수 있도록 ACG를 설정해준다.

4.2.1 Init Script 작성하기

server를 생성할 때 Init Script를 지정해주면 생성마다 반복되는 작업을 미리 정의해두어 재사용할 수 있다. 아래 소스를 Script 항목에 붙여넣는다.

#!/bin/bash
sudo apt -y update
sleep 15
sudo apt -y update
sudo apt -y install apache2
sudo systemctl start apache2
cat << EOM > /var/www/html/index.html
<html>
  <head><title>Meow!</title></head>
  <body>
  <div style="width:800px;margin: 0 auto">

  <!-- BEGIN -->
  <center><img src="http://placekitten.com/600/400"></img></center>
  <center><h2>Meow World!</h2></center>
  Welcome to seoyul's app. Replace this text with your own.
  <!-- END -->

  </div>
  </body>
</html>
EOM

4.2.2 서버 생성하기

이제 서버를 생성한다. 서버는 사용 시간만큼 과금이 되기 때문에 실습 후 반드시 중단 후 반납을 잊지 말자.

서버 생성 버튼을 누르면 서버 구성을 작성하게 되는 창이 열린다.

작성일 기준 최신 버전인 ubuntu-20.04-base 이미지를 사용한다.

서버 설정 내용은 아래와 같다.

  • VPC: first-vpc 선택
  • Subnet: first-pub-subnet|KR-2|10.0.1.0/24|Public 선택
  • 서버 스펙: Standard, s2-g2-s50
  • 요금제 선택: 시간 요금제
  • 서버 개수: 1
  • Network Interface: new interface 그대로 선택 후 가장 오른쪽 파란색 추가 버튼을 클릭
  • 공인 IP: 새로운 공인 IP 할당
  • 물리 배치 그룹: 미사용
  • 반납 보호: 해제
  • Script 선택: first-init

제대로 입력하지 않으면 다음 버튼이 활성화되지 않는다.

다시 한번 다음 버튼을 눌러 스토리지 설정을 넘어간다.

인증키 설정의 경우 인증키가 없으면 새로운 인증키를 생성한다.

네트워크 접근 설정의 경우 기본 acg를 사용한다. 여기서는 자동 생성된 first-vpc-default-acg를 사용한다. 서버를 생성하고, acg를 편집하는 단계로 넘어간다.

최종 확인 화면에서 내용을 확인하고 잘 작성했다면 서버를 생성한다.

서버는 스펙과 설정에 따라 생성 시간에 차이가 있다. 이번 실습에서는 약 5분 정도가 소요되었다.

4.2.3 ACG 설정하기

서버의 웹 페이지에 접근하기 위해서 ACG의 내용을 편집한다.

  • 프로토콜: TCP
  • 접근 소스: 0.0.0.0/0
  • 허용 포트: 80

추가를 통해 내용이 아래 목록에 돌어감을 확인하고, 하단의 적용을 누른다.

4.3 웹페이지 확인하기

다시 서버 화면으로 돌아와서 ACG를 편집하는 동안 서버가 생성되어 상태가 운영중으로 바뀐 것을 확인한다. 운영중으로 바뀐 서버에는 공인 IP가 할당 된 것을 확인할 수 있다.

해당 공인 IP에 접속하면 다음과 같은 화면을 볼 수 있을것이다.

이번 포스팅에서는 콘솔을 통해서 서버를 생성하는 실습을 진행하였다.

다음 내용으로 테라폼을 활용해 지금까지의 작업을 간단히 수행해보도록 한다.

99. 사용 꿀팁

네이버 클라우드 유저 커뮤니티

교육

네이버 클라우드 플랫폼 관련 링크 모음 https://linktr.ee/navercloudplatform

 

 

다음글

2023.07.24 - [DevOps] - [Ncloud] 테라폼으로 시작하는 네이버클라우드 플랫폼 - 3