NETWORK
Classic/VPC(Virtual Private Cloud)
NCP에서는 크게 Classic과 VPC를 나누어 제공한다. 앞의 포스팅에서도 얘기했지만 VPC는 사설 네트워크이고 Classic은 NCP에서 관리하는 네트워크 망이다. AWS의 경우 네트워크를 VPC로만 제공하고 있으며 NCP도 classic은 줄여나가는것같다(는 내생각).
VPC(Virtual Private Cloud)
사설 네트워크망으로 다른 네트워크와 완전히 분리되어 있다. Subnet을 활용하여 VPC내부의 공간을 쪼개어 사용 가능하다.
- NCP에서는 계정당 3개의 VPC생성이 가능하다.
- RFC1918에 명시된 3개의 IP주소 대역을 제공한다 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
- VPC Peering으로 VPC간의 연결이 가능하다.(내 vpc끼리도, 다른 계정의 vpc와도 연결 가능)
Subnet
VPC 네트워크 대역 공간을 세분화해서 사용하는 것이다. IP를 아끼기위해 사용되는 방식이다. NAT Gateway용 서브넷을 두어 외부 인터넷과 통신할 수 있도록 한다.
- VPC 당 최대 200개 subnet 생성 가능
- Public Subnet과 Private Subnet으로 나눠진다. Public은 서버만 만들 수 있으며 공인ip할당 가능하다. Private은 서버나 로드밸런서용으로 가능.
* NAT Gateway: Private Subnet사용 시 외부와 연결이 필요할 때 사용.
NACL(Network Access Control List)
Subnet 단위 방화벽이다. default값이 전체 allow이다(화이트리스트 블랙리스트방식 모두 지원). 우선순위에 따른 적용이 가능하다.
ACG
Server 단위 방화벽이다. default값이 deny이기 때문에(화이트리스트 방식), 필요한 대역은 열어두어야 한다. 우선순위가 없다.
Virtual Private Gateway
On-premise환경과 VPC환경을 연결할 때 IPsec VPN이나 Cloud Connect를 활용한다. 이때 VPC와 IPsec VPN이나 Cloud Connect를 연결할 때 사용되는 것이 Virtual Private Gateway이다(하이브리드 클라우드 구축).
Route Table
VPC내에서 동작하는 라우팅 기능. 외부와의 연결이나 내부 사설 통신간의 흐름을 제어한다.
Load Balancer (중요)
서버 앞단에서 부하분산을 위해 트래픽을 나눠주는 역할과 서버 Health Checking 기능 제공.
Target Group
로드밸런싱 요청을 처리할 대상을 묶어놓은 그룹(동일 VPC내의 서버들끼리 그룹 생성 가능). 한 서버를 여러 타겟그룹에 위치할 순 있지만 한 타겟그룹을 여러 로드밸런서에 연결할 수는 없다.
로드밸런싱 알고리즘
1. Round Robin(default): 순서대로 1개씩 서버에 분배하는 방식
2. Least Connection: 클라이언트 연결이 가장 적은 서버에게 우선 분배.
3. Source IP Hash: 해시테이블 값을 가지고 이를 토대로 분배
로드밸런서 종류
1. Application LB: 네트워크 7계층의 7계층(application layer)에서 동작(?). HTTP/S프로토콜 사용. URL기반 분기 가능. 3가지 알고리즘 모두 제공
2. Network LB: DSR(Direct Server Return)방식을 사용한다. TCP 프로토콜. Client IP가 그대로 로깅. RR, Hash알고리즘만 제공.
클라이언트 -> (로드밸런서) -> 실제 서버(1, 2, 3)
위와 같은 형태에서 서버의 response가 로드밸런서를 거치지 않고 바로 클라이언트로 가는 방식이다.
3. Network Proxy LB: DSR방식을 사용하지 않고 중간에 proxy가 껴있다. Proxy_TCP 프로토콜
클라이언트 <-> 로드밸런서(proxy) <-> 실제 서버(1,2,3)
프록시가 중간에 껴있어 클라이언트와 실제 서버는 서로에게 감춰지기 때문에 보안이 더 좋고 세션이 유지된다.
로드밸런서 생성 후 설정 가능 내용
- 로드밸런싱 알고리즘, Sticky Session, Proxy Protocol
Keep Alive & Connection Idel Time
- On: 메모리가 충분하고 컨텐츠 서비스의 경우 (블로그 사용시 다른 컨텐츠를 계속 읽기 때문에 메모리에 대기시켜두는 그런..)
- Off: 메모리가 충분하지 않고 계속 머물지 않는 서비스의 경우 (search engine사용시 바로 다른 사이트로 연결시켜주는 그럴떄..)
CDN+ / GCDN (Content Delivery Network)
대규모 파일 이나 컨텐츠 배포시 활용. 랜덤 도메인(*.ntruss.com)을 쓰거나 보유 도메인 사용 가능. HTTP/S프로토콜 지원. 웹서버 배포시의 대규모 트래픽에 대응하기 위한 상품
CDN+ 주요 옵션
- Cashing(캐싱): 사용자에 의해 요구되는 콘텐츠를 빠르게 제공하기 위해 캐시서버에 저장하는 것
- cache miss: 캐시 서버에 요청 콘텐츠가 없는 경우(원본 서버로 접근)
- cache hit: 캐시서버에 저장된 콘텐츠 전달
- cashing expiry: 캐시 서버에 캐싱된 콘텐츠가 원본 서버에서 변경되었는지 확인하는 주기 (너무 짧게 지정하면 원본 부하가 늘어남)
- purge: 캐시 서버에 저장된 콘텐츠 삭제
- 압축설정: 압축하여 콘텐츠를 전달하여 응답속도 개선
- 사용자 별 프라이빗 컨텐츠에 대한 엑세스 권한 제한 방법
1) Secure Token을 이용한 다운로드 허용 시간 제한
2) Referrer 설정을 통한 인가된 요청만 컨텐츠 딜리버리
- CDN+와 GCDN 동시에 이용하고자 하면 GRM을 이용해 해외트래픽을 분산
IPsec VPN(Virtual Private Network)
Layer3 (네트워크계층)에서 고객 사내망과 NCP간의 사설 통신 제공. 양방향 둘 다 IPSEC이 있어야 가능하다.
SSL VPN
Layer7 (어플리케이션계층)에서 사설네트워크(집..?)와 NCP간의 사설통신 제공. 한쪽만 SSL이 있어도 통신 가능.
'NCP' 카테고리의 다른 글
[NCP] Storage (0) | 2022.07.04 |
---|---|
[NCP] Storage 용어 및 개념정리 (0) | 2022.07.04 |
[NCA(naver cloud associate)] Network 용어정리 (0) | 2022.07.01 |
[NCA(naver cloud associate)] container, kubernetes (0) | 2022.06.29 |
[NCA(naver cloud associate)] Compute (0) | 2022.06.28 |