본문 바로가기

Jenkins

AWS EC2를 사용하여 Jenkins 구축하기(12)

반응형

입맛대로 VPC환경구성


  1. 입맛대로 VPC환경구성

    1. VPC 설치 및 구성
      1. 알아야 할 것
        1. VPC
          1. 하나의 VPC의 최대 크기는 16 즉 2^(32-16) = 65536개의 IP를 사용할수 있습니다.
          2. CIDR의 범위를 지정하는데 특별한 제약은 없지만 인터넷에 연결되는경우 문제가 발생할수 있습니다.예를들면 8.8.8.8/16을 CIDR블록으로 지정한다면 이 VPC에서 8.8.8.8/16 로 접속하는 것은 VPC내부로 라우트 됩니다.하지만 이  IP는 인터넷에서 사용할수 있는 IP입니다.해서 이 VPC에서는 8.8.8.8/16에 접근하는 것이 불가능합니다(ex 8.8.8.8/16이 구글이라면 구글에 접속이 안되고 내부망으로만 접속이됨)따라서 인터넷 연결이 필요한경우 사설망 대역을 사용해야 됩니다.사설망 대역은 <10.0.0.0/8>, <172.16.0.0/12>,  <192.168.0.0/16> 가 있습니다.
          3. VPC는 독립된 네트워크 이기 때문에 CIDR가 같거나 겹치더라도 생성이 가능합니다.하지만 다수의 VPC를 함꼐 사용하는 경우 IP대역이 겹치면 문제가 발생하기 떄문에 환경을 구축할 때는 VPC제약사항들을 충분히 이해해야 합니다.기본 VPC CIDR 블록은 172.31.0.0/16입니다.
        2. 서브넷
          1. VPC는 다시한번 CIDR블록을 가지는 단위로 나눠집니다.
          2. 하나의 VPC는 N개의 서브넷을 가질수 있습니다.
          3. 서브넷의 최대 크기는 VPC의 크기(VPC와 동일한 크기의 하나의 서브넷만 생성도 가능)
          4. 서브넷의 넷마스크 범위는 16~28을 사용할수 있습니다.
        3. 라우트 테이블
          1. 서브넷과 연결되어 있는 리소스.목적지를 찾기 위해 만든 이정표라고 생각하면 됩니다.
          2. 라우트 테이블은 VPC에도 연결되어 있고 서브넷과도 연결되어 있습니다.
          3. 자동 생성 라우트 테이블에는 한가지 룰이 정의되어 있습니다.VPC의 CIDR블록을 목적지로 하는경우 타깃이 local인 규칙.따라서 CIDR블록이 이 네트워크 안에 있으면 VPC내부에서 찾습니다.인터넷에 견결하거나 다른VPC와 통신하려면 라우트 테이블에 라우트 규칙을 추가적으로 정의해야 됩니다.
        4. 인터넷 게이트웨이
          1. VPC 기본적으로 격리되 네트워크 환경입니다따라서 VPC에서 생성된 리소스들은 기본적으로 인터넷을 사용할 수가 없습니다인터넷에 연결하기 위해서는 인터넷 게이트웨이가 필요합니다. 라우팅 테이블에 인터넷 게이트웨이를 향하는 적절한 규칙을 추가해주면 특정 서브넷이 인터넷과 연결됩니다하지만 서브넷과 인터넷 게이트웨이를 연결하는 것만으로는 인터넷을 사용할  없습니다인터넷을 사용하고자 하는 리소스는 퍼블릭 IP 가지고 있어야합니다.
        5. 네트워크 ACL
          1. AWS의 보안그룹과 같은 개념입니다.AWS보안그룹 는 인스턴스 앞단에서 트래픽을 제어하는 가상기술인 반면 네트워크ACL은 서브넷 앞단에서 트래픽을 제어하는 역할.
      2. VPC 생성
        1. AWS 콘솔에서 서비스찾기 ->vpc입력->vpc클릭
           
        2. VPC 대시보드->VPC클릭
           
        3. VPC 생성 클릭
           
        4. 이름태그 및 설정하고자 하는 IPv4 CIDR블록을 설정하고 생성합니다.
           
        5. 생성된 VPC를 확인합니다
           
          1. 그림에서 DNS 호스트 이름 항목이 비활성화 되있습니다.이 기능은 VPC 내부에서 생성되는 인스턴스에 퍼블릭 DNS 호스트네임을 할당해주는 기능입니다.따라서 다음과 같이 활성화 시켜줍니다
            1. 해당VPC 마우스 우클릭 ->DNS 호스트 이름 편집
               
            2. 활성화 체크 ->저장
               
            3. 활성화 확인
               
            4. 위 처럼 VPN을 생성하면 기본적으로 라우팅 테이블,DHCP옵션 셋,ACL,시큐리티 그룹이 함께 생성됩니다.
    2. 서브넷 생성
      1. 서브넷->서브넷 생성버튼 클릭
         

         
        위 생성되어 있는 서브넷은 기본VPC에 따라 생성된 Subnet입니다.따라서 새로 생성한 VPC의 서브넷을 지정해줍니다.
      2. 태그와 VPC,가용영역,CIDR 블록을 설정해줍니다.
        1. 10.0.0.0~10.10.0.255까지 사용을 원하기 때문에 10.0.0.0/24를 지정해줍니다.
          1. 서브넷의 할당가능 IP는 상황에 맞고 최대한 넉넉하게 준비해 주는 것이 좋습니다.
        2. 여기서 중요한 것은 가용영역입니다.가용영역은 제가 미국 오하이오로 생성을 했고 오하이오의 가용영역은 a,b,c 세개로 나눠져있습니다.이것을 의미하는 것은 가상으로 분리되어있기도 하지만 물리적으로도 데이터센터가 다릅니다.따라서 한 개의 가용존이 문제가 생기면 다른 한 개의 가용존을 사용하면 되므로 되도록 2개이상의 가용존을 전제로 네트워크를 설계하는 것이 좋습니다.
           

           
        3. Us-east-2a를 가용 영역으로 선택하여 생성합니다.
        4. 같은 방법으로 us-east-2b, CIDR는 10.0.1.0/24로 하나더 생성합니다..
    3. EC2 생성 및 테스트.
      1. EC2를 생성할 때 Network란에서는 앞서 생성한 VPC를 지정해주고 서브넷또한 지정해서 생성해주면 해당 VPN 및 서브넷을 사용하는 EC2가 생성이 됩니다.
    4. VPC에 인터넷 게이트웨이 연결.
      1. VPC 대시보드 ->인터넷 게이트웨이 ->인터넷 게이트웨이 생성버튼 클릭
         
      2. 다음과 같이 설정
         
      3. 새로 생성된 게이트웨이는 아무것도 연결되어 있지 않습니다.따라서 VPC 및 라우팅 테이블을 연결시켜줘야 합니다.
         
        1. 작업->VPC 에 연결 클릭
           
           
           
        2. 사용가능한 VPC로 앞서 설정한 LinegamesVPC를 설정해주고 인터넷 게이트웨이 연결을 클릭합니다.
           
    5. 라우팅 테이블이 인터넷 게이트웨이를 가리키게 설정.
      1. 라우팅 테이블->앞서 자동생성된 라우팅테이블 선택->라우팅->라우팅 편집 클릭
         
      2. 라우팅 추가 클릭
        1. 대상으로는 0.0.0.0/0으로 지정하고 두번째 대상으로는 앞서 만든 게이트웨이로 지정합니다(internet Gateway->LineGamesInternetGateway)
           
        2. 첫번째 대상은 VPC CIDR범위의 접근에 대해서 VPC내부로 라우트 하는 것이고 두번째 규칙은 그외의 모든 IP접근은 인터넷 게이트웨이로 라우트하라는 뜻입니다.
    6. 여기까지 진행했다면 기본 세팅은 완료되었습니다.따라서 EC2접속도 가능할 것입니다.

 

반응형