brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Mar 25. 2022

4. NHN 클라우드로 기업 웹사이트 구축하기 4/23

본 내용은 개인적으로 정리한 부분이라 틀릴 수 있습니다.


기업 웹 사이트 구축하기 위해서는 네트워크 구축, 웹서버 구축, 로드밸런서 구축해야 한다.

한국(평촌) 리전으로 변경한다.

PPT 첨부



<1> 네트워크 구축

<2> Public Subnet에 베스천 서버 1대 구축

<3> 웹서비스 구축

<4> 로드 밸런서 연결

<10> 참고 :  NHN 클라우드 아이콘 다운로드



<1> 네트워크 구축


한국(평촌) 리전으로 변경한다.


1

개발용 네트워크를 구축해보자.

기존 디폴트 네트워크는 삭제하자.

회사 IP 관리 체계에 따라 IP를 부여한다.

VPC 1개 , Public Subnet 1개 , Private Subnet 1개, 인터넷 게이트웨이 1개, NATGW 1개를 구축한다.


IP 관리 대장 예)


2

VPC  1개 생성

aweb-nhn-dev-vpc

10.0.0.0/21

/24보다 큰 CIDR 블록은 입력할 수 없습니다.

VPC은 최대 3개까지 생성할 수 있습니다.


3

서브넷 생성

Public Subnet 1개

aweb-nhn-dev-pub1

10.0.0.0/24



4

서브넷 생성

Private Subnet 1개

aweb-nhn-dev-pri1

10.0.2.0/24


5

인터넷 게이트웨이 1개  생성  

aweb-nhn-dev-igw


6

라우팅 > 인터넷 게이트웨이 연결


7

NATGW 1개  생성

aweb-nhn-dev-ngw

서브넷 - 퍼블릭에 연결

NATGW는 퍼블릭 서브넷에 생성한다. 외부로 나가야 하므로.


8

라우팅 설정 변경

VPC > 라우팅 >  라우팅 테이블 생성

aweb-nhn-dev-ngw-rt

라우트 생성

0.0.0.0/0  NAT_GATEWAY





<2> Public Subnet에 베스천 서버 1대 구축



1

베스천 서버(점프 호스트, 게이트웨이 서버)를 구축해서 접속해보자.

베스천 서버는 해당 서버를 이용해 내부 Private Subnet에 있는 서버를 접속하기 위한 서버이다.

베스천 서버는 외부에서 접속하기 위해 Public에 위치한다.

Floating IP (공인 IP)를 서버애 할당해 외부에서 접속되도록 하자.




2

보안 그룹은 미리 80,22 각각 만들자


3

퍼블릭 서브넷에 서버 1대 만들자.

Floating IP (공인 IP)를 서버애 할당해 외부에서 접속되도록 하자.


4

Compute > Instance > 인스턴스 생성


aweb-nhn-bastion-dev

서브넷 변경

플로팅 IP 사용

인스텐스 생성


5

서버 접속하기

putty로 접속 시는  pem 키를 ppk로 변경해야 한다.

로그인 계정 centos





<3> 웹서비스 구축


1

Private Subnet에 웹서버 2대를 구축하자.

2대를 한 번에 구축해보자



2

aweb-nhn-web01-dev

인스턴스 타입

인스턴스수

2

네트워크

private subnet

사용자 스크립트

private subnet에 만드는 서버는 user / password 방식으로 접속하도록 변경하자.

웹서비스도 바로 올라오도록 설정하자


3

사용자 스크립트

#!/bin/bash

(

echo "sss123"

echo "sss123"

) | passwd --stdin root

sed -i "s/^PasswordAuthentication no/PasswordAuthentication yes/g" /etc/ssh/sshd_config

sed -i "s/^PermitRootLogin no/PermitRootLogin yes/g" /etc/ssh/sshd_config

service sshd restart

yum -y install httpd

systemctl enable httpd

systemctl start httpd

echo '<html><h1> web01 </h1></html>' > /var/www/html/index.html


첨부



4

bastion에서 프라이빗 서브넷에 있는 서버로  root   sss123으로 로그인하면 됨


[root@aweb-nhn-web01-dev ssh]# ssh -l root 133.186.202.9

Please login as the user "centos" rather than the user "root".

root@133.186.202.9's password:  sss123

[root@www4 ~]#



5

2번 서버 접속해 index.html 수정하자.

index.html 내용을   web02로 하자.

나중에 로드 밸런서에서 확인 시  web01과 web02로 잘 나눠지는지 확인하기 위해서 이다.


root@www-2 ~]# cd /var/www/html/

[root@www-2 html]# vi index.html





<4> 로드 밸런서 연결




1

서버 1대가 다운되더라도 서비스가 계속될 수 있도록 로드 밸런서를 연결하자.

로드 밸런서는 서버 이중화 장비이다.


2

Network > Load Balancer > 로드 밸런서 생성


일반, 전용, 물리(Basic), 물리(Permium)  4가지 종류가 있다.

낮은 성능 --------- 높은 성능 순서이다.

서비스 적용 시는 높은 성능을 요구하는 로드밸런서를 사용해야 한다.



3

aweb-nhn-web-lb

서브넷을 public으로 선택, LB를 Public에 생성한다.

tcp

tcp

상태 확인 주기 10초로

선택된 인스턴스  2대 추가


4

IP 접근제어 그룹

IP로 접근자를 제어할 수 있다 (선택)


5

로드 밸런서 생성



6

인스턴스 상태 확인

액티브인지 확인하자!




7

플로팅 IP 생성해  로드 밸런서와 연결한다.


8

로드밸런서용  플로팅 IP로  웹으로 접속 확인한다.

http://133.186.202.9/



<10> 참고 :  NHN 클라우드 아이콘 다운로드


https://docs.toast.com/ko/TOAST/ko/architecture-icon/



감사합니다.

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