제3회 만들면서 기억하는 Flask+Pipenv ~AWS에의 배포 후, 도메인으로 액세스 할 수 있도록 설정~

개요



● 기사 일람
제1회 만들면서 기억하는 Flask+Pipenv ~폴더별 URL 라우팅에 대해~
제2회 만들면서 기억하는 Flask+Pipenv ~Zappa를 사용해 AWS에의 배포~
제3회 만들면서 기억하는 Flask+Pipenv ~AWS에의 배포 후, 도메인으로 액세스 할 수 있도록 설정~ ※본 기사

마지막으로 Zappa를 사용하여 AWS에 배포가 완료되었습니다.
단, API Gateway에서 발행된 긴 URL로 액세스하고 있으므로,
이번에는 도메인을 할당하고 액세스할 수 있도록 하겠습니다.

1단계 Route53에 도메인 등록



AWS 'Route53'에서 도메인을 검색합니다.
AWS → Route53 레프트 네비게이션의 「등록이 끝난 도메인」에서,
새로 도메인을 취득하거나 Route53으로 도메인을 이전할 수 있습니다.



2단계 Certificate Manager에서 인증서 만들기



Route53에 도메인이 등록되면 AWS Certificate Manager에서 인증서를 생성합니다.
※도쿄 리전에서 Route53에 도메인을 등록하고 있어도,
Certificate Manager에서는 반드시 '버지니아 북부' 지역을 선택하십시오.
그렇지 않으면 나중에 오류가 발생합니다.



인증서 요청 버튼을 클릭합니다.



공용 인증서 요청을 선택하고 인증서 요청 버튼을 클릭합니다.



1단계에서 Route53에 등록한 도메인 이름을 입력하고 다음 버튼을 클릭합니다.



DNS 또는 이메일로 입력한 도메인의 소유자인지 여부를 확인할 수 있지만 이번에는 "DNS 확인"을 실시합니다.
DNS 확인을 선택하고 다음 버튼을 클릭합니다.



이번에는 태그를 설정하지 않고 "확인"버튼을 클릭합니다.



입력한 내용에 실수가 없는지 확인하고 [확인 및 요청] 버튼을 클릭합니다.



완료 화면이 표시되므로,
빨간색 테두리로 둘러싸인 도메인 이름을 클릭하면 세부 정보가 표시됩니다.



Route53에서 레코드 만들기 버튼을 클릭하여 DNS 확인을 위한 레코드를 만듭니다.



확인 화면이 표시되므로, 「만들기」버튼을 클릭하면 자동적으로 레코드를 작성해 줍니다.
이것은 매우 편리합니다.



레코드 생성이 성공했는지 확인하고 화면 오른쪽 하단의 계속 버튼을 클릭합니다.



인증서 목록 화면으로 돌아가면 "검증 보류 중"이 표시됩니다.
30분 정도 기다리면...



안전하게 증명서가 발행되었습니다!

다음 단계에서 필요하므로 화면을 약간 아래로 스크롤하여 ARN을 복사합니다.



3단계 Zappa config 파일에 도메인 및 인증서 정보 추가



이어서 Zappa의 config 파일에 Route53에서 설정한 도메인 및 Certificate Manager에서 취득한 ARN을 추가합니다.
{
    "dev": {
        "app_function": "server.app",
        "aws_region": "ap-northeast-1",
        "profile_name": "flask-sample",
        "project_name": "application",
        "runtime": "python3.8",
        "s3_bucket": "zappa-zl2df33oj",
        "domain": "Route53に登録したドメイン",
        "certificate_arn": "手順1のCertificate Managerで取得したARN"
    }
}

4단계 Zappa 명령으로 AWS에 도메인 반영



이전 기사에서 Pipfile이 생성된 폴더 계층 구조로 가상 환경(Pipenv)으로 들어갑니다.
% pipenv shell

Zappa 명령으로 AWS에 도메인 설정을 반영합니다.
% zappa certify
Calling certify for stage dev..
Are you sure you want to certify? [y/n] 

정말 좋은지 묻기 때문에 [y]로 Enter.
Certifying domain hogehoge.com..
Created a new domain name with supplied certificate. Please note that it can take up to 40 minutes for this domain to be created and propagated through AWS, but it requires no further work on your part.
Certificate updated!

무사, Certificate updated!라고 표시되면 완료됩니다.
40분 정도 기다려 주세요, 라고 하는 것이므로 잠시 기다리면, 설정한 도메인으로 액세스 할 수 있게 됩니다.

수고하셨습니다!

● 기사 일람
제1회 만들면서 기억하는 Flask+Pipenv ~폴더별 URL 라우팅에 대해~
제2회 만들면서 기억하는 Flask+Pipenv ~Zappa를 사용해 AWS에의 배포~
제3회 만들면서 기억하는 Flask+Pipenv ~AWS에의 배포 후, 도메인으로 액세스 할 수 있도록 설정~ ※본 기사

좋은 웹페이지 즐겨찾기