[AWS] 가비아 도메인과 Route53 연결하기

정지용·2022년 1월 14일
0

이전 글에서 대충 AWS 초기 세팅은 끝났다고 생각했다.
하지만...

RDS 인스턴스에 접속하려니까 안된다. 로딩도 엄청 오래걸리고 연결이 안된다고만 한다. 엔드포인트는 맞는거 같고... 그런데 엔드포인트를 확인하다 보니 내가 가비아에서 산 도메인을 아직 엮지 않았다는걸 확인했다.

AWS Route 53

도메인을 엮으려고 하다보니 조금 답답한 부분이 생겼다. Route53에서 도메인을 사고 관리하는게 싫어서 가비아에서 구매했던 것인데 결국 Route 53을 사용하는게 편한가보다.

엥? 가비아에서 도메인을 샀는데 왜 Route 53에서 하는거지?

Route 53이란?

Route53은 도메인 등록 및 구매, DNS 등록, 트래픽 관리 및 모니터링 등의 기능을 제공한다.
사실 나는 Route 53이 그냥 다른 도메인 관리 사이트처럼 구입한 도메인만 관리가 가능한줄 알았다. 그런데 이제보니 아니었다. 아니면 내가 이 부분에서 지식이 모자란게 아닌가.

Route 53에 Domain Name 등록하기

아무튼 구입한 도메인을 Route 53에서 등록하려고 한다.

일단 AWS 콘솔의 Route 53 대시보드에서 DNS 관리 하단의 호스팅 영역을 확인한다.

호스팅 영역이란 레코드의 컨테이너이며, 레코드에는 특정 도메인(예: example.com)과 그 하위 도메인 (acme.example.com, zenith.example.com)의 트래픽을 라우팅하는 방식에 대한 정보가 포함됩니다. 호스팅 영역과 해당 도메인의 이름은 동일합니다.
호스팅 영역 작업, 개발자 안내서(Amazon Route 53)

호스팅 영역에 들어가면 생성하는 버튼이 바로 보일것이다. 호스팅 영역을 생성해준다.

본인이 구매한 도메인 이름을 적어주고 생성하면 된다.

도메인 이름을 클릭하면 호스팅 영역의 레코드를 관리할 수 있는 페이지로 넘어온다.
자동으로 NS 레코드와 SOA 레코드가 생성되어 있는 것을 볼 수 있다.
여기서 NS 레코드들을 메모하자.

다시 가비아로 돌아와서 보면 도메인 관리 탭에 네임서버를 설정할 수 있는 부분이 있다. 이게 NS다.
여기에 위에서 메모했던 레코드들을 입력해주고 저장하고 다시 AWS의 콘솔로 돌아가자.

이제 A 레코드를 생성하고 EC2의 공개 IP를 엮어준다.

탄력적 IP

EC2 인스턴스를 생성하면 아마존에서 무작위로 IP 주소를 부여한다.

그러면 인스턴스를 재시작 할 때마다 Route 53을 다시 설정해야 하나요?

그렇다. A 레코드를 매번 수정해야 하는 것이다. 얼마나 번거로운 일인가?
그래서 AWS에는 탄력적 IP라는 기능이 존재한다. 다만 비용이 드는 것으로 알고 있다. (정확한건 아직 모르겠음...)

아무튼 탄력적 IP를 관리하는 곳은 EC2의 대시보드에 존재한다.
생성하는 것은 어렵지 않으니 일단 탄력적 IP를 생성하고, 생성된 탄력적 IP의 상세 정보에서 발급받은 IP를 연결할 수 있다.

나는 EC2의 인스턴스와 탄력적 IP를 연결하려고 한다. 옵션에서 인스턴스를 고르고, 내가 연결하고자 한 인스턴스를 정했다. 인스턴스를 정하면 프라이빗 IP 주소는 자동완성이 된다.

저장하고 인스턴스를 재시작하면 끝이다. 그리고 Route 53 설정을 이미 마쳤던 사람이라면, 당연하게도 A 레코드의 주소를 생성한 탄력적 IP로 변경해야 한다.

하지만 여기까지 해도 RDS에 연결이 안 된다. 무슨 문제가 남았을까?

Amazon VPC

AWS에서 인스턴스를 생성하면, 자동적으로 VPC가 붙는다. 그럼 Amazon VPC가 무슨 역할을 할까?

Amazon Virtual Private Cloud(Amazon VPC)를 이용하면 사용자가 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있습니다. 이 가상 네트워크는 의 확장 가능한 인프라를 사용한다는 이점과 함께 고객의 자체 데이터 센터에서 운영하는 기존 네트워크와 매우 유사합니다.
Amazon VPC란 무엇인가?, 사용 설명서(Amazon Virtual Private Cloud)

내 VPC는 자동으로 생성된 것 하나이고, 그럼 그냥 되어야 하는게 아닌가 했지만 그렇지 않았다.
VPC와 연결된 보안 그룹이라는 기능이 따로 있었다. 방화벽이다 그냥.

RDS와 VPC(+보안 그룹)

RDS 인스턴스에서 보안 그룹을 확인해보자. RDS는 보안이 강력하기에 EC2에서 접근하려면 인바운드 세팅을 해줘야 한다.

여기서 인바운드 규칙 편집으로 들어간다.

규칙 하나를 추가하면 다음과 같이 나온다. 여기서 나는 RDS를 EC2에 개방하려고 했으니 프로토콜 부분에서 MYSQL을 찾는다. (3306을 열거니까) 다음 빈칸은 소스인데, 이 소스는 EC2와 연결된 보안 그룹으로 정했다.

이제 다시 데이터베이스에 접근해보자.

반가운 화면이 나온다.

profile
전설의 시작

0개의 댓글