brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Nov 02. 2020

8탄-2. 2주차-AWS 예약 주소 알아보기

AWS에서  예약 IP를 알아보자

/24 IP를 받으면 5개는 예약으로 사용되어 251 IP만 사용 가능하다.

VPC 한번에 코드로 만드는 Cloudformation을 알아보자



<1> AWS  예약 IP 주소

<2>  VPC  네트워크 이해

<3>  CloudFomation으로 VPC 만들기

<4>  실습




<1> AWS  예약 IP


1

서브넷이 /24 일 때 사용 가능한 IP 주소는?

256 - 5 = 251개


서브넷에서는 5개 IP 주소가 예약되어 있습니다.  

10.0.0.0: 네트워크 주소.  

10.0.0.1: AWS에서 VPC 라우터용으로 예약한 주소.  

10.0.0.2: AWS에서 예약한 주소 DNS 서버의 IP 주소, 기본 VPC 네트워크 범위에 2를 더한 주소.   

10.0.0.3: AWS에서 앞으로 사용하려고 예약한 주소.  

10.0.0.255: 네트워크 브로드캐스트 주소. VPC에서는 브로드캐스트를 지원하지 않으므로, 이 주소를 예약

https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/VPC_Subnets.html


ip 중  두 번째가 dns ip이다.

more resolv.conf  하면

Dns ip주소가 x.x.x.2번 으로 2번째 ip가 dns로 설정되어 있다.


2

인터넷이 되는지 확인하는 ping test

ping google.com

ping 1.1.1.1





<2>  VPC  네트워크 이해


1

VPC를 만들면  가상 라우터가  생긴다.

가상 라우터!!!

EC2등이 통신할때 처음에 가상 라우터로 보내진다.


VPC를 만들면  로컬 라우팅 테이블이 생긴다.

예를 들어 10.0.0.0/16



2

서브넷 단위로 라우팅 테이블을 매칭 한다.

서브넷 단위로 라우팅 테이블을 변경할 수 있다.

public인지 ,  priavte인지  구분하는 것은 라우팅 테이블로 구분하는 것이다.

서브넷이 어떤 라우팅 테이블로 매칭 하느냐에 따라 Public 인지 , Private 인지 구분한다.


3

EC2에서 인터넷으로 접속 시  동작 순서

EC2는  -->  가상 라우터 --->  NAT 게이트웨이-------> 인터넷 게이트웨이 ---> 인터넷 사이트 접속한다.


traceroute www.google.com -q 3

3번씩  트레이스 해서  정보를 확인하자


4  

VPC 기초  보기

https://www.stackchief.com/tutorials/AWS%20VPC%20Tutorial


5

TGW는 멀티캐스트 지원함.

https://docs.aws.amazon.com/ko_kr/vpc/latest/tgw/tgw-multicast-overview.html


6

VPC내부에서는 브로드 캐스트와 멀티캐스트가 동작하지 않음.

GCP , Azure도 동일하게 지원하지 않음.



7

내 공인 IP 확인하기

EC2접속

curl ipinfo.io

curl ipinfo.io/ip

curl ipinfo.io/loc

위도를 구글 지도에 입력해보자. 위치를 알 수 있다.


curl https://json.geoiplookup.io/1.1.1.1

위도를 구글 지도에 입력해보자. 위치를 알 수 있다.



8

AWS는 ARP동작은 어떻게 하나요?

매핑 서버를 통해 처리

https://www.youtube.com/watch?v=3qln2u1Vr2E



9

방화벽 장비 등 이중화 구성은?

여러 편법을 통해 이중화 구성한다.

EIP, 2차 인터페이스 IP로 처리하는 방법

람다로 처리하는 방법






<3>  CloudFomation으로 VPC 만들기


콘솔로 만들 수 있지만, CloudFomation으로 한 번에 만들 수 있다.


1

생성되는 것

VPC

public  subnet 1

private subnet 1



2

CloudFomation 템플릿 내용


AWSTemplateFormatVersion: 2010-09-09

Description: Deploy a VPC


Resources:

  VPC:               #   리소스 중 VPC를 만든다.

    Type: AWS::EC2::VPC

    Properties:

      CidrBlock: 10.0.0.0/16

      EnableDnsHostnames: true

      Tags:

      - Key: Name

        Value: game VPC


  InternetGateway:           #   리소스 중 인터넷 게이트웨이를 만든다.

    Type: AWS::EC2::InternetGateway

    Properties:

      Tags:

      - Key: Name

        Value: game Internet Gateway


  AttachGateway:      #   리소스 중 인터넷 게이트웨이  연결을 만든다.

    Type: AWS::EC2::VPCGatewayAttachment

    Properties:

      VpcId: !Ref VPC

      InternetGatewayId: !Ref InternetGateway


  PublicSubnet1:        #   리소스 중  public1 서브넷을 만든다.

    Type: AWS::EC2::Subnet

    Properties:

      VpcId: !Ref VPC

      CidrBlock: 10.0.0.0/24

      AvailabilityZone: !Select

        - '0'

        - !GetAZs ''

      Tags:

        - Key: Name

          Value: Public Subnet 1


  PrivateSubnet1:       #   리소스 중  private1 서브넷을 만든다.

    Type: AWS::EC2::Subnet

    Properties:

      VpcId: !Ref VPC

      CidrBlock: 10.0.1.0/24

      AvailabilityZone: !Select

        - '0'

        - !GetAZs ''

      Tags:

        - Key: Name

          Value: Private Subnet 1


  PublicRouteTable:    #   리소스 중  라우팅 테이블을  만든다.

    Type: AWS::EC2::RouteTable

    Properties:

      VpcId: !Ref VPC

      Tags:

        - Key: Name

          Value: Public Route Table


  PublicRoute:              #   리소스 중  라우팅  0.0.0.0/0을  public라우팅을 추가한다.

    Type: AWS::EC2::Route

    Properties:

      RouteTableId: !Ref PublicRouteTable

      DestinationCidrBlock: 0.0.0.0/0

      GatewayId: !Ref InternetGateway


  PublicSubnetRouteTableAssociation1:         #    public   서브넷 라우팅 테이블을 연결한다.

    Type: AWS::EC2::SubnetRouteTableAssociation

    Properties:

      SubnetId: !Ref PublicSubnet1

      RouteTableId: !Ref PublicRouteTable


  PrivateRouteTable:              #   리소스 중  private 라우팅 테이블을 만든다.

    Type: AWS::EC2::RouteTable

    Properties:

      VpcId: !Ref VPC

      Tags:

      - Key: Name

        Value: Private Route Table


  PrivateSubnetRouteTableAssociation1:       #    private  서브넷 라우팅 테이블을 연결한다.

    Type: AWS::EC2::SubnetRouteTableAssociation

    Properties:

      SubnetId: !Ref PrivateSubnet1

      RouteTableId: !Ref PrivateRouteTable


Outputs:

  VPC:

    Description: VPC

    Value: !Ref VPC

  AZ1:

    Description: Availability Zone 1

    Value: !GetAtt

      - PublicSubnet1

      - AvailabilityZone




<4>  실습


https://brunch.co.kr/@topasvga/1171



https://brunch.co.kr/@topasvga/1170



https://brunch.co.kr/@topasvga/1172



https://brunch.co.kr/@topasvga/1196


https://brunch.co.kr/@topasvga/1205



다음

3주차

https://brunch.co.kr/@topasvga/1316



감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari