[OCI] 가상 클라우드 네트워크(VCN) 주요 구성 (Feat. VCN 생성 실습)Cloud/OCI(Oracle Cloud Infrastructure)2024. 6. 16. 19:17
Table of Contents
1. 가상 클라우드 네트워크(VCN, Virtual Cloud Network)
1) VCN
- 소프트웨어적으로 정의된 네트워크인 소프트웨어 정의 네트워크(SDN, Software-Defined Network)로 구현된다.
- 물리 네트워크 외에 서브넷, 라우팅 테이블, 게이트웨이 등의 네트워크 장치들도 물리적인 네트워크가 아닌 소프트웨어적으로 정의된 형태로 구성할 수 있다.
- 리전 레벨의 자원으로 리전 내에서 여러 개의 가용 도메인에 걸쳐 구성(리전 내의 존재하는 모든 가용 도메인을 사용)
→ 가용 도메인 간의 고가용성 및 이중화 구현 가능
2) VCN과 서브넷
- VCN 내에서 네트워크를 더 잘게 나누는 단위인 서브넷을 생성해 사용할 수 있다.
- 서브넷은 특정 가용 도메인을 지정해서 만들 수도 있고, 리전 내의 여러 가용 도메인에 걸쳐 만들 수도 있다.
후자의 경우 해당 서브넷을 리전 서브넷이라고 부른다. - 리전 서브넷(Regional Subnet)은 특정 가용 도메인에 제한되지 않고 리전 내의 가용 도메인 중에서 자동으로 선택되는 서브넷 유형이다.
3) 퍼블릭 트래픽 처리(인터넷 게이트웨이, 로드밸런서)
- VCN 위에 인터넷 게이트웨이를 생성해 인터넷과의 통신이 필요한 퍼블릭 트래픽을 처리하도록 구성할 수 있다. 그리고 로드밸런서를 사용해서 부하 분산을 처리할 수도 있다.
- 로드밸런서 : 클라우드 내의 여러 자원 사이에서 트래픽을 분산해서 성능을 최적화하는 역할을 한다.
- VCN은 온프레미스 데이터 센터와 IPSec VPN(가상 사설망) 또는 전용 고속 사설망을 통해 연결할 수 있다.
4) VCN 주소 범위
- VCN 내에서는 내부적으로 사용되는 169.254.0.0/16 주소 범위를 제외한 다른 주소 범위를 사용할 수 있다.
- 오라클은 10.0.0.0/16, 172.16.0.0/16, 192.168.0.0/16 체계의 프라이빗 IP 주소 사용을 권고한다.
2. 서브넷
- VCN을 더 작게 분할한 하위 네트워크 자원을 나타낸다.
ex) VCN : 10.0.0.0/16, 서브넷 : 10.0.0.0/24, 10.0.1.0/24 - 각 서브넷은 다른 CIDR 블록 범위를 가지며 겹치지 않도록 구성해야 한다.
- 서브넷은 네트워크 트래픽을 어디로 라우팅할지 결정하는 라우트 규칙과 보안 규칙을 설정하는 시큐리티 리스트가 할당되는 단위이다.
→ 서브넷 내의 네트워크 트래픽 경로와 VCN 레벨의 방화벽 규칙을 설정할 수 있다. - 오라클 클라우드 자원들은 자신이 속한 서브넷에서 네트워크 정보(프라이빗 IP, 네트워크 설정 정보)를 받아온다.
- 서브넷은 퍼블릭 IP 주소를 가질 수 있는 퍼블릭 서브넷과 퍼블릭 IP 주소를 가질 수 없는 프라이빗 서브넷으로 구분된다.
- 퍼블릭 서브넷 : 외부 인터넷과 통신이 가능하다.
- 프라이빗 서브넷 : 보안을 강화하고 내부 네트워크 트래픽을 분리해서 관리할 수 있다.
3. 라우트 테이블
- 라우트 테이블은 VCN 내에서 IP 패킷의 전달 경로를 결정하는 데 사용되는 자원이다.
특히 서브넷에서 VCN 외부로(인터넷이나 온프레미스 서버 등으로) 보내려면 라우트 테이블이 필요하다. - 라우트 테이블 내에서는 라우트 규칙을 설정하게 되는데 이는 트래픽을 어떤 타깃으로, 어떤 CIDR 블록으로 보낼지를 정의한다.
- 같은 VCN 내에서 트래픽을 전달하는 경우에는 별도의 라우트 테이블 규칙을 설정할 필요가 없다. 동일 VCN 내의 경로는 기본 값으로 관리된기 때문이다.
4. 시큐리티 리스트
- VCN 내에서 Ingress(수신) 및 Egress(송신) 트래픽에 대한 보안 규칙을 정의하는 자원이다. 오라클 클라우드에서는 인바운드와 아웃바운드라는 용어 대신에 Ingress와 Egress라는 용어를 사용한다.
- 시큐리티 리스트는 서브넷 레벨로 설정되며, 해당 서브넷에 속한 모든 인스턴스는 동일한 보안 규칙을 준수하게 된다.
- Stateful 규칙
- 트래픽을 수신한 후 응답을 추적하므로 수신 규칙과 관계 없이 트래픽이 자동으로 원래 호스트로 돌아갈 수 있다. (상태를 가짐)
- ex) 특정 포트로 들어오는 트래픽에 대한 응답을 허용하는 경우 응답이 원래 요청을 보낸 호스트로 돌아갈 수 있도록 Stateful 규칙을 설정하면 된다
- Stateless 규칙
- 트래픽의 응답을 추적하지 않으므로 별도의 송신 규칙을 지정해야 한다. (상태를가지지 않음)
- 트래픽의 수신과 송신 간의 관련성이 없는 경우에 사용된다.
- ex) 특정 포트로 들어오는 트래픽에 대해 응답을 차단하는 경우 수신 규칙만으로는 응답을 차단할 수 없으므로 송신 규칙을 별도로 정의해야 한다.
5. 인터넷 게이트웨이
- 인터넷 게이트웨이는 VCN 내의 인스턴스가 인터넷과 통신하는 입구 역할을 한다.
- 주로 퍼블릭 서브넷 내의 자원들이 인터넷의 퍼블릭 엔드포인트에 직접 접근할 수 있도록 해준다. 이를 위해 퍼블릭 서브넷 내의 인스턴스들이 퍼블릭 IP 주소를 가져야 한다.
6. NAT 게이트웨이
- 오라클 클라우드에서 무료로 제공되는 NAT 게이트웨이는 인터넷으로부터의 Ingress 연결은 불가하도록 퍼블릭 IP 주소를 부여하지 않고 인터넷으로 나가는 접근을 가능하게 하는 가상 라우터이다.
→ 프라이빗 서브넷 내에 위치한 자원들이 인터넷 접속이 필요한 경우에 사용된다. - ex) 프라이빗 서브넷에 속한 데이터베이스 서버가 소프트웨어 업데이트 등을 위해 인터넷 접속이 필요한 경우
인터넷에서 들어오는 트래픽은 보안상 차단되어야 하지만 데이터베이스 서버는 외부에서 필요한 패키지를 다운로드 하기 위해 인터넷에 접속해야 한다. 이런 경우 NAT 게이트웨이를 통해 인터넷으로 나가는 트래픽을 퍼블릭 IP 주소로 변환해 나가도록 하고, 반대로 인터넷에서 들어오는 트래픽은 차단한다.
7. 서비스 게이트웨이
- OCI 내의 다양한 오라클 클라우드 서비스에 대한 프라이빗 접근을 제공하는 게이트웨이이다. 데이터를 인터넷 게이트웨이나 NAT 게이트웨이에 노출시키지 않고도 VCN 내의 자원들이 특정 오라클 클라우드 서비스에 안전하게 접근할 수 있게 한다.
- VCN 내에서 오라클 클라우드 서비스와의 통신에 사용된다.
VCN 내의 자원들은 오라클 클라우드의 다양한 서비스에 대한 프라이빗 연결을 설정할 수 있으며, 온프레미스에서 오라클 클라우드 서비스에 접근하려는 경우에도 사용된다.
8. 다이나믹 라우팅 게이트웨이
- 오라클 클라우드에서 많이 사용되는 네트워크 자원으로, 여러 리전의 VCN을 연결하거나 온프레미스 네트워크를 프라이빗 네트워크로 연결할 때 사용되는 가상 라우터이다.
- DRG를 사용해서 서로 다른 리전의 VCN을 연결하는 경우 원격 VCN 피어링(Remote VCN Peering)을 추가적으로 설정해야 한다.
- VCN 피어링은 VCN을 연결하는 기능으로 리전 내에서 수행되는 로컬 피어링과 다른 리전 간에 수행되는 원격 피어링이 있다.
9. VCN 생성 실습
[Networking → Virtual cloud networks] 선택
Start VCN Wizard 선택
VCN Wizard를 시작하면 인터넷만 연결할 것인지, VPN까지 설정할 것인지를 선택할 수 있다.
Create a VCN with internet connectivity 선택
VCN name : OCI_DEMO
Compartment : ociexplained(해당 리소스를 배포하려는 컴파트먼트 선택)
생성되는 리소스 자원들 확인
VCN Wizard로 VCN을 생성하는 경우 생성되는 네트워크 리소스 자원
- 퍼블릭 서브넷(10.0.0.0/24)
- 프라이빗 서브넷(10.0.1.0/24)
- 인터넷 게이트웨이
- NAT 게이트웨이
- 서비스 게이트웨이
VCN 생성된 것 확인
security_list_for_private_subnet-OCI_DEMO 이름으로 시큐리티 리스트 생성됨
시큐리티 리스트 인그레스에 22번 포트 통신과 ping 명령 수행을 위한 ICMP 통신이 가능하도록 방화벽 규칙도 추가된 상태로 생성된다.
시큐리티 리스트 이그레스에 모두 허용한 상태로 생성된다.
'Cloud > OCI(Oracle Cloud Infrastructure)' 카테고리의 다른 글
[OCI] 가상 머신 생성 (Feat. ssh-keygen 키 생성) (0) | 2024.06.18 |
---|---|
[OCI] 컴파트먼트(Compartment), 그룹(Group), 유저(User), 정책(Policy) 생성 (Feat. 유저 로그인) (0) | 2024.06.16 |
[OCI] 오라클 클라우드 계정 생성 (Feat. Free Tier 및 2단계 인증) (0) | 2024.06.15 |
[OCI] Oracle Cloud의 기본 사항 (0) | 2024.06.12 |
[OCI] Oracle Cloud에 액세스하는 방법 (0) | 2024.06.11 |
@학슈퍼맨 :: 뭉게뭉게 학수의 클라우드 세상
개인 공부 목적으로 사용하는 블로그입니다 :)
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!