👆🏻 최종 성공 화면
위 화면을 출력하기 위해서 AWS VPC 및 서브넷과 그 외 필요한 것을 설정하는 방법을 알아보자!

⚠️ 주의 : 실행 중간중간 캡처해서 기록한 것이 아니라 캡처본이 설명하는 단계보다 뒷 상태일 수 있음

1. VPC 생성 및 설정 확인

  1. AWS VPC 에 접속

    1. 난 아무것도 안 했는데 이미 VPC 가 있다고 해서 당황하지 않아도 된다. 원래 계정 생성하면 자동으로 default VPC 가 생성된다.
  2. 대시보드 or VPC 에서 ”VPC 생성” 버튼 클릭

  3. VPC 설정

    • 생성할 리소스 : VPC만
    • 이름
    • IPv4 CIDR : 10.0.0.0/16
    • IPv6 : 기본 설정
    • 테넌시 : 기본

    그냥 연습용이라 이렇게 한거지 설정은 각자 상황에 맞게 하면 된다.

  4. ”VPC 생성” 버튼 클릭

  5. 생성 완료

VPC 를 생성하면 라우팅 테이블, 기본 NACL, 기본 보안그룹(SG) 이렇게 3개가 자동 생성된다.

2. 서브넷 생성

하나의 VPC에 public 과 private 서브넷 1개 각 하나씩 생성하는 것이 기본이고

우리는 가용성을 위해 Multi AZ를 해야하므로 public 과 private 서브넷을 2개씩 생성한다. Multi AZ 를 하면 이슈 발생 시 커버가 가능하다.

  1. AWS 서브넷에 접속

  2. ”서브넷 생성” 버튼 클릭

  3. 서브넷 설정

    • 이름
    • 가용 영역 : 생성한 vpc의 a
    • IPv4 CIDR 블록 : 10.0.0.0/24

    그냥 연습용이라 이렇게 한거지 설정은 각자 상황에 맞게 하면 된다.

  4. ”서브넷 생성” 버튼 클릭

  5. 생성 완료

위는 public 서브넷 설정이고 private 서브넷을 설정할 때는 IPv4 CIDR 을 10.0.1.0/24 로 설정해주어야 한다. 중복이 안 돼서 똑같이 쓰면 오류 발생

➡️ 자동 할당 활성화 시키기
서브넷 설정 편집 → 자동 할당 IP 설정 [퍼블릭 IPv4 주소 자동 할당 활성화]

3. 라우팅 테이블 생성

명시적 연결이 없는 서브넷은 모두 default 라우팅 테이블에 연결되므로 이걸 각 서브넷에 연결해줄거다.

  1. 라우팅 테이블 생성
    • 이름
    • VPC 선택 : 내가 생성한 vpc
  2. 라우팅 편집 → 서브넷 연결 편집
    • 내가 원하는 서브넷과 연결
    • 연결 저장

4. IGW 생성

VPC는 단 하난의 Internet Gateway 만 생성 가능하다. 그러니까 간단하게 하나만 만들어주고 직접 붙여주자.

  1. IGW 생성
  2. VPC 연결

5. 라우팅 테이블 편집

생성한 서브넷 중 public 만 방금 생성한 IGW 와 연결되도록 라우팅 테이블을 수정할거다.

우리가 VPC 생성 시 추가한 트래픽은 로컬이기 때문에 private 로 접근할 수 있지만 로컬을 제외한 다른 모든 트래픽은 IGW 로 보내버린다.

내가 설정한 트래픽 - 10.0.0.0/16, 다른 모든 트래픽 - 0.0.0.0/0

  1. 라우팅 편집
  2. 라우팅 추가
    • 대상 : 인터넷게이트웨이 - 내가 생성한 igw

6. EC2 생성

  1. 인스턴스 시작

  2. 인스턴스 설정

    • 이름
    • 네트워크 설정 편집
      • VPC, 서브넷, 기존 보안 그룹 : default
  3. 인스턴스 상태 Available 로 변경될 때까지 대기

    인스턴스 상태가 Available 로 변경되지 않고 계속 대기중 일 때
    보안 그룹의 인바운드 규칙 때문이다.
    소스가 걸려있으면 외부 접속이 안 되기 때문에 소스 삭제 + 인바운드 규칙 추가로 원하는 대로 편집

나는 SSH(22) 만 오픈해서 연결할 것이기 때문에 위와 같이 설정해주었다. 상황에 따라 유형을 변경해서 사용하면 된다.

7. 인스턴스에 연결 후 확인하기

실행 중인 인스턴스를 오른쪽 상단 연결 버튼을 통해 연결시켰다.

그리고 ping google.com 을 입력하면

끝.

profile
KAU SW 3rd

0개의 댓글

Powered by GraphCDN, the GraphQL CDN