얼마전에 해커톤 멘토링을 다녀와서 서버설계와 DB설계쪽에 부족함을 느껴서
주변에 프론트엔드 1명, AI 1명, 디자이너 1명을 섭외해서 팀프로젝트를 하기로했다.
주제선정과 기능선정이 끝나서 이제 각자 맡은일을 해야하는데
나는 기획, 서버, DB, 백엔드 파트를 혼자서 전부 하기로했다.
모바일 웹/앱 서비스로 진행하기로 해서 우선 프로젝트 도메인이 필요했다.
찾아보니 시중에 도메인 판매하는 사이트도 많았지만,
회사 테크니컬 리더님께서 역량 향상 명목으로 회사 AWS계정을 사용하라고 하셨다!
그래서 한치의 고민도 없이 AWS로 접속했다.
Route 53 서비스를 검색 후 들어가서
등록된 도메인으로 들어가서, "도메인 등록"을 누르자.
그리고 사용하고 싶은 도메인주소를 검색하면 .com , .io , .net 등등 주소들과 가격이 나온다.
그중에서 원하는 도메인을 선택하고 결제진행을 해주자.
그 후 개인정보와 결제정보를 입력해서 진행해주자.
기다리면 작성한 메일로 인증링크가 메일로 오는데 링크를 눌러주자.
이제 기다리면 Route53에서 등록이 된 걸 확인할 수 있을 것이다.
이제 도메인 구매했으면 끝이지만, 배포전까지 해당 도메인에 html 파일이라도 띄워두고싶어서
S3 버킷과 연동시켜서 웹 호스팅을 하기로 했다.
그럼 이제 S3버킷을 만들어야 하는데 여기서 중요한게
연결할 도메인과 동일하게 버킷이름을 생성해 주어야한다.
리전은 서울로 해주고 아래엔 "ACL 비활성화" 로 해주자.
아래에 "퍼블릭 엑세스 차단설정" 은 모두 해제하고 퍼블릭 상태에 체크를 해주자.
그럼 이제 S3 버킷 생성은 끝났다.
이제 S3에 몇가지 설정을 변경해주어야한다.
그전에 S3에 업로드 시킬 "index.html" 파일을 준비해주자.
S3 -> 객체 -> 업로드 순서로 준비된 "index.html" 을 업로드를 해주자.
이제 S3설정을 해보자.
S3 -> 속성 탭 에서 아래로 내려서 "정적 웹 사이트 호스팅" 에서 편집을 눌러주자.
활성화, 정적 웹 호스팅에 체크를 해주고
인덱스 문서와 오류 문서에 아까 업로드한 "index.html" 을 입력해주자.
그리고 저장을 해주자.
이제 S3 -> 정책 탭에서 아래로 내려서 버킷정책으로 이동하자.
여기서 편집을 눌러주자.
버킷 ARN 을 복사하고 정챙생성기 버튼을 눌러주자.
S3 Bucket Policy , * , Amazon S3 를 차례대로 누르고
Action에서 "GetObject" 를 선택해주자.
그 아래 ARN 에서는 복사한 ARN주소를 넣어주고 뒤에 /* 를 써서 Add statement를 누른다.
그리고 만들어준 정책코드를 복사해주자.
이제 복사한 정책코드를 붙혀넣기해서 넣어주면 S3에서는 전부 다 설정했다.
S3 설정이 끝났으니 Route 53에서 호스팅영역으로 이동하자.
혹시 호스팅 리스트에 아까 도메인 구매한게 없으면, 호스팅 영역 생성을 해주자.
호스팅 영역 생성은 "구매한 도메인" 과 "퍼블릭 호스팅 영역"을 눌러주면 된다.
이렇게 생성된 호스팅 영역을 생성 후 호스팅 영역을 눌러주자.
여기서 "레코드 생성"으로 들어가주자
"단순 라우팅" 을 누르고 "단순 레코드 정의"를 눌러주자.
레코드 이름은 비워두거나 www를 써주고
레코드 유형은 A - IPv4
값/ 트래픽 라우트 대상은 S3 -> 아까 고른 서울 리전 -> 생성한 S3 버킷이 나올텐데 눌러주자.
(S3 이름을 도메인 이름과 다르게 생성시 여기서 리전을 골라도 버킷이 보이지 않는다.)
이제 단순 레코드 정의를 해주자.
그럼 드디어 끝이다 !
도메인에 들어가보면 1분안에 S3에 업로드한게 호스팅 되서 나올 것이다.
그런데 나는 시간이 지나고 지나도 작동하지 않았다....
그래서 해당 작업을 열댓번 다른케이스로 반복하고, 구글링과 GPT한테 물어봐도 답을 찾지 못했다.
결국 밤새 머리를 싸매서 해결했다.
두가지를 비교해야한다.
1. 호스팅 영역 -> 레코드 -> NS 유형의 값/ 트래픽 라우팅 대상
2. 등록된 도메인 -> 이름서버
해당 1,2 번이 동일해야지만 호스팅이 되지 않을까? 라는 생각을 했다.
등록된 도메인 -> 이름 서버편집 -> 위 2번에 있던 4개의 Url로 동일하게 맞춰주자.
그러고 1분정도 지나서 새로고침을 해보면
드디어 정상적으로 웹 호스팅이 되었다!!!
하지만 지금은 http여서 다음번에 CloudFront를 사용해서 Https로 웹 호스팅을 할 예정이다.
'Programming > AWS' 카테고리의 다른 글
[AWS] 서버 상태 실시간 모니터링: CloudWatch를 이용한 Nginx 액세스 로그 분석 및 대시보드 구축하기 (0) | 2024.02.20 |
---|---|
[AWS] CloudFront + ACM을 이용한 https 리다이렉팅 (Route53,S3) (0) | 2023.08.12 |
[AWS] 국내 1호 AWS 굿즈 개봉기! (+ 개발진스) (0) | 2023.07.03 |
[AWS] SAA-C03 합격후기, 핵심요약 정리 (AWS Certified Solutions Architect - Associate) (18) | 2023.06.18 |
[AWS] AWS 사용량 예산 초과 시 이메일로 알림 받기 (0) | 2023.04.02 |