IP를 이용해서 네이버 같은 플랫폼이나 사이트들을 접속해본 경험이 많지 않을 것이다.
물론 백엔드를 공부하기 시작하면서 여러 번 접속해본 경험이 있긴 하지만,,,
기억하기 어려운 여러 숫자의 조합 대신 문자로 이루어진 도메인(Domain)을 이용해서 쉽게 접근할 수 있도록 흔히 사용하고 있기 때문이다.
지금까지 구축해온 EC2 인스턴스도 대세를 따라서 IP와 도메인을 연결해서 도메인을 통해 서버에 접속이 가능하도록 만들어 보려고 한다.
IP & Domain
우리 집 주소를 위도와 경도로 표현할 수 있다. 이렇게 위도와 경도로 표현한 것을 IP라고 할 수 있다.
그렇다면 도로명 주소로 우리 집 주소를 나타내는 것은 도메인으로 표현한 것이라고 생각할 수 있다.
- IP : 위도, 경도
- Domain : 도로명 주소
이렇게 IP는 알아보기 힘들기 때문에 도메인을 사용해서 기억하기 쉽게 하는 하는 것이다.
IP주소가 위치를 의미한다면 Port는 그곳에 들어가기 위한 문이라고 생각할 수 있다.
EC2 IP와 도메인 연결하기
먼저 실습을 진행하려면 도메인을 구매해야 하므로 가비아를 통해 구매해 주었다.
.com의 경우는 가격대가 좀 있으므로 저렴한 .shop을 이용하는 것을 추천한다.
웹을 넘어 클라우드로. 가비아
그룹웨어부터 멀티클라우드까지 하나의 클라우드 허브
www.gabia.com
먼저 가비아 메인 페이지에서 마음에 드는 도메인을 선택한 후에 My가비아 페이지의 DNS 관리 툴로 넘어간다.
연결할 도메인의 설정 버튼을 누른다.
레코드 수정 버튼을 누르면 해당 창이 뜬다.
- @ : www를 따로 입력하지 않아도 바로 연결된 IP로 이동시켜준다.
- 값/위치에는 EC2 인스턴스의 IP 주소를 넣어주면 된다.
호스트(host)는 도메인으로 접속을 가능하게 해주는 웹서버라고 이해하면 쉽다.
TTL(Time To Live)은 컴퓨터나 네트워크에서 데이터의 유효 기간을 나타내는 방법이다.
정해진 유효기간이 지나면 데이터는 폐기된다.
TTL은 도메인 네임 시스템(DNS)에서도 사용된다. 재귀적(recursive) 캐시 네임서버가 권한 있는 네임서버에 질의를 보낼 때, 캐시 네임서버는 그 레코드를 TTL 값에 해당하는 시간 동안 캐시에 저장해 둔다. 추후 스터브 리졸버(stub resolver)가 캐시 네임서버에 동일한 레코드에 대한 질의를 보냈을 때, 해당 레코드의 TTL 값이 아직 만료되지 않았다면 캐시 네임서버는 권한 있는 네임서버에 질의를 보낼 필요 없이 캐시에 저장된 정보를 이용해 바로 응답을 하게 된다. -위키백과-
도메인과 서버를 연결하려면 서버 설정 파일에서 서버 네임을 추가해주어야 한다.
기존에 nginx로 웹 서버를 설정해 두었기에 nginx로 진행된다.
Nginx 서버 설정 파일에 서버 네임 추가하기
cd /etc/nginx/sites-available
sudo vi default
초록색으로 커서가 위치하고 있는 server_name 부분에 '_'를 지우고 연결할 URL을 입력하고 저장한다.
sudo nginx -t
sudo service nginx restart
nginx 테스트를 진행하고 successful이 뜨면 재시작을 해준다.
그럼 EC2 인스턴스 IP와 도메인 연결을 완료했다!!
이젠 도메인을 이용해서 접속이 되는 것을 확인할 수 있다.
다음에는 서브도메인을 연결하고 리다이렉션(redirection)을 해봐야겠다!
'AWS' 카테고리의 다른 글
[AWS] EC2 인스턴스 서브도메인 연결, 리다이렉션(Redirection) 하기 (nginx) (0) | 2022.03.23 |
---|---|
[AWS] EC2 서버 환경 구축하기(Nginx, PHP, MySQL 설치 & 연동) (0) | 2022.03.22 |
[AWS] EC2 인스턴스 접속하기 (MAC & Window) (0) | 2022.03.15 |
[AWS] AWS EC2 인스턴스 탄력적 IP(Elastic IP) 적용하기 (요금 부과 사항 알아보기) (0) | 2022.03.15 |
[AWS] EC2 인스턴스 생성하기(무료 - 프리티어) (0) | 2022.03.15 |