본 포스팅은 환경 구축이 주목적입니다.
여기서 구축해볼 환경은 아래와 같다.
public EC2와 private RDS로 분리된 환경을 만들 것이다.
VPC(Amazon Virtual Private)는 무엇일까?
AWS은 원래 단일 네트워크라고 한다.
거대한 원룸에서 전세계인들과 같이 사는 거다. 내 프라이버시는 존중받기 힘들다..
그래서 필요한 것이 VPC다.
VPC는 원룸에 가벽을 설치하는 것이다. 만들기 쉽고 옮기기도 쉽고 없애기도 쉬운데다가 내 공간을 확실하게 보장받을 수 있다.
물론 VPC는 논리적으로 격리된 공간을 제공한다. 투명...벽..?^^..
VPC는 거대한 네트워크 속 격리된 네트워크
AWS는 꽤 친절한 집주인이므로 계약만 하면 기본 가벽을 제공해준다.
VPC 생성
1. AWS에 접속한 후 vpc를 검색한다.
2. 왼쪽 메뉴에서 vpc를 선택한다.
3. 우측 상단에 있는 VPC 생성을 선택한다.
4. 빈칸을 채워주고 VPC 생성 선택
이름 태그는 찾기 쉽게 원하는 이름으로 써준다.
5. 다시 VPC 메뉴로 돌아가서 방금 만든 VPC를 선택하고 DNS 호스트 이름 편집으로 들어가서 호스트 이름 활성화에 체크해준다.
이제 VPC와 라우팅 테이블이 생성되었다.
VPC 생성만으로는 아무것도 못한다.
이제 서브넷을 만들자.
서브넷 생성
서브넷은 실제로 ec2, rds같은 리소스가 생성되는 네트워크
논리적으로 격리된 공간인 VPC 안에 물리적인 공간인 서브넷을 만들어야한다.
public 서브넷과 private 서브넷 두 개의 서브넷을 만들 것이다.
public은 EC2와 연결할 것이고 private은 RDS와 연결하여 사용하여 외부에서 DB로 접근하는 것을 차단할 예정이다.
1. 좌측 메뉴에서 서브넷을 클릭한다.
2. 우측 상단에서 생성 버튼을 누른다.
3. 위에서 생성했던 VPC를 선택한다.
4. public 서브넷과 private 서브넷을 생성한다.
새 서브넷을 누르면 한번에 두개의 서브넷을 생성할 수 있다.
IP와 가용 영역을 다르게 써야하니 주의하자.
인터넷 게이트웨이 연결
서브넷을 만들었으니 인터넷 게이트웨이를 연결해야 한다.
인터넷에 연결하기 위해 인터넷 게이트웨이가 필요하다.
1. 좌측 메뉴에서 인터넷 게이트웨이를 선택하고 우측 상단에 있는 생성을 선택한다.
2. 이름 태그를 입력해주고 생성을 누르자
이름은 일관성 있는 단어로 통일하는 것이 찾기 쉽다.
3. VPC와 연결하자
IGW를 만들고 나면 확인 화면 상단에
이런 문구가 뜬다. VPC 연결을 선택하자.
만약 찾지 못했다면 인터넷 게이트웨이 메뉴로 다시 들어가서 방금 만든 IGW를 선택하고 우측 상단에서 작업을 누른 뒤 [VPC에 연결]을 선택하자.
4. 연결할 VPC를 선택하고 연결을 누른다
라우팅 테이블
다음은 라우팅 테이블이다.
라우팅 테이블은 라우팅 경로를 가지고 있다. 마치 지도와 같다. 패킷의 네비게이션..
라우팅 테이블도 public, private 각각 해줘야 한다.
1. 라우팅 테이블 메뉴에 들어가서 생성 선택
2. public 라우팅 테이블 생성
3. 설정 추가
방금 만든 라우팅 테이블을 선택하고
[라우팅] 탭에서 [라우팅 편집] 선택 후 라우팅 추가 선택
인터넷 게이트웨이를 추가하고 저장
[서브넷 연결] 탭에서 [서브넷 연결 편집] 선택
public 서브넷 선택 후 저장
4. 프라이빗 라우팅 테이블 생성
여기에는 인터넷 게이트웨이를 연결하지 않는다.
5. 프라이빗 서브넷과 프라이빗 라우팅 테이블 연결 후 저장
보안 그룹
마지막으로 보안 그룹을 설정해준다.
보안 그룹에서는 인스턴스의 네트워크 트래픽을 설정할 수 있다.
1. [VPC 좌측 메뉴] - [보안 그룹] - [보안 그룹 생성] 을 선택한다.
위에서 생성한 VPC의 기본 보안 그룹도 존재하고 있는 걸 볼 수 있다.
2. 세부 정보를 입력한다.
이름과 설명은 본인이 알아보기 쉽게 입력하고 VPC는 위에서 생성했던 VPC를 선택한다.
3. 인바운드 규칙을 설정하고 생성
외부에서 ssh를 통해 EC2 인스턴스에 접속하기 위해 허용해줘야 한다.
소스에서 내 IP를 선택하면 현재 내 IP에서만 인스턴스에 접속이 가능하다.
어디에서나 접속하려면 위치 무관을 선택하자.
웹 서버를 위한 HTTP도 열어주고 원한다면 사용자 지정 TCP를 선택하여 원하는 포트를 적어줘도 된다.
4. 위와 동일한 방법으로 RDS를 위한 보안 그룹을 생성해준다.
VPC 생성시 함께 만들어진 default 보안 그룹을 사용하여도 상관은 없다.
이 보안 그룹은 RDS를 위해 사용되므로 3306 포트만 열어준다.
사용자 지정 옆의 빈 공간을 누르면 앞서 추가한 퍼블릭 보안 그룹이 나타난다. 선택해주자.
이렇게해서 웹 서버는 DB를 이용할 수 있다.
네트워크 분리 설정은 여기까지다.
이제 EC2와 RDS를 생성할 때 사용하면 된다.
✨다음 글✨
AWS를 이용하여 배포 환경을 구축해보자 2 - EC2부터 ssh 접속까지 (tistory.com)
'AWS' 카테고리의 다른 글
AWS를 이용하여 배포 환경을 구축해보자 번외1 - EC2에 Spring boot 프로젝트 배포하기(수동 배포) (1) | 2021.03.06 |
---|---|
AWS를 이용하여 배포 환경을 구축해보자 3 - RDS 생성부터 character set 설정까지 (0) | 2021.02.28 |
AWS를 이용하여 배포 환경을 구축해보자 2 - EC2부터 ssh 접속까지 (0) | 2021.02.27 |