5. Azure VM에서 Internet에 접속할 때 일어나는 일
공용 IP가 부여된 VM의 경우
VM 내부 --> NIC --> NSG --> subnet-VNet --> NAT --> FW --> 공용 인터넷
공용 IP가 부여되지 않았지만, 공용 LB와 연결된 VM의 경우
VM 내부 --> NSG --> 공용 LB (SNAT 수행) --> subnet-VNet --> NAT --> FW --> 공용 인터넷
공용 IP가 부여된 VM의 경우
1. VM 내부에서 출발
- VM 내부의 애플리케이션이나 서비스가 외부 인터넷으로 데이터를 보내기 위해 요청을 생성한다.
- EX) 웹 브라우저가 웹 페이지를 요청할 때.
2. 네트워크 인터페이스 카드 (NIC)
- 요청된 데이터는 VM의 NIC를 통해 외부로 전송된다.
- NIC는 VM과 외부 네트워크 간의 인터페이스 역할을 한다.
3. 네트워크 보안 그룹 (NSG)
- 데이터는 NSG의 아웃바운드 규칙을 통과한다.
- 여기서 특정 포트와 프로토콜에 따라 트래픽이 허용되거나 차단된다.
- EX) HTTP 요청(Port 80)이 허용되는지 확인한다.
4. 서브넷 및 가상 네트워크 (VNet)
- 데이터는 VM이 속한 서브넷을 통해 이동한다.
- 서브넷은 VNet 내의 논리적 구획이다.
- VNet 내에서 라우팅 테이블에 따라 데이터가 올바른 경로로 이동한다.
- 기본 라우팅 규칙이나 사용자 정의 라우팅 규칙이 적용된다.
5. NAT 게이트웨이
- 데이터는 NAT 게이트웨이를 통해 공용 IP 주소로 변환된다.
- NAT 게이트웨이는 여러 VM이 하나의 공용 IP 주소를 공유해 인터넷에 접속할 수 있게 한다.
6. Azure 방화벽 (선택사항)
- Azure 방화벽이 설정되어 있다면 데이터는 방화벽 규칙을 거친다.
- 특정 트래픽만 허용하거나 차단하는 규칙이 적용된다.
7. 인터넷 서비스 제공자(ISP) 네트워크
- 데이터는 Azure 데이터 센터를 떠나 ISP의 네트워크로 이동한다.
- 이제부터는 공용 인터넷을 통하여 목적지로 이동한다.
퍼블릭 IP를 부여 받지 못한 VM이 퍼블릭 LB와 연결된 경우, 인터넷에 접속
1. VM에서 트래픽 생성
- VM에서 인터넷으로 나가는 트래픽이 생성 된다.
- ex) VM에서 외부 API를 호출하거나 데이터를 전송할 때 발생한다.
2. NSG (Network Security Group)
- 트래픽이 NSG 규칙을 통과한다.
- NSG는 특정 포트와 프로토콜에 따라 트래픽을 허용하거나 차단할 수 있다.
- ex) 아웃바운드 규칙이 TCP 포트 80을 허용하도록 설정되어 있다면, HTTP 트래픽이 허용된다.
3. 퍼블릭 로드 밸런서
- 트래픽이 퍼블릭 로드 밸런서로 전달된다.
- 로드 밸런서는 트래픽을 인터넷으로 보내기 전에 SNAT(Source Network Address Translation)를 수행한다.
- SNAT
- 로드 밸런서는 VM의 프라이빗 IP 주소를 로드 밸런서의 공용 IP 주소로 변환한다.
- 이를 통해 외부에서 응답을 받을 때 로드 밸런서의 공용 IP 주소로 응답이 돌아오게 된다.
4. 서브넷 및 가상 네트워크 (VNet)
- 트래픽이 서브넷과 VNet을 통해 이동한다.
- 트래픽은 서브넷과 VNet의 라우팅 규칙을 따른다.
5. NAT 게이트웨이
- 서브넷에 NAT 게이트웨이가 구성되어 있는 경우, 트래픽의 사설 IP 주소를 공용 IP 주소로 변환해 인터넷으로 나가는 트래픽을 처리한다.
6. Azure 방화벽 (선택사항)
- 트래픽이 방화벽을 통과한다.
- 방화벽은 트래픽을 필터링하고, 보안 규칙에 따라 허용하거나 차단한다.
7. 인터넷 서비스 제공자(ISP) 네트워크
- 데이터는 Azure 데이터 센터를 떠나 ISP의 네트워크로 이동한다.
- 이제부터는 공용 인터넷을 통하여 목적지로 이동한다.