갬미의 성장일기
Day 55 - 3tier 구성하기, VPC Peering, CronTab 본문
오늘 배운 내용
- 지금까지 배운 내용으로 3tier 구성하기
- VPC Peering
- CronTab
+ 프로젝트를 진행할때 다음과 같은 순서로 진행하는것이 좋다
- 작업 조건 명시
- 구성도
- (프로젝트 작업)
미니 과제1
- GKE에서 3tier를 구성하며 nfs-server(Web log DB)는 다른 VPC를 만들어 그곳에 프라이빗 인스턴스로 구성한다
- nfs-server와 nginx는 vpc peering 을 맺어 ig 통신을 할때보다 저렴하고 안전하게 통신하도록 한다
- 사용자가 http로 접속했을때 https로 redirection 가능하도록 한다 (보안)
- 이때 인증서는 google cert를 사용하지 않고 사설인증서를 사용한다
작업 조건
GCP | AWS |
vpc - front subnet 1-1. name : front-s1 1-2. region: us-central1 1-3. CIDR: 172.16.100.0/24 vpc - gy subnet 1-1. name : gy-s1 1-2. region: us-central1 1-3. CIDR: 10.10.102.0/24 1-4. VM: nfs-server |
vpc 1. name: backend 2. CIDR: 10.111.0.0/16 subnet1 1-1. name : db 1-2. AZ : us-west-1 1-3. CIDR: 10.111.0.0/24 1-4. EC2: DB subnet2 2-1. name : bastion 2-2. AZ : us-west-1 2-3. CIDR: 10.111.1.0/24 2-4. EC2: Bastion Host |
구성도
VPC Peering
VPC가 다르면 인터넷을 통해 공인 ip로 통신 가능하지만 사설 ip로는 통신이 불가능하다
이때 VPC와 VPC간 peering을 맺을 수 있다
인터넷 망을 이용했을때 보다 VPC peering을 이용하면 비용이 90% 정도 절감되고 보안이 더 철저해짐
VPC peering은 계정에 상관없이 VPC끼리라면 모두 가능하다 (단, IP가 중복되면 안됨)
단 gpc와 aws vpc간 peering은 안됨! peering은 같은 벤더간에 가능한거다
오늘 조금 헷갈렸던 사항은 사설 tls를 사용할때 먼저 secret을 만들어야 했는데 그것을 안할뻔 했다 !
미니 과제2
과제1에 추가 기능을 구현한다
- nginx log를 5분 간격으로 backup file로 저장한다
- backup file은 object storage와 연동하여 자동으로 이곳에 저장되도록한다
object storage에 백업파일을 저장하기 위해
1. object storage 만들기
2. nfs server에 object storage 마운트 하기
Object starage 만들기
Cloud storage 탭으로 이동 > Backet create
nfs server에 object storage 마운트 하기
1. fuse 설치하기 (fuse = 마운트 시켜주는 툴)
https://github.com/GoogleCloudPlatform/gcsfuse/blob/master/docs/installing.md
sudo tee /etc/yum.repos.d/gcsfuse.repo > /dev/null <<EOF [gcsfuse] name=gcsfuse (packages.cloud.google.com) baseurl=https://packages.cloud.google.com/yum/repos/gcsfuse-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=0 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF sudo yum install gcsfuse |
2. 마운트
mkdir /os gsutil ls # 버킷명 확인 gcsfuse gymin /os |
기존 3tier에 크론잡을 추가한다
그 후 nfs-server에서 crontab을 추가한다 (주기적으로 os 백업 - linux crontab 이용)
# /work/backup.sh 생성
mkdir work
vi /work/backup.sh
###
#!/bin/bash
mv /log/backup*.* /os
###
chmod +x /work/backup.sh
crontab -e
# 추가
*/1 * * * * /work/backup.sh
crontab 지우는 방법
crontab -r
오늘의 회고
- 소스코드나 캡쳐를 여기 올리기에는 너무 많아서,, 이제 소스코드는 깃허브에 올리려고 한다
- 까먹을 것 같은 내용은 틈틈히 문서로 만들어 놓고 있는데 이것도 같이 올릴예정이다~
'Cloud > Cloud 공부일기' 카테고리의 다른 글
Day 57 - full container 3tier 구성하기 (2) | 2022.03.31 |
---|---|
Day 56 - 3tier 구성하기, StatefulSet (2) | 2022.03.30 |
Day 54 - 3tier 구성하기, NAT gateway (2) | 2022.03.28 |
Day 53 - Bastion host, BGP, VPN (0) | 2022.03.25 |
Day 52 - k8s secret, k8s PV, PVC (0) | 2022.03.24 |