Deploy Client [1]

Jay·2021년 3월 18일
0

클라이언트 배포 과정을 설명하기 전에 기초 개념부터 정리한다.

필요 서비스

AWS Certificate Manager:

  • AWS Certificate Manager는 AWS 서비스 및 연결된 내부 리소스에 사용할 공인 및 사설 SSL/TLS(Secure Sockets Layer/전송 계층 보안) 인증서를 손쉽게 프로비저닝, 관리 및 배포할 수 있도록 지원하는 서비스입니다.

: 요점만 말하자면, 인증서를 도메인에 적용해야만 안전한 사이트인지 판별 가능하고, HTTPS 접속을 할 수 있다.

현재 글을 작성하고 있는 이 "Velog"도 AWS에서 발급한 인증서를 사용중이다.

AWS Route 53

- Amazon Route 53는 높은 가용성과 확장성이 뛰어난 클라우드 Domain Name System (DNS) 웹 서비스입니다.

: 네이버 IP 주소가 125.209.222.142 으로만 접속이 가능하다면?.. , 불편하겠지?😅
DNS(Domain Name System)으로 www.naver.com으로 접속가능하게 해줘야 할 것이다.
AWS Route53이 역할을 해준다.

AWS Cloudfront

  • CloudFront는 네트워크 및 애플리케이션 계층 DDoS 공격을 비롯해 여러 유형의 공격으로부터 보호하기 위해 AWS Shield, AWS Web Application Firewall 및 Route 53와 완벽하게 통합되어 필드 수준 암호화 및 HTTPS 지원을 포함한 대부분의 고급 보안 기능을 제공합니다.

: 캐싱을 통한 빠른 전송속도 제공을 위한 목적으로 사용한다.
Edge server를 여러곳에 만들어두고, 제일 가까운 Edge server를 찾아가게 만들어준다.

AWS S3

  • 데이터 레이크, 웹사이트, 모바일 애플리케이션, 백업 및 복원, 아카이브, 엔터프라이즈 애플리케이션, IoT 디바이스, 빅 데이터 분석과 같은 다양한 사용 사례에서 원하는 만큼의 데이터를 저장하고 보호할 수 있습니다.

: S3의 버킷에 프로젝트 내용을 담아 배포하면 된다.

배포 방법

1. 도메인 구입하기(무료 가능)

freenom 에서 도메인을 무료로 얻을 수있다.

  • velog-posting 으로 검색했고 무료로 사용 가능한 도메인 5개가 보인다.
    get it now -> checkout -> 도메인 사용 기간 선택 (12개월까지 무료) -> 메일인증으로 로그인 해서 도메인을 얻는다.

2. S3에 배포하기

수동으로 배포해볼 것이다.

AWS S3에 접속해서 버킷을 만들고 퍼블릭엑세스 허용

(버킷 네임은 보통 도메인 네임으로 한다더라...)

각자 필요한 경우에 대한 퍼블릭 제한을 오픈하고 사용하시되, 일반적으로 모든 퍼블릭 액세스에 대해서는 차단하여 사용합니다.
예를 들어 버킷을 통해 static 파일에 대한 호스팅을 진행하는 경우 퍼블릭 액세스 제한을 하게 되면 사용자가 웹 페이지에 접근할 수 없기 때문에 퍼블릭 액세스에 대한 차단을 풀어주어야 합니다.

build된 폴더의 내용들을 업로드한다.

버킷 정책설정

  • 아래 Resource의 bucket_name 대신 본인 버킷명을 넣어준다
{
  "Id": "Policy1569048588734",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1569048587703",
      "Action": "s3:*",
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::bucket_name/*",
      "Principal": "*"
    }
  ]
}

(직접하려면 정책 생성기로 정책을 직접 만들면 된다.)

속성 > 정적 웹사이트 호스팅

이렇게 설정하고 다시 정적 웹사이트 호스팅 탭에가면 엔드포인트를 볼 수있다.

3. Route53에서 호스팅영역 생성

호스팅 영역생성

  • 도메인 이름 : freenom에서 받은 무료 도메인 명을 적어주었다.
    -> velog-posting.com
    (그냥 순수 도메인 네임만 적자. https, "/" 따위를 적을 필요 없다.)
  • 유형: 퍼블릭 호스팅 영역으로
    -> 호스트영역 생성 버튼

네임서버 등록

  • 호스팅 영역을 생성하면 위와 같이 NS와 SOA 라우팅 정책이 생기는데,
    NS의 " 값/트래픽 라우팅 대상 " 4개의 엔드포인트를 freenom nameserver에 등록해주면된다.

  • Freenom에서
    MY Domains -> manage domain -> Management Tools -> Nameserver -> use custom nameserver -> NS 의 4개 엔드포인트를 복붙해주고, 저장.
    (엔드포인트 뒤의 마침표는 빼자)

다음 포스트에서 계속...


참조
https://real-dongsoo7.tistory.com/101
https://aws.amazon.com

profile
programming!

0개의 댓글