kr-central-2
NAT인스턴스를 통한 네트워크 생성
NAT인스턴스를 우분트로 생성
https://docs.kakaocloud.com/tutorial/fundamentals/private-subnet
10.0.0.0/20 pub , web-lb
10.0.16.0/20 pri , web
10.0.32.0/20 pri , app-lb
10.0.48.0/20 pri , app
10.0.64.0/20 pri , db
NAT인스턴스를 centos로 생성
https://brunch.co.kr/@topasvga/2979
1
우분트로 베스천 생성
2
Nginx Proxy Manager를 실행하기 위해, 먼저 Bastion 호스트를 구성
Nginx Proxy Manager(NPM)는 Nginx를 기반으로 한 웹 서버를 쉽게 설정하고 관리할 수 있도록 도와주는 오픈 소스 프로젝트입니다.
sudo curl -o /tmp/install-bastion.sh https://raw.githubusercontent.com/kakaoenterprise/kakaocloud-tutorials/bastion-host/install-bastion.sh
bash /tmp/install-bastion.sh
3
보안 그룹 설정
bastion-sg
my ip 에서 10000-10010 허용
my ip 에서 81 허용
my ip 에서 22 허용
web-sg
10.0.0.0 /20 만 허용 = web-lb ip 블럭만 허용. 80
app-sg
10.0.32.0 /20 만 허용 = app -lb ip 블럭만 허용. 8080
4
http://${BASTION_PUBLIC_IP}:81/login
admin@example.com
changeme
web, app 서버 우분트로 2대씩 생성
web 16
app 32
5
Dashboard > Streams
web
10000
포트포워딩 22
10001
포트포워딩 22
app
10002
포트포워딩 22
10003
포트포워딩 22
6
보안 그룹 허용
web 서버 - 베스천 사설 ip 의 22
app 서버 - 베스천 사설 ip 의 22
7
접속
푸티로 베스천 접속 - 포트 10000 , 10001 , 10002 , 10003
또는
*tutorial-web-1
ssh -i ${PRIVATE_KEY}.pem ubuntu@${BASTION_PUBLIC_IP} -p 10000
*tutorial-web-2
ssh -i ${PRIVATE_KEY}.pem ubuntu@${BASTION_PUBLIC_IP} -p 10001
*tutorial-app-1
ssh -i ${PRIVATE_KEY}.pem ubuntu@${BASTION_PUBLIC_IP} -p 10002
*tutorial-app-2
ssh -i ${PRIVATE_KEY}.pem ubuntu@${BASTION_PUBLIC_IP} -p 10003
1
콘솔 > data store > mysql
2
인스턴스 그룹 이름
tutorial-mysql
admin
root1234
m2a.large
100
100
10.0.64.0/20 서브넷 사용
1
vm접속
*tutorial-app-1
ssh -i ${PRIVATE_KEY}.pem ubuntu@${BASTION_PUBLIC_IP} -p 10002
*tutorial-app-2
ssh -i ${PRIVATE_KEY}.pem ubuntu@${BASTION_PUBLIC_IP} -p 10003
2
예제 프로젝트 설치
git clone -b kakaocloud-library https://github.com/kakaoenterprise/kakaocloud-tutorials
3
cd kakaocloud-tutorials
4
패키지 설치
bash install-requirements.sh
5
환경변수 입력한 뒤, 예제 application을 실행합니다.
sudo docker run -it \
-e MYSQL_HOST=${MYSQL_HOST} \
-e DB_USERNAME=${DB_USERNAME} \
-e DB_PASSWORD=${DB_PASSWORD} \
-p 8080:8080 \
--name kakaocloud-library-server -d \
$(sudo docker build -q -f ./server/deploy/Dockerfile ./server)
MySQL > Instance Group 탭에서 생성해둔 tutorial-mysql 인스턴스 그룹을 클릭 후, 상단 엔드포인트에서 확인 가능
admin
root1234
1
NLB
tutorial-app-lb
192.168.32.0/20
포트 8080
0 , 16 은 web
32 는 app-lb
tutorial-app-lb
리스너 만들기
TCP:8080
2
Target Group
tutorial-app-target-group
8080
3
app-sg
8080 허용
1
# tutorial-web-1
ssh -i ${PRIVATE_KEY}.pem ubuntu@${BASTION_PUBLIC_IP} -p 10000
# tutorial-web-2
ssh -i ${PRIVATE_KEY}.pem ubuntu@${BASTION_PUBLIC_IP} -p 10001
2
예제 프로젝트 설치
git clone -b kakaocloud-library https://github.com/kakaoenterprise/kakaocloud-tutorials
3
cd kakaocloud-tutorials
4
예제 빌드 및 실행하는데 필요한 패키지 설치
bash install-requirements.sh
5
sudo docker run -it \
-e SERVER_ENDPOINT=${SERVER_ENDPOINT} \
-p 80:80 -p 443:443 \
--name kakaocloud-library-client -d \
$(sudo docker build -q -f ./client/deploy/Dockerfile ./client)
1
alb
tutorial-web-lb
80
2
타킷 그룹
tutorial-web-target-group
3
weg-sg
80 허용
퍼블릭 ip로 접속 확인.
https://docs.kakaocloud.com/tutorial/fundamentals/vm-based-web
https://brunch.co.kr/@topasvga/3651
감사합니다.