GDSC HUFS 3기/Cloud Computing

[AWS] AWS 네트워크

darly213 2022. 5. 12. 22:37

이 글은 AWS Lambda로 시작하는 서버리스를 참고하여 작성하였습니다.

작성자 : 강다인

1. Amazon VPC

AWS Lambda는 네트워크 설정을 Amazon VPC(Virtual Private Cloud)로 구성한다. 이는 사용자가 정의하는 IP 주소 범위 선택, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성 등 가상 네트워킹 환경을 의미한다.

유사한 VPN(Virtual Private Network)는 ‘가상 사설망’으로, 네트워크 구성 시에 보안상의 이유로 접근망을 가상으로 구성하는 것을 말한다. 예를 들어 VPN이 없는 환경에서 연결할 수 없는 두 사무실이 각각 인터넷을 쓴다고 했을 때, VPN을 도입하면 두 사무실이 연결될 수 있다.

VPC는 클라우드에서 VPN의 역할을 한다. VPC를 도입하지 않으면 서버들끼리 복잡하게 연결되게 되고, 각 서버별로의 네트워크 관리가 필요해지며, 서버 한 대를 추가할 때 복잡하게 연결해야한다.

VPC는 네트워크를 그룹화하여 관리한다!

VPC 별로 네트워크를 구성하고, 각각 다른 설정을 구성할 수 있다.

2. 서브넷

VPC를 구성하면 한 번 더 나눠서 서브넷을 구성한다. 주소 범위는 Amazon VPC IP 주소 범위 이내에서 구성된다. VPC의 부분집합이라고 보면 쉽다.

VPC가 논리적인 범위라면 서브넷은 그 안에서 리소스가 실제로 생성되는 네트워크이다.

인터넷과 연결이 필요한 리소스는 퍼블릭 서브넷을, 그렇지 않은 리소스는 프라이빗 서브넷을 사용한다.

3. 라우팅 테이블(Routing Table)

라우팅 테이블은 서브넷과 연결된 리소스다. 네트워크 요청이 있으면 라이팅 테이블로 접근하고, 라우팅 테이블은 네트워크 목적지에 대한 일종의 이정표이다. 다만 말 그대로 안내서라서 직접 연결은 안된다. 연결을 위해 인터넷 게이트웨이가 필요하다.

4. 인터넷 게이트웨이(Internet Gateway)

VPC는 격리 네트워크 환경이기 때문에 인터넷 연결이 불가능하다. 따라서 VPC에서 생성된 리소스들을 인터넷에 연결하기 위해 인터넷 게이트웨이가 필요하다.

서브넷을 퍼블릭으로, 라우팅 테이블에 IP 범위를 넣어놓으면 0.0.0.0/0(모든 로컬 주소를 받을 수 있는 IP)로 인터넷 게이트웨이에 타겟에 해당하는 정보가 존재한다면, 라우트로 접근하는 네트워크들을 라우터 테이블에서 정의한 범위 네의 타겟으로 이동시키고, 매칭되는 범위가 없다면 게이트웨이를 통해 이동한다.

5. 네트워크 ACL(Network Access Control List)

네트워크 요청을 규칙에 따라 주고받는 트래픽을 제어하는 가상 방화벽이며, 다수의 서브넷에서 재사용이 가능하다.

6. 보안 그룹(Security Group)

가상 방화벽 역할을 한다. 네트워크 ACL과의 차이점은 보안 그룹은 인스턴스 앞에서 트레픽을 제어하고, 네트워크 ACL은 서브넷 앞에서 트래픽을 제어한다는 것이다.

인스턴스 접근까지 서브넷 바깥에서는 네트워크 ACL이, 서브넷 안 인스턴스 밖에는 보안 그룹이 있는 것이다. Amazon VPC에서는 인스턴스 시작 시에 최대 5개의 보안 그룹과 연결할 수 있도록 되어 있다. 서브넷 안에 있는 여러 개의 인스턴스를 각각 다른 보안 그룹으로 구성하는 것도 가능하다.

7. 피어링(Peering)

VPC와 VPC를 연결할 때 VPC 피어링을 통해서 연결할 수 있다. 피어링은 프라이빗 IPv4 혹은 IPv6 주소를 통해 VPC 간에 네트워크 전송을 라우팅한다. 같은 네트워크에 있지 않은 VPC 인스턴스끼리 통신할 수 있고, region이 달라도 별도의 네트워크 Apliance 없이 VPC 리소스가 프라이빗 IP 주소로 통신할 수 있다.