본문 바로가기
DoItDJango

aws 호스팅4

by 자동매매 2023. 4. 28.

https://wikidocs.net/75563

 

4-15 도메인

`[완성 소스]` : [github.com/pahkey/jump2django/tree/4-15](https://github.com/pahkey/jump2django/tree/4-…

wikidocs.net

 

도메인

하지만 대부분의 웹 사이트는 이런 식으로 접속하지 않는다. 고정 IP는 외우기 어렵기 때문이다. 보통 다음과 같이 기억하기 쉬운 도메인을 이용한다.

http://pybo.kr

 

도메인 선택

도메인을 사용하기에 앞서 가장 먼저 해야 할 일은 도메인을 선택하는 일이다. 다음 URL에서 사용가능한 도메인을 검색해 보자.

예를 들어 "pahkey.co.kr"을 검색하면 다음처럼 등록되지 않은 도메인이라고 나온다.

이렇게 등록되어 있지 않은 도메인만 구입이 가능하다.

도메인 구입

구매 가능한 도메인을 찾았다면 이제 도메인을 구입해야 한다.

AWS에서도 도메인을 판매한다. AWS에서 도메인을 구입하길 원한다면 AWS Route 53에 접속하여 구매할 수 있다.

하지만 AWS Route 53 pybo.kr과 같은 .kr 또는 .co.kr과 같은 도메인은 취급하지 않는다. 따라서 .kr 과 같은 국내 도메인을 구입하길 원한다면 다른 도메인 업체를 알아봐야 한다.

도메인 업체를 선정하였다면 그곳에서 원하는 도메인을 구입하도록 하자.

필자는 가비아에서 pybo.kr 도메인을 구입하였다.

도메인 구입시에 네임서버 주소를 설정하는 항목이 있는데 일단 해당 업체의 네임서버 주소를 사용하는 것으로 설정하자. 네임서버 주소는 고정아이피와 도메인을 연결하는 중요한 항목이다. 도메인에 등록된 네임서버 주소는 언제든지 수정할 수 있으니 잘못 등록될까 걱정할 필요는 없다.

도메인에 등록된 네임서버주소는 AWS Lightsail에서 제공하는 네임서버 주소로 변경할수 있다.

고정IP와 도메인 연결

도메인을 구입했다면 이제 도메인과 AWS에 등록된 고정 IP를 연결해야 한다. 그래야만 고정 IP 대신 도메인 주소를 사용할 수 있다.

먼저 AWS 라이트세일 홈페이지에 접속하자.

https://lightsail.aws.amazon.com

"네트워킹" 탭을 선택하고 "DNS 영역 생성"을 선택한다.

 

구매한 도메인(:pybo.kr)을 입력하고 "DNS 영역 생성" 버튼을 클릭한다.

"+레코드 추가"를 선택한다.

"DNS 레코드"에서 "A 레코드"를 선택하고 하위 도메인에는 "@"를 입력한다. 그리고 이전에 등록한 고정아이피(:StaticIp-1)를 선택하고 우측 상단의 체크표시를 선택한다.

그러면 다음과 같은 화면을 볼 수 있다. 붉은색 테두리 부분이 바로 AWS가 제공하는 네임서버 주소들이다. 이 네임서버 주소는 도메인의 네임서버 주소로 등록해야 하므로 기억해 두어야 한다.

AWS의 네임서버주소는 "DNS 영역 생성"을 새로하면 변경되므로 주의하자.

네임서버 설정

이제 AWS의 네임서버 주소가 생성되었으므로 도메인 업체에 접속하여 구매한 도메인과 연결된 네임서버 주소를 변경해야 한다.

다음은 필자가 구입한 pybo.kr의 네임서버 주소를 등록하는 화면이다.

AWS의 네임서버주소를 차례대로 총 4개를 등록해 주었다.

네임서버 적용은 상황에 따라 다르지만 보통 1~2일 내에 적용이 완료된다.

 

도메인 적용

도메인이 생성되었으므로 ALLOWED_HOSTS 항목도 변경이 필요하다. ALLOWED_HOSTS에 구입한 도메인 'pybo.kr'을 추가하고 서버에 적용하자.

 

[파일명: projects\mysite\config\settings\prod.py]

from .base import * 

ALLOWED_HOSTS = ['3.37.58.70', 'pybo.kr']
STATIC_ROOT = BASE_DIR / 'static/'
STATICFILES_DIRS = []
DEBUG = False
그리고 Nginx의 설정도 다음처럼 변경하자.
[파일명: /etc/nginx/sites-available/mysite]
server {
        listen 80;
        server_name pybo.kr;
        location = /favicon.ico { access_log off; log_not_found off; } 

        location /static {
                alias /home/ubuntu/projects/mysite/static;
        } 

        location / {
                include proxy_params;
                proxy_pass http://unix:/tmp/gunicorn.sock;
        }
}

server_name 3.37.58.70에서 pybo.kr로 변경했다. server_name을 수정했다면 Nginx를 다시 시작하자.

(mysite) ubuntu@jumpto:/etc/nginx/sites-available$ sudo systemctl restart nginx

 

도메인 접속 확인

이제 고정 IP 대신 도메인으로 파이보 서비스에 접속할 수 있다.

 

 

'DoItDJango' 카테고리의 다른 글

aws 호스팅5  (0) 2023.04.28
aws 호스팅3  (0) 2023.04.28
aws 호스팅2  (0) 2023.04.28
aws 호스팅1  (0) 2023.04.28
sendgrid를 통한 메일 전송  (0) 2023.04.18

댓글