AWS-RouteTable(라우트테이블)

1. route table에 대한 이야기

VPC에서 라우팅테이블 메뉴에서 라우트테이블을 정의할수있습니다.

인터넷게이트웨이를 통해 VPC에 인터넷을 연결했지만

이 인터넷을 어떻게 사용할지라고 생각하면 좀 더 쉽게 이해가 가능합니다.

현재 AWSPublicSubnet1하나만 만들었기에 공용으로 만든 네트워크망내에서는

인터넷이 자유롭게 연결되더라도

AWSPrivateSubnet1을 만든다면 이는 VPC내부에서만 통신이 되던지하여

서브넷별로 나가는 트래픽이 어디로 갈지 정의합니다.

PublicSubnet의 경우 외부로 나갈수도 있고

PrivateSubnet의경우 PublicSubnet이나 다른 PrivateSubnet으로 나갈수있도록 해줍니다.

보안그룹이 들어오는 네트워크를 설정한다면 route table은 나가는 네트워크를 설정합니다.

Resources:
  AWSVPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/16
      Tags:
        - Key: Name
          Value: AWSVPC
  AWSPublicSubnet1:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref AWSVPC
      CidrBlock: 10.0.1.0/24
      AvailabilityZone: ap-northeast-2a
      Tags:
        - Key: Name
          Value: AWSpublicsubnet1
  AWSInternetGateway:
    Type: AWS::EC2::InternetGateway
    Properties:
      Tags:
        - Key: Name
          Value: AWSinternetgateway
  AWSVPCGatewayAttachment:
    Type: AWS::EC2::VPCGatewayAttachment
    Properties:
      VpcId: !Ref AWSVPC
      InternetGatewayId: !Ref AWSInternetGateway

  AWSPublicRouteTable:
    Type: AWS::EC2::RouteTable
    Properties:
      VpcId: !Ref AWSVPC
      Tags:
        - Key: Name
          Value: AWSpublicroutetable
  AWSPublicRoute:
    Type: AWS::EC2::Route
    Properties:
      RouteTableId: !Ref AWSPublicRouteTable
      DestinationCidrBlock: 0.0.0.0/0
      GatewayId: !Ref AWSInternetGateway
  AWSPublicSubnet1RouteTableAssociation:
    Type: AWS::EC2::SubnetRouteTableAssociation
    Properties:
      RouteTableId: !Ref AWSPublicRouteTable
      SubnetId: !Ref AWSPublicSubnet1

2. Route Table - Console(콘솔)

이전 상태인 InternetGateway까지 진행한 상태에서 시작합니다.

VPC 콘솔의 라우팅 테이블로 들어가 라우팅 테이블을 확인해보면

기본 라우팅테이블이 하나 있습니다.

VPC생성시 10.0.0.0/16 으로 CidrBlock을 지정했기때문에 해당 VPC내에서 local 네트워크 라우팅을 기본 적으로 사용하게 됩니다.

이 Route Table을 사용해도 되지만 콘솔과 클라우드포메이션의 학습을 위해 상단에 라우팅 테이블 생성을 눌러줍니다.

이름을 AWSpublicroutetable로 해주고 VPC를 AWSVPC로 선택해줍니다

이는 상단의 Tag인 name KEY의 value 그리고 VpcID와 매칭됩니다. 생성이 되고나면 라우팅에 앞서 만든 인터넷게이트웨를 연결해주고 서브넷도 연결해주면 끝입니다

우선 라우팅에서 라우팅 편집 메뉴를 이용해 0.0.0.0/0 대상으로 인터넷게이트웨이 AWSInternetGateway을 설정하여 모든 IP로 나갈수 있도록 설정해줍니다.

그리고 서브넷 연결로 들어가서 명시적 서브넷 연결이 서브넷 연결 편집 메뉴를 이용해 생성해놨던 AWSpublicsubnet1 서브넷을 체크하여 연결을 저장합니다.

그 후 라우팅 테이블에 잘 생성되었는지 확인하고 학습을 위해 하당 라우팅 테이블을 삭제해줍니다.

이때 AWSInternetGateway는 정리하지 않아도되지만 서브넷 연결은 제거해줘야 삭제가 됩니다.

3. Route Table - cloud formation(클라우드포메이션)

클라우드 포메이션으로 들어가면 이전 템플릿을 수정해 봅니다.

이전 학습에서 배운것에서 큰 차이는 없습니다.

방금 한 콘솔에서 진행한 내용을 이해하며 아래 내용을 넣고 캔버스에서 확인해보면 VPC 하나로 설정된것을 확인할 수 있습니다.

  AWSPublicRouteTable:
    Type: AWS::EC2::RouteTable
    Properties:
      VpcId: !Ref AWSVPC
      Tags:
        - Key: Name
          Value: AWSpublicroutetable
  AWSPublicRoute:
    Type: AWS::EC2::Route
    Properties:
      RouteTableId: !Ref AWSPublicRouteTable
      DestinationCidrBlock: 0.0.0.0/0
      GatewayId: !Ref AWSInternetGateway
  AWSPublicSubnet1RouteTableAssociation:
    Type: AWS::EC2::SubnetRouteTableAssociation
    Properties:
      RouteTableId: !Ref AWSPublicRouteTable
      SubnetId: !Ref AWSPublicSubnet1

업데이트가 완료되면 콘솔에서 설정한 AWSpublicroutetable이 똑같이 생성됨을 확인할 수 있습니다.

4. VPC 등으로 생성해보기

콘솔에서 VPC만 이 아닌 VPC등으로 생성할수있도록 테스트해봅니다.

이는 학습한 내용을 1:1매칭해 보며 본인의 것으로 만들수 있도록 도와줍니다.

해당 VPC 등으로 생성한건 VPC를 삭제할때 함께 삭제됩니다.

Next

  • SecurityGroup

© 2024 Coding Stairs. All rights reserved.