갬미의 성장일기

Day 63 - Cloud network 본문

Cloud/Cloud 공부일기

Day 63 - Cloud network

갬미 2022. 4. 11. 23:03

오늘 배운 내용

- AWS network 

- git 복습

- CICD 준비

 


Cloud network 

VPC는 나만의 격리된 공간이라고 생각하면 된다 (VPC 생성시 선택사항 - region. CIDR)

VM은 VPC안의 서브넷에 위치한다

서브넷 생성시 선택사항 - AZ(=idc 센터), vpc내 cidr

** 만약 나의 계정의 서울리전에 az가 a,b,c,d가 있고 각각 서울, 대전, 대구, 부산이라고 한다면

다른 사람 계정의 서울리전에서는 az a,b,c,d가 각각 대전,부산,서울,대구일 수 있다 (항상 같은 idc을 가르키는것이 아님)

 

vpc, subnet을 만들때 

VPC의 서브넷을 만들때 마법사를 사용하면 public2개 private2개씩 생긴다.

또 2개 이상의 가용영역에 각 public, private가 최소 1개 이상 배치되도록 설정되어있다

--> 직접 설계할때도 ALB를 사용할 생각이라면 (대부분 사용함) 서브넷 생성시 이런식으로 배치하는것이 바람직하다 

- 각각 다른 가용영역의 private or public이 쌍으로 필요하기때문에 

 

서브넷 종류는 두가지가 있다

1. public - 인터넷 게이트웨이가 붙음

2. private - nat 게이트웨이가 붙음 (이게 없으면 outbound가 안됨)

 

인터넷 통신을 위해 라우팅테이블 세팅이 필요하다

라우팅 테이블은 vpc에서 관리하며, 따로 명시되지 않은 서브넷에 적용되는 default routing table이 존재한다

public subnet = rt에 0.0.0.0/0 - internet gateway 연결

private subnet = rt에 0.0.0.0/0 - nat gateway 연결

두 rt를 새로 만들어도 되고 default rt를 수정해서 사용해도 된다

 

nat gateway = 네트워크 주소 변환 서비스 

private subnet의 인스턴스가 VPC 외부의 서비스에 연결할 수 있지만 외부 서비스에서 이러한 인스턴스와의 연결할수는 없음 

 

메가존xGCP 블로그 글이다 GCP 공식 문서를 매끄럽게 해석해놓았다

 

이건 꼭 써봐야 돼 ~ GCP Cloud NAT - Google Cloud 프리미어 파트너 메가존

Google Cloud 프리미어 파트너 메가존 이건 꼭 써봐야 돼 ~ GCP Cloud NAT

gc.hosting.kr

 

nat gateway는 다른망으로 나갈때 다른 사설 ip를 가지고 나가도록 설정할 수도 있다

- 다른 network(ex on prem)와 연결해야하는데 ip가 겹칠때 

 


AWS

접근제어 방식 : SG, NACL, IAM

IAM - 사용자에 대한 제어 : 해당사용자가 eks, ec2등을 만들수 있는지,, 권한

 

일반적으로 접근 제어 방식으로 방화벽(SG, nACL)을 가장 많이 사용

두가지 방식이 있다

1. 인바운드 = 어떤 소스에서 들어오는것을 허용할 것인지 (aws - 허용되지 않은것에 대해서는 전부 차단 정책이 들어감)

2. 아웃바운드 = 어느 목적지로 나가는것을 허용할 것인지 (aws - 허용되지 않은것에 대해서는 전부 차단 정책이 들어감)

 

SG - VM 레벨에 적용하는 방화벽 규칙

inbound: all deny 

outbound: all permit (vm에서 나가는거는 기본적으로 막지 않음)

rule을 정할때 (inbound)

   1. 프로토콜 선택 - tcp, udp, icmp, .... well known port(http)가 아닌이상 소스 port를 지정해줘야 한다

SG - VM, DB, LB .. 만들수있다 --> 최대한 타이트하게 정하고 쓰는게 좋다 (all tcp icmp permit은 절대 안쓴다)

보통 3tier에서는

web LB - 443, 80

web - web LB만

was LB - web만

was - was LB만

DB - was만

--> 각 단마다 다른 sg 가 적용되어야 한다

 

 

AWS 방화벽에 stateful과 stateless가 있음

sg, nacl 차이점

- sg = vm 레벨의 방화벽, stateful 방확벽

- nacl = 서브넷 레벨의 방화벽, stateless 방화벽

 

SG는 stateful 방화벽이다!

stateful정책 

만약 소스 1.1.1.1과 소스 2.2.2.2 VM이 통신하려할때 -> 1.1.1.1이 들어올 수 있도록 2.2.2.2에서 tcp 22번을 열어줘야 한다 (tcp 22 permit)

나가는 정책에 대해서는 들어온 session을 가지고 있기때문에 아웃바운드는 따로 permit 해주지 않아도 된다 = stateful

 

nACL은 stateless 정책을 가진다

- retuen path 까지 고려해서 설정해야한다

- sg와 다르게 특정 ip 대역을 차단할 수 있다 (sg는 허용 규칙만 정할 수있다)

-- 만약 어떤 소스를 가진 공격이 들어온다면 막을수있다

 


CICD 준비

 

1. 클러스터 환경에서 tomcat 3tier가 잘 구동되는지 확인하기

-- private클러스터를 만들었을때 인터넷이 되지 않는 이슈가 발생한다면

--> Cloud NAT를 설정해주어야 한다

 

오늘의 회고

  • 오전에는 cicd실습을 위해 지금까지 했던 코드중 잘 돌아가는 버전을 git에 업로드하고 그김에 git도 살짝 복슴하였다 
  • 오후에는 aws 네트워크부분을 알려주셨는데 그동안 많이 헷갈렸던 sg, nacl을 정리할 수 있어서 좋았다

 

'Cloud > Cloud 공부일기' 카테고리의 다른 글

Day 65 - CICD  (0) 2022.04.13
Day 64 - Cloud network IAM, CICD  (0) 2022.04.12
Day 62.5 - AWS 3tier 구성하기  (0) 2022.04.11
Day 62 - GCP 2tier (LB, Autoscaling)  (0) 2022.04.08
Day 62 - GCP 3tier , AWS 2tier  (0) 2022.04.07
Comments