brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jan 24. 2022

NCP 2탄-네트워크,웹서비스 구축 1/15

NCP PRO 실습과정

네이버 클라우드 전문가가 되기 위해 하나씩 따라 해 보자~

NCP  실습 과정 이다.

웹서비스 인프라를 구축해 보자


순서

네트워크 만들기

웹서버 만들기

DB서버 만들기

웹서버와 DB서버 연결하기


<1> 네트워크 만들기

<2> ACG 만들기 = AWS의 보안 그룹과 같다.

<3> 웹 서버 만들기

<4> Cloud DB For Mysql 만들어보자.

<5> 웹 서버에 공인 IP 부여하여 접속해보자

<6> 서버에서 발생하는 로그 수집하기 = CLA서비스 사용하기




<1> 네트워크 만들기


1

VPC

ncp-dev-vpc

10.0.0.0/16



2

네트워크 ACL = NACL

VPC를 만들면  default NACL이 만들어진다.

수동으로 추가로 만들수 있다.

VPC > Network ACL > ACL Rule  > Network ACL 생성 


NACL이란?

Subnet에 적용할 보안 설정이다.  

Subnet단위로 유입/유출을 제어한다.

여기서는 룰은 따로 추가하지 않는다.

디폴트 All 허용이다. = AWS도 동일하다.


3

서브넷 생성하자

ncp-dev-pub1-subnet

10.0.0.0/24

KR-2

앞에서 만든  pub-acl 선택

ncp-dev-vpc-pub-acl

생성




<2> ACG 만들기 = AWS의 보안 그룹과 같다.


1

ACG ?

ACG는 서버에 적용할  보안 설정을 하는 것이다. = AWS의 보안 그룹과 같다.

서버 단위 보안설정이다.

디폴트 ALL 차단이다.

허용 필요한 것을 넣어야 한다.

우선 모든 것을 허용하도록 하자

3 개까지 선택 가능하다.



ACG 만들기 = AWS의 보안 그룹과 같다.

Server > Server > ACG  > ACG 생성

pub1-acg


ACG설정

유입 모두 허용?

icmp    0.0.0.0

tcp       0.0.0.0      1-65535 

udp     0.0.0.0      1-65535 


나가는 것 모두 허용?

icmp    0.0.0.0

tcp       0.0.0.0      1-65535 

udp     0.0.0.0      1-65535 



2

서버 시작 시 자동 시작할 초기 스크립트 만들기

Server > Init Script

ncp-web-script


#!/bin/bash

yum -y install httpd

systemctl enable httpd

systemctl start httpd

echo '<html><h1> Hello From Your Web Server! </h1></html>' > /var/www/html/index.html




<3> 웹 서버 만들자


1

Server > 서버 생성

50기가  디폴트 - 리눅스 서버만 보인다.

디폴트

(100G로 변경하면 windows서버가 보인다.)

centos 7.8


2

Vpc선택

public subnet 한다.


3

일반 서버 생성 시 G2 선택한다.

G1은 GPU 서버만 제공한다.


4

High CPU  선택 =   2 Cpu , 4 Giga mem이다.


5

서버 이름

ncpweb01-dev


6

Network interface

추가  클릭

// 사설 IP는 지정도 가능하다. 10.0.0.101


7

공인 IP

새로운 공인 IP 할당


8

스크립트 선택 > 앞에서 만든 스크립트 적용을 한다.

ncp-web-deb-script


9

새로운 인증키 생성

ncpweb01-dev


10

ACG > 앞에서 만든  ACG 적용을 한다.

서버 랜카드에 적용되는 ACG이다.

pub1-acg


11

인증키 설정

서버 접속을 위한 인증키이다.

보유하고 있는 인증키 이용과

새로운 인증키 생성으로 나누어 진다.


12

서버 생성

(5분 소요)


13

서버 접속해보자




<4> Cloud DB For Mysql 만들어보자.


1

Cloud DB For Mysql 만들어보자.


2

디폴트 생성


3

디폴트는  고가용성 지원 체크되어 있다.

Master와 Standby Master가 만들어진다.

1대만 만들고자 하면  고가용성 지원 체크 해지 하자.

여기서는 디폴트로


테스트 용도로 Public Subnet에 생성한다.

DB Server 이름?

ncpdb


DB 서비스 이름

ncp-db


topasvga

%

g1!

기본 DB명 

ncpdb1


// 선택

백업 시간 지정 가능 > 사용자 지정 > 새벽 5시로 선택

생성



4

CLA  (Cloud Log Analytics)는 로그 남기는 것이라 디폴트로 사용하도록 하자.

서비스 신청 클릭


5

생성 완료 확인




<5> 웹 서버에 공인 IP 부여하여 접속해보자


1

Server > Public IP > 공인 IP 신청 > 공인 IP 부여할 서버 선택 > ncpweb01-ncp-dev


2

부여된 공인 IP 확인


3

Putty로 접속한다.


root

암호 입력


4

암호는 서버 만들 때 다운로드하였던 인증키로 확인 가능하다. (필수)

서버 관리 및 설정 변경 > 관리자 비밀번호 확인 > 인증키 > 다운로드한 인증키를 넣으면 root 계정의 비밀번호가 나온다.

로그온 후 passwd를 변경하자.

passwd root


5

일반 계정을 만들어 원격에서 root로 접속 안되도록 설정하기  (선택)

일반 계정 만들기

useradd ncp-user

passwd ncp-user


6

root접속 차단하기  (선택)

/etc/sshd_config를 수정해야 한다.

스크립트로 바로 변경되도록 하자.




<6> 서버에서 발생하는 로그 수집하기 = CLA서비스 사용하기


Analytics > Cloud Log Analytics


로그 확인하기


1

DB 생성시 로그 확인하도록 설정이 되었다.


2

웹서버에 대해 로그 수집해보자.

Management & Governance > Cloud Log Analytics  >  Management

서버 선택 > 수집 설정 클릭 >  Syslog , apache 선택해 로그 남도록 선택하자.

직접 로그 경로도 지정할 수 있다.


3

서버에 로그온해 서버 수집 에이전트를 설치한다.


5

확인


CLA 가서 해당 서버가 수집 에이전트가 제대로 되었는지 확인 하자.

Cloud Log Analytics  >  Management


설정 완료인지 확인하자.


6

Cloud Log Analytics  >  Search 에서  이벤트 log 확인하자.




다음 과정


https://brunch.co.kr/@topasvga/2132



브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari