ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS VPC 개념 정리
    amazon web service 2014. 4. 21. 21:00
    반응형
    Virtual Private Could
    • 사용자만의 가상 사설 네트워크를 구성할수 있게 해주는 서비스.
    • 서비스 이용에 추가 비용은 없음.
    • security group에서 outbound 관련 제한 설정도 가능함. vpc가 아닌 경우에는 inbound만 설정 가능함.
    • VPC내부에 여러개의 subnet을 구성할 수 있음. 
    • ec2 인스턴스에 사설 ip를 직접 지정할 수 있음.

    • 2013년 12월 4일 이후 생성된 AWS계정은 EC2-VPC만 이용할수 있음. AWS에서 자동으로 기본 VPC를 만듬.
    • 2013년 3월 18일 이전에 생성된 AWS계정은 EC2-Classic과 EC2-VPC를 같이 이용할 수 있음. 
    • 2013년 3월 18일부터 12월4일 사이에  생성된 계정은 region에 따라서 EC2-VPC만 사용할수도 있고 EC2-Classic까지 같이 사용할수도 있음.

    VPC 구성요소


    Network Interfaces
    • 기본적으로 인스턴스마다 VPC 대역내의 사설IP가 할당된 network interface가 있음.
    • 사용자가 ENI(Elastic Network Interface)를 추가할 수 있음.
    • 기본 사설IP외에 추가적인 사설IP를 가질수 있음.
    • eth0으로 이용하는 network interface에 한개의 자동할당된 공인 IP를 이용할 수 있음.
    • 사설IP하나당 Elastic IP를 가질수 있음. 
    • 하나이상의 security group을 가질수 있음.
    • MAC 주소가 있음.
    • ENI를 다른 인스턴스에 재할당할 수 있음. 이때 ENI에 할당된 설정들이 ENI를 따라감.


    IP Addresses
    • VPC내부에 있는 인스턴스에 사설IP와 공인IP를 할당할수 있음.
    • primary private IP와 public IP가 NAT를 통해서 매핑되어 있음.
    • 필요하면 secondary private IP를 할당할 수 있음. 
    • public IP는 고정이 아니라 변경될 수 있음. 고정 public IP를 사용하려면 elastic IP를 이용해야 함.
     
    Subnet
    • 하나의 VPC안에 여러개의 subnet 존재가능.
    • 하나의 subnet은 하나의 zone내부에만 구성가능함. 하나의 subnet이 여러개의 zone에 걸쳐서 구성될 수 없음.
    • default subnet은 public 서브넷임. default subnet을 사설 서브넷으로 변경 가능함.
    • VPC는 암시적인 라우터를 가지고 있음.
    • VPC는 자동으로 메인 라우팅 테이블을 가지고 있고, 이 라우팅 테이블은 사용자가 변경가능함.
    • route table을 추가할수도 있음.
    • 각 subnet은 라우팅을 조절하는 route table에 연결되어 있어야 한다. 따로 명시하지 않으면 메인 라우팅 테이블과 연결됨.
    • 각 route는 목적지 CIDR과 target을 명시해야 한다.


    Route table
    • 네트워크 트래픽을 라우트(route)하는 규칙들을 가지고 있음.
    • 각 subnet마다 route table이 있음. 여러 subnet이 동일한 route table을 가질 수 있음.

    InternetGateway
    • VPC가 기본생성되었을때는 인터넷에 연결이 안되어 있음.
    • VPC에 Internet gateway를 연결해줘야지 VPC내부 인스턴스들에서 인터넷으로 접근할 수 있음.


    NAT Instances
    • 사설 subnet에 있는 인스턴스들은 인터넷에 접근할수 없지만 사설 subnet에서 접근할 수 있는 NAT(Network Address Translation)용 인스턴스를 public subnet에 만들어서 사설 subnet에 있는 인스턴스들은 인터넷에 접근할 수 있고, 인터넷에서는 사설 subnet의 인스턴스들도 접근하지 못하게 할 수 있음.
    [접근 방법]
    사설 subnet에 있는 인스턴스들에서 나가는 트래픽은 우선 라우트 테이블로 가게되고 라우트 테이블은 그 트래픽들을 NAT로 보냄. 
    그러면 NAT는 그 트래픽들을 인터넷게이트웨이로 보내서 외부통신이 가능하게 됨. 인터넷에서 들어오는 트래픽은 NAT 인스턴스를 통해서 사설 subnet으로 가게 됨.
    NAT인스턴스는 ec2 인스턴스 생성할때 community AMIs에 있는 Amazon Linux용 AMI중에서 NAT 관련한 AMI를 이용하여 생성하면 됨.
    NAT 인스턴스가 만들어지면 management console에서 우클릭해서 “Change Source/Dest. Check”메뉴를 선택해서 disable해 주어야함. ec2 인스턴스는 기본적으로 source, destination을 확인하는데, 이걸 확인하지 않도록해서 source나 destination이 자기자신이 아닌 트래픽을 주고받을수 있게 해줌.


    DHCP options set
    • DHCP(Dynamic Host Configuration Protocol)은 TCP/IP 네트워크 상의 호스트에 설정 정보는 전달할때의 표준을 제공함.
    • DHCP 메세지의 options 필드는 도메인 이름, DNS, netbios-node-type같은 파라메터들을 포함하고 있음.


    Security group
    • EC2 인스턴스에 직접 연결되서 인바운드, 아웃바운드 트래픽을 조절할수 있는 방화벽.
    • allow 규칙만 설정가능함.
    • VPC당 100개까지만 생성할수 있고, 하나의 security group에는 50개까지의 룰만 설정가능함.
    • 인스턴스 하나에 5개까지 security group을 설정할 수 있음.
    • stateful한 방화벽


    network access control list (ACL)
    • 서브넷에 연결되어서 인바운드/아웃바운드 트래픽을 조절할 수 있는 방화벽.
    • allow, deny 규칙 설정가능함.
    • stateless한 방화벽. 그렇기 때문에 ephemeral port를 직접 열어줘야 함.
    • 규칙에 대한 번호가 있어서 작은 번호부터 정해진 순서대로 규칙이 적용됨. 
    • 최대 32766개의 규칙순서가 있고, AWS 기본권장은 규칙번호를 정할때 100단위로 정하는 것임.


    virtual private gateway
    • AWS에 있는 VPN 커넥션. 
    • AWS VPC와 외부 사용자가 이용하고 있는 내부 네트워크 간의 연결에 이용

    customer gateway
    • VPN 커넥션에 사용되는 사용자측 물리적 장비나 소프트웨어
    • AWS VPC와 외부 사용자가 이용하고 있는 내부 네트워크 간의 연결에 이용

    VPC 를 구성하는 핵심 요소들





    Dedicated Instances
    • 일반적인 EC2 인스턴스들은 다른사용자와 하드웨어 자원을 공유하지만 VPC안에서 dedicated 옵션을 이용하면 전용 하드웨어를 이용할 수 있음.
    • VPC에 강제로 전체 설정할수도 있고, 필요한 EC2 인스턴스에만 지정하게 할수도 있음.
    • 몇몇 AWS 서비스에는 적용할수 없음. ex) RDS, EBS

    VPC Peering
    • 2개의 VPC간에 사설IP를 이용해서 통신가능하게하는 커넥션.
    • 같은 region안에 있는 다른 AWS 계정에 속한 VPC들을 같은 네트워크에 있는것으로 인식하게 함.

    반응형

    댓글

Designed by Tistory.