일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Babel
- javascript
- Redis
- phpredis
- React
- Machine Learning
- mariadb
- Backbone.js
- Node
- laravel
- nodejs
- docker
- SQL
- python
- deep learning
- 기초 수학
- php
- linux
- For
- webpack
- nginx
- Go
- CentOS
- NCP
- Switch
- fastapi
- Redux
- AWS
- 블레이드 템플릿
- rabbitmq
- Today
- Total
개발일기
NCP(Naver Cloud Platform) - Network 정리 본문
VPC (Virtual Private Cloud)
현재 한국, 싱가포르 리젼에서만 서비스 제공
공용 클라우드 환경에서 사용할 수 있는 고객 전용 사설 네트워크
- 전용 네트워크 사용
- 다양한 네트워크 토폴로지 : VPC 내부에 Public, Private Subnet 생성하여 네트워크 환경 조성 가능
- 강력한 보안 : ACG(서버 단계의 접근), Network ACL(Subnet 단계의 접근)을 통해 네트워크 접근 제어
- 외부 네트워크와 보안 통신 : Cloud Connect와 IPSec VPN 사용 가능
- VPC간 통신 : VPC Peering을 통해 다른 VPC와 통신 가능. 내부 네트워크로 통신하기에 효율성 증가
- VPC생성시, 이름은 3~30자. IP 주소 범위는 10.0.0.0/16, 172.16.0.0/16, 192.168.0.0/16 중에서 선택
- Subnet생성시, CIDR /24는 249개, /25는 121개, /26은 57개의 IP 사용 가능
- 서버의 Inbound / Outbound를 제어하는 ACG와 Network ACL 둘다 같은 규칙으로 설정 권장
- Public Subnet : CIDR를 10.0.0/24로 설정. 최대 256개의 IP 사용 가능. 각각 공인 IP를 1개씩만 연결 가능(1:1 NAT)
- Private Subnet : CIDR를 10.0.024로 설정. 최대 256개의 IP 사용 가능. 인터넷에서 수신되는 트래픽을 허용하지 않지만 NAT Gateway를 추가하면 인터넷으로 트래픽 송신이 가능
Network ACL
Network ACL을 통해 서브넷의 접근을 제어하고 서브넷 내 통신은 ACG로 제어
- 자동 생성된 Network ACL은 삭제되지 않음
- 1개 이상의 서브넷에 적용 중인 경우 삭제되지 않음
Deny-Allow Group
다수의 IP 그룹으로, Network ACL의 인바운드, 아웃바운드 규칙을 설정할 때, 접근 소스와 목적지 대상으로 이용
- VPC 1개당 최대 4개의 Deny-Allow Group 생성 가능
- Deny-Allow Group을 사용중인 Network ACL이 존재할 경우, 삭제는 불가능. 삭제를 하기 위해서는 Network ACL에서 해당 그룹을 삭제한 후 진행
VPC Peering
인터넷 통신을 거치지 않고 비공인 IP를 통해 내부 네트워크로 다른 VPC와 통신하는것
동일한 리전에서만 통신이 가능하며 단방향 통신만 가능하다. TCP 등의 양방향 통신이 필요한 경우 2개의 VPC Peering을 생성해야 한다. 또한 Peering된 VPC를 통해 외부 네트워크로의 통신은 불가능
*Route Table에서 VPC Peering을 Target으로 지정한 경우, Route Table 규칙을 먼저 삭제해야 VPC Peering 삭제 가능
Route Table
VPC 내 리소스의 네트워크 경로를 정의.
- 모든 서브넷마다 1개의 라우트 테이블이 적용된다. 다른 여러개의 서브넷이 동일한 라우트 테이블과 연관되어 질 수 있음
- 공인 Route Table : Public Subnet과 연관. 인터넷 통신을 위한 IGW규칙과 VPC 내부 통신을 위한 LOCAL 규칙이 자동 추가
- 사설 Route Table : Private Subnet과 연관. VPC 내부 통신을 위한 LOCAL 규칙이 자동 추가
*VPC 생성시 자동으로 생성되는 Default Route Table은 삭제 불가능
- 각 서브넷은 한개의 Route Table만 적용 가능. 새로운 Route Table에 해당 서브넷을 설정하면 기존의 적용된 관계는 자동으로 삭제
- 연관 서브넷 목록에 있는 서브넷을 삭제하면 해당 서브넷에는 Default Route Table이 자동으로 적용
- 연관 서브넷을 설정한 Route Table과 자동으로 생성된 Default Route Table은 삭제 불가능
VPW(Virtual Private Gateway)
VPC에 위치한 게이트웨이로 온 프레미스 네트워크를 Cloud Connect / IPSec VPN으로 연결하는 접점
- 모든 VPW Group은 Default Private Gateway를 지정하여 Route 설정
- 하이브리드 클라우드 구성 가능
- 이중화하여 2개의 IPSec VPN 터널 또는 IPSec VPN과 Cloud Connect 터널을 조합하여 사용 가능
- 하나의 회선을 여러 VPC와 공유하여 사용 가능. CIDR가 중첩되면 통신 불가능
- 각 계정당 VPW는 3개까지 생성 가능
- VGW Group은 다른 계정의 VGW를 포함하여 3개까지 추가 가능
- 연관된 IPSev VPN, Cloud Connect가 없는 상태에서 삭제 가능
Public IP
VPC 내에 서버를 생성한 후, 해당 서버에 접속하기 위한 공인 IP를 할당받을 수 있다. Internet Gateway가 연결된 서브넷만 공인 IP를 신청 가능
이미 서버에 할당된 공인 IP는 반납 불가능. 서버에서 할당 해제한 후에서 공인 IP 반납 가능
CIDR
- Classful Addressing
- 인터넷상의 IP 주소를 규격화된 크기로 구분하는 방식
- IP주소를 클래스별로 규격
- Classless Routing
- 클래스 구분 없이 비트 단위로 주소를 부여하는 체계
Load Balancer
- NAT, DR, Proxy
- NCP는 Proxy 방식을 이용하는중
- 스케줄링 방식
- Round-Robin
- Least-Connection
- Source Hash
- Weighted Least
- Weighted Round Robin 등
Application Load Balancer
HTTP, HTTPS를 사용하는 웹 어플리케이션에서 구성이 가능. 고정 IP를 제공하며 URL 기반 분기가 가능하고 3가지 알고리즘을 제공
- Private IP : 내부 서버로부터의 부하 분산 처리. VPC 외부에서는 접근 불가
- Public IP : 외부 또는 인터넷에서 호출될 수 있도록 Public IP로 설정되어 부하 분산 처리. 임의의 도메인을 이용하여 도메인과 CDN 서비스와 연결하여 활용가능
- 한번 설정된 Public IP는 고정되어 사용할 수 있으며 변경은 불가능
- Default 규칙은 삭제 불가능. 새로 만든 규칙에 Default 규칙이 포함된 경우 해당 규칙을 삭제할 수 없다
- 규칙을 삭제해도 액션이 설정된 Target Group은 삭제되지 않고 존재
Network Load Balancer
대용량 TCP 레이어 부하 분산 처리에 특화. 클라이언트 IP를 그대로 로깅하며 Round Robin, Hash의 2자기 알고리즘 제공
- 보다 고성능으로 분산 처리를 하기 위해 DSR(Direct Server Return)로 동작
- 서브넷을 변경할 수 없다. 서브넷 변경이 필요한 경우, 로드밸런서를 새로 생성해야함
- 규칙을 추가하거나 삭제할 수 없음
Network Proxy Load Balancer
Proxy 방식의 통신을 제공하며 ALB와 동일한 알고즘을 제공
- 로드 밸런서 생성시 하나의 Zone과 Subnet을 선택한 경우에만 추가할 수 있고, 그 이외에는 서브넷을 추가하거나 변경할 수 없다
- 규칙을 추가하거나 삭제할 수 없음
- 리스너를 삭제하려면 해당 로드밸런서가 현재 운영중이여야 삭제가 가능
TCP 레벨 고성능 분산처리 - Network LoadBalancer : 초당 연결 수 기준 최소 10만개에서 최대 40만개까지 성능을 보장. 최적화된 분산처리 성능 제공. 트래픽 분배만 수행하고 고객 서버에서 직접 응답하는 DSR을 구현
TCP 세션 관리 - Network Proxy LoadBalancer : 프록시 방식의 통신을 제공하여 세션 유지가 필요한 TCP 기반 애플리케이션에 이용가능. Application LoadBalancer와 동일하게 부하 분산 알고리즘 적용가능
SSL 인증 및 암호화 설정 - Application Load Balancer / Network Proxy LoadBalancer : 웹 기반 콘솔에서 SSL 인증서 추가 가능. SSL 프로토콜 중 가능한 버전을 선택하여 사용할 수 있으며 적용된 SSL Ciphers 설정 가능
다양한 서버 부하 분산 방식 - Application LoadBalancer / Network Proxy LoadBalancer : Rount Robin, Least Connection, Source IP Hash 등의 방식을 제공
NCP Load Balancer Health Check
- 6초마다 확인
- 3회 연속으로 OK 또는 Error가 뜨면 바인딩 혹은 언바인딩
접속 정보로 도메인 정보를 제공
- 따라서 DNS에는 CNAME으로 등록해야함
- 하지만 Zone Apex에 대해서는 RFC1033과 같이 등록 불가
기본적으로 로드 밸런서 하나를 생성하면 HAProxy가 2개 생성됨
제약사항
- 한 서버가 여러개의 LB에 바인딩 될 수 있지만 포트별 멀티 바인딩은 지원하지 않음
- 최대 50대 서버 바인딩 가능
DNS
- 도메인에 대해 IP로 변환하는 서비스
- 트리구조로 구성
- NCP DNS
- A, NS, PRT 등 다양한 레코드 타입 지원
- 외부 도메인 등록 기관에 네임서버를 NCP 네임서버로 지정한 경우에 사용 가능
- 도메인 등록시 NCP DNS에 등록하는데 최대 15분 소요
- 입력 가능 항목
- 레코드명
- 레코드 타입
- TTL
- 레코드 값
Global DNS
기존에 서비스하던 DNS가 Global DNS로 재탄생
DNS 레코드 종류는 SOA, A, AAAA, NS, PTR, CNAME, MX, SPF, TXT, SRV, CAA레코드가 존재
SOA레코드는 도메인마다 반드시 기술되어야 하며 기본적으로 등록되기에 추가 및 수정이 불가능
A레코드는 도메인 네임을 IPv4주소로 매핑
- Global DNS의 TTL은 기본이 300초로 설정됨 최대 7일까지 설정이 가능
- 별칭 기능 사용이 가능하여 동일한 레코드에 대해 별칭 설정이 가능
- 다수의 레코드 타입을 최대 10개까지 추가 가능
NAT Gateway(Network Address Translation) 네트워크 주소 변환
비공인 네트워크가 속한 여러개의 호스트가 하나의 공인 IP주소를 사용하여 인터넷에 접속하는 방법을 뜻한다
이러한 NAT을 처리해주는 Gateway를 NAT Gateway라고 한다
- 내부 리소스와 공인 IP가 1 : 1 로 매칭되는 구조가 아니기 때문에 외부 네트워크에서 내부 리소스로 직접 연결은 불가능
- 각 Zone마다 NAT Gateway를 1개씩 생성 가능
- Private Subnet과 다른 Zone에 위치한 NAT Gateway를 이용해 통신하는 경우, 다른 Zone에서 비공인 IP를 이용한 트래픽에 해당하는 요금이 부과됨
- 다른 서비스에서 NAT Gateway를 사용하고 있어도 NAT Gateway를 삭제 가능. 하지만 이 경우에는 해당 서비스가 장애가 발생할 수 있음
- Route Table에서 NAT Gateway를 타겟으로 지정한 경우, Route Table 규칙을 먼저 삭제해야 NAT Gateway도 삭제 가능
- 생성에 필요한 정보
- NAT Gateway를 통해 통신할 내부 서버
- NAT Gateway 공인 IP
- NAT Gateway와 통신할 외부 IP(Peer IP) - Peer IP는 대역으로 설정할 수 없음
- Peer향 비공인 IP
GRM(Global Route Manager)
DNS 기반으로 글로벌 트래픽을 안정적으로 로드밸런싱하는 상품
- Round Robin, Weighted, GeoLocation, Fail Over 4가지 로드 밸런싱 타입을 제공
- 리소스타입은 IP와 Domain이 존재
- IP : Server 상품과 연계 가능. 외부 Public IP 입력 가능. Health Check 가능
- Domain : Load Balancer 상품과 연계 가능. 외부 Domain 입력 가능. Health Check는 불가능
- Health Check는 60, 180, 300초 중 선택 가능하며 기본은 60초
- DNS 기반으로 로드 밸런싱
- 글로벌 환경에서 지역별 트래픽 분산
- LB와 다른점은 LB가 리전에 국한된다면 GRM은 리전에 국한되지 않고 로드밸런싱
IPSec VPN
Legacy 인프라와 NCP간 사설 네트워크 연결을 위한 망VPN
IPSec VPN은 외부 네트워크와 NCP VPC간 인터넷망을 통해 흐르는 트래픽을 암호화하고, 가상 터널을 만들어 사설 네트워크와 같은 연결성을 제공하는 서비스를 뜻한다
사설망과의 연결을 위해 사용하는 가상터널을 IPSec으로 암호화하여 보호하는 것을 IPSec VPN이라고 한다
- VGW와 VGWG이 생성되어 있어야 사용 가능
- VGWG는 IPSec VPN, Cloud Connect의 집합. 본인, 다른 사용자 계정이 소유한 VGW와 공유 가능
- IPSev VPN Tunnel은 VPN Gateway당 10개까지 추가 가능
- Remote Network는 최대 20개까지 추가 가능
설정 자동화 : 상품 신청 후, 별도의 대기시간 없이 IPsec VPN 서비스 이용가능
가상 터널링 암호화 : 표준 IPSec 프로토콜로 암호화된 가살 터널링을 통해 외부의 네트워크 → NCP 내부의 네트워크로 안전한 접속을 보장
필요 설정 사항
- NCP내 서버들은 Private Subnet으로 구성되어야 함
- Gateway는 192.186.x.1
- 서버들에서 라우팅 설정이 필요
IPSec VPN Tunnel 생성 및 수정
- 암호화와 인증 설정을 할 때 온프레미스 IPSec VPN 장비와 동일한 값으로 설정해야함
- IPSec Proposal은 터널링에 사용하는 암호화 설정으로써 지원하는 알고리즘은 DESC, 3DES, AES-128, AES-192, AES-256 알고리즘을 지원. DH-Group은 대칭기 교환 알고리즘으로 1, 2, 5를 지원. Hash는 인증 정보가 변질되지 않음을 증명하기 위한 알고리즘으로 MD5, SHA1, SHA256 알고리즘을 지원. LifeTime은 새로운 키를 생성하는 주기로 최대 3600초까지 설정 할 수 있다. 만약 0으로 설정한 경우, 키를 새로 갱신하지 않는다.
SSL VPN
사설망과의 연결을 위해 사용하는 가상 터널을 SSL 암호화로 보호하는 것을 SSL VPN이라고 한다. 가상 터널을 IPSec으로 보호하면 IPSec VPN이 된다.
Cloud Connect : NCP의 IaaS 자원과 외부 네트워크 구간을 통신사에서 제공하는 전용 회선으로 연결하기 위한 접점을 뜻함. 전용 회선을 이용하면 보다 안정적인 속도를 유지하고 외부 보안에도 안전하게 이용 가능
- 최소 50Mbps부터 최대 10Gbps까지 대역폭 제공
- 연결 전용 회선의 이중화 지원
참고 사이트 :
https://guide.ncloud-docs.com/docs
https://www.edwith.org/ncloudprofessional
'자격증 > NCP' 카테고리의 다른 글
NCP(Naver Cloud Platform) - AI / Application 정리 (0) | 2022.11.18 |
---|---|
NCP(Naver Cloud Platform) - Security 정리 (0) | 2022.11.18 |
NCP(Naver Cloud Platform) - Compute 정리 (0) | 2022.11.15 |
NCP(Naver Cloud Platform) - Storage정리 (0) | 2022.11.15 |
NCP(Naver Cloud Platform) - Database 정리 (0) | 2022.11.15 |