brunch

매거진 kakao cloud

You can make anything
by writing

C.S.Lewis

by Master Seo Jan 27. 2023

카카오 클라우드 1탄-4. NAT서버 만들기

Publibc Subnet에 베스천 하나 만들자.

Centos, Rocky linux Vitual Machine 만들어 웹 서비스 올려보자.


<1> Publibc Subnet에 베스천  Virtual Machine 만들기

<2> 공인 IP 연결

<3> Security Group

<4> SSH 연결

<5> 웹서버 설정

<6> user /passwd 방식의 서버 1대 만들어 보기

<7> CentOS로 NAT Instance 만들기

<8> 개인 정리



<1> Publibc Subnet에 베스천  Virtual Machine 만들기


1

game-ka-web01-dev


2

이미지 선택

CentOS Stream 8

// 디폴트 이미지가 선택되어  있으면 좋겠다.


3

디폴트

Standard  vCPU 2개 , Memory 8GB가 기본이다.  

SSD는 20GB 기본


4

키페어 생성 (서버 로그인을 위한 키)  bas3

Windows PC의 경우 다운로드 폴더에 다운로드된다.



5

네트워크

서브넷 선택해줘야 한다.

main으로 선택


6

시큐리티 그룹 선택 - 없으면 디폴트


7

고급설정 - 스크립트 불러오기  (선택)


8

만들기



9

상세



10

vCPU 2개 , Memory 8GB



11

생성 완료


서버 생성 시 기본으로 공인 IP는 할당되지 않는다.


<2>  공인 IP 연결


1

공인 IP 연결  : 클릭

오른쪽 공인 IP연결


2

공인 IP 목록은 VPC가면 볼 수 있다.


3

공인 IP 매칭된 서버를 삭제하더라도 공인 IP는 남는다.

나중에 공인 IP는 별도 삭제 해야 한다.



<3> Security Group


1

VPC > Security Group에 있다.


2

기본 인바운드 설정은 없다.  

로그인이 안된다는 것이다.  

SSH 22번 포트나 80 포트를 추가로 열어줘야 한다.



3

기본 아웃바운드 설정은 모두 허용이다.



4

연결 자원, 연결 자원 관리에서  보안그룹 적용 대상 서버를 추가 가능하다.






<4>  SSH 연결


1

windows pc의 경우  putty gen으로 ppk파일 만든다


putty로 접속한다.

login as: centos

Authenticating with public key "imported-openssh-key"

[centos@host-172-16-2-34 ~]$



2

mac pc 경우 SSH 연결


centos



3

rocky linux의 경우


ssh -i  kakao-game-web01-dev.pem  rocky@172.16.0.190


Authenticating with public key "imported-openssh-key"

Activate the web console with: systemctl enable --now cockpit.socket

[rocky@host-172-16-0-190 ~]$





<5> 웹서버 설정


1

hostname rocky-linux

yum install httpd -y

systemctl start httpd && systemctl enable httpd

echo "<h1> Security Group & Network ACL TEST -rocky </h1>" > /var/www/html/index.html


2

스크립트 사용의 경우



#!/bin/bash

hostname Server-EC2

yum install httpd -y

systemctl start httpd && systemctl enable httpd

echo "<h1> Security Group & Network ACL TEST 1 </h1>" > /var/www/html/index.html




<6> public subnet에  user /passwd 방식의 서버 1대 만들어 보기


1

public에 user / passwd 방식의 서버 1대 만들어 테스트해 보기

pub-user1

Centos Stream 8로 설치

키페어 기존 것 사용

네트워크는 서브넷 지정 필요 - main으로 지정

user /pass로 변경되도록 스크립트 설정

공인 IP 연결 필요 (디폴트 공인 IP 미할당)



#!/bin/bash
(
echo "sss1"
echo "sss1"
) | passwd --stdin root
sed -i "s/^PasswordAuthentication no/PasswordAuthentication yes/g" /etc/ssh/sshd_config
sed -i "s/^#PermitRootLogin yes/PermitRootLogin yes/g" /etc/ssh/sshd_config
service sshd restart



2

bastion에서 서버 접속 하기

ssh 172.16.17.192 -l root


3

public에 user /passwd 방식의 서버 1대 만들어 테스트해 보기


네트워크는 서브넷 지정 필요 - public subnet으로 지정


스크립트 불러오기



4

bastion 접속하기

private서버에 user /passwd 방식으로 서버 접속해 보자



5

public  subnet에 있는  웹서버에 접속하기



6

웹 서비스 올리기


#!/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




7

공인 IP로 웹 접속 되는지 확인한다.



8

해당 서버 이미지로 만든다.

이미지로 , private에 2대 만든다.



<7> CentOS로 NAT Instance 만들기


Public Subnet에 NAT 인스턴스가 구성되어야,  Private Subnet에 있는 서버에 웹서비스가 제대로 동작한다.



1

Public Subnet에 NAT 인스턴스 생성

CentOS로 생성한다.



2

NAT1 서버에 설정하기


sysctl -w net.ipv4.ip_forward=1
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
yum install iptables-services
sudo service iptables save




3

NAT 서버에서 출발지/목적지 체크 모드 변경

4

Private-rt에서 라우팅 테이블 추가 , 0.0.0.0/0 instance





<8> 개인 정리


1

서버 생성 시 기본으로 공인 IP는 할당되지 않는다.

//AWS , Naver는 기본으로 임시 공인 IP가 할당된다.


2

기본 인바운드 설정은 없다.  

로그인이 안된다는 것이다.  

SSH 22번 포트나 80 포트를 추가로 열어줘야 한다.



3

처음에 ppk 파일 만들었으면 한다..





다음은 

5. 카카오- 로드밸런서 만들기 (brunch.co.kr)




감사합니다

매거진의 이전글 카카오 클라우드 1탄-3. 3티어 네트워크 만들어보기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari