S3, ACM, CloudFront, Route53으로 https 배포하기 (with 가비아) [2/4]

WeWorship TV·2021년 5월 15일
5

HTTPS로 출간하기

목록 보기
2/4

솔직히 S3에 설정된 도메인으로만 해도 충분하지만 이럼 좀... 덜 개발자스러우니까
우리는 개발자니까 좀 이쁜 도메인으로 설정해봅시다.


도메인을 등록하자

도메인을 구매하고 가져오자

구매하고 가져오자고? 아니 그냥 널려있는 무료 도메인 아무거나 써도 되는거 아닌가?
라고 생각하시는분들이 계실거같아 약간의 설명을 좀 하자면...

무료 도메인? 쓰셔도 됩니다.
쓰셔도 되요. freenom에서 제공하는 도메인쓰셔도 사실 무방합니다만.
이녀석 어쩔때는 되고 어쩔때는 안되는 녀석입니다.
지 마음대로 등록되었다가 안되었다가 아주 여러분의 화를 충분히 올릴 수 있는 녀석들입니다.

그런 여러분의 소중한 시간을 아끼고 혈압을 낮춰드리기 위해 가급적이면 도메인을 구매해서 사용하는 것을 추천드립니다.
뭐 다양한 도메인 구매대행 업체가 있지만 저는 가비아에서 구매했습니다.
(가비아 홍보하는것 아닙니다. 그냥 맘에 드는 도메인을 찾다보니 가비아가 저렴했을 뿐입니다.)
(앞, 뒤, 옆 광고 언제든 환영)

  1. 가비아를 기준으로 [My 가비아 > 전체 > 관리툴] 을 누르시면 아래와 같은 화면이 나옵니다.

해당 화면에서 네임서버 설정을 통해 AWS에서 해당 도메인을 사용할 수 있도록 등록할 수 있습니다.
그러면 이 화면은 종료하지 말고 그대로 놔두시고, 다른 탭을 열어 AWS의 서비스 중 하나인 Route 53 서비스에 접속합니다.

Route 53을 통해 소중한 내 도메인을 활용하자

뭐, 보시다시피 여러분의 Route 53내에는 아무것도 없을겁니다.
(있다면 이걸 왜 보겠어염?)
그러면 깔꼼하게 호스팅 영역 생성을 클릭해줍시다.

그러면 아래와 같은 화면을 발견하실텐데, 아래 설명 써있는대로 써줍시다.

이렇게 작성하고 맨 아래의 호스팅 영역 생성을 누르면 됩니다.
끝! 하고 싶지만... 좀만 참아요...
그러면 아까는 안보이던 녀석들이 보일겁니다. 마치 아래 화면처럼요.

그러면 제가 표시해둔 NS유형에 있는 값 4개를 아까 종료하지 말라고 한 가비아 네임서버에 설정해야 됩니다.
(혹시 종료했어요?..... 기다릴테니... 언넝 가서 로그인하고 설정창 띄워놓으세요....)

이 창에 보면 1차부터 4차까지 있는데 아까 그 값들을 한줄에 1차씩 채워주시면되요.
참고로 값 뒤에 . 이 붙어있는건 지워주세요.
(이거 안지우고 전부 복사하는 사람 은근 있드라.. 그치? 넌 아니지?)

그러고 밑에 보면 소유자 인증하라고 있는데 소유자 인증해야 적용되니까 소유자 인증한 후에 적용버튼 눌러주세요.
(안해놓고 안된다고 하면 아니되요 아니되)
이렇게 하면 Route 53에다가 구매하신 도메인 연결은 완료된거예요!!

ACM(AWS Certification Manager)로 SSL(인증서) 등록을 후딱하자

https를 사용하기 위해서는 다들 알다시피 인증서가 필수로 필요합니다.
뭐 어떤 인증서를 사용하든 그거야 사용자 마음이지만, 우리는 그래도 AWS를 이용하고 있는데 AWS에서 제공하는 ACM으로 인증서를 발급받아 봅시다.
Route 53에 도메인을 등록한 상황이라면 아주 아주 손 쉽게 인증서를 발급받을 수 있습니다.
(Route 53에 없어도 인증서 발급받는건 어렵지 않지만.... 뭐 있으면 훨씬 쉬운건 인정이니까)

============

네가 실수할것이고 나도 실수한 적이 있는 것

그건 바로 ACM에서 Region설정하는 것

이게 좀 까다로운게 뭐냐면, CloudFront를 통해 배포를 진행할것인데 이 녀석은 무조건 버지니아 북부(North Virginia) - 또는 미국 동부 - 에서 생성된 키만 사용할 수 있다는것!!!
그러니까 반드시 ACM들어오면 REGION이 미국 동부로 설정되어 있는지 필수로 확인합시다!!
(안해놓고 왜 안되냐고 물어보면 너어는 진짜........)

==========

이제 시작해보자구요.
1. 인증서 프로비저닝 밑에 시작하기 버튼 클릭합시다.

  1. 말해 뭐합니까, 인증서 요청버튼 클릭합시다.

  2. 아까 여러분이 구매했던 도메인을 여기에 적어줍니다.

    이 때, 확인해야될게 하나 있습니다.
    나중에 my-prefix.example.com(ex www.example.com, admin.example.com)과 같이 example.com(www가 없이 앞에 여러가지로 붙는 주소) 모두에서 원활한 접속을 이루어지게 하고 싶다면 이 인증서에 다른 이름 추가 버튼을 눌러서 위와 같이 두개의 도메인을 추가해주시면됩니다.
    ( * 글자가 그 의미니까요)

  3. 이제 도메인의 소유권을 인증할 차례입니다.
    어차피 Route 53에 도메인 등록을 해두었으니, DNS검증을 선택하고 다음버튼 클릭합니다.

  4. 태그 추가 없습니다. 그냥 검토 버튼 클릭하세요.

  5. 검토 화면에는 여러분이 설정한 것들이 표시될겁니다. 확인했으면 확인 및 요청버튼 클릭합니다.

  6. 검증화면에 아래와 같이 검증 보류발생할텐데 걱정마세요. 정상입니다.

    계속버튼을 눌러주세요.

  7. 그러면 아래와 같이 첫 화면이 발생할텐데 저 화살표가 가리키는 곳의 화살표를 클릭해보세요.

  8. 이렇게 아래 화면처럼 Route 53에서 레코드 생성이라는 버튼이 활성화 되어 있을텐데, 이거 클릭하시면 검증 시작합니다.

그러면 이렇게 성공으로 바뀔꺼예요.

그러면 아래 *로 시작하는 도메인도 똑같이해주세요. (제발)

  1. 두개 다 버튼눌러서 성공했으면 화면 위의 새로고침 버튼 눌러주세요.

    (꼭 브라우저의 새로고침눌러서 이상한데 가지 마세요 좀!!!)

왜 아직도 검증보류냐고 물어보신다면, 좀 기다리시면 되요.

이제 설정 2개밖에 안했는데 뭐가 척척되길 바라면 안되자나요.
우린 개발자니까 저런 것쯤은 가볍게 넘기고 다음 단계로 넘어갑시다.


이 쯤 와서 갑자기 생각난 나의 실수 (1)
한 6시간정도 지났나....
아직도 검증 보류라고 뜨길래 내가 뭔 잘못을 했을까라고 보니 엄청난 잘못을 하나 빼먹고 도망갔었다.

  1. S3서비스에서 본인이 설정한 항목의 권한 메뉴로 들어가보자.

  2. 밑으로 내리면 버킷 정책이라고 보일텐데, 이거 빈공간일거다.

    편집을 눌러 버킷정책을 생성해야 된다.

  3. 편집버튼을 눌러 들어가면, 정책생성기라고 있을텐데 이 버튼을 클릭한다.

  4. 그러면 아래와 같은 화면이 보일텐데 다음과 같이 작성해준다.

    Select Type of Policy: S3 Bucket Policy
    Effect: Allow
    Principal: *
    Actions: Get Objects
    Amazon Resource Name(ARN): arn:aws:s3:::example.com/*
    이런식으로 적어줘야 한다. example.com에는 설정한 도메인을 입력하면 된다.

그러고나서 Add Statement를 클릭하면 아래처럼 바뀌는데 이 때 Generate Policy를 클릭해준다.

  1. 아래와 같이 창이 발생하면 안에 있는 내용을 전부 복사한 후 close버튼을 누른다.

    중요합니다. 저 안에 있는 내용 괄호 하나 빼지 말고 복사하세요.

  2. 아까 이 정책생성기 버튼 누른 화면으로 와서 아래 정책에다가 방금 전 복사한 내용 전부를 붙여넣기해준다

  3. 그러면 아래와 같이 모양이 바뀔것이다. 어떻게? 이렇게!

    그러면 마지막으로 변경사항 저장버튼을 클릭해준다.

  4. 다시 ACM에서 발급해줬던거 싹다 지우고 다시 해보면 된다.
    물론 Route 53에 전혀 못보던 애가 생겼다면 걔도 지우고 다시하면 검증 보류발급 완료로 바뀌어 있을 것이다.

profile
자 이제 시작이야 내 꿈을

1개의 댓글

comment-user-thumbnail
2021년 9월 5일

글 잘 읽었습니다! 궁굼한게 하나 있는데요!

마지막 s3정책 설정이 ACM에서 검증 받는 거랑 어떤 관계가 있는건가요..?

답글 달기