AWS에서 도메인을 검색하고 Serverless에서 Amazon API Gateway에 사용자 지정 도메인을 설정하는 방법

Nuxt.js에서 만든 SSR 서비스를 Serverless에서 Amazon API Gawaway(AWS Lambda) 배포할 때 자체 도메인을 설정하는 방법입니다.

배포하는 소스는 GitHub에 올라가는 것을 이용합니다.
htps : // 기주 b. 코 m / 카이 코 / 누 xt r r ょ r ぇ s / t ree / 훗 아츠레 / 노 u s s3

기본적으로는 아래를 참고로 설정을 진행했습니다.

Serverless (node.js)에서 자체 도메인 SSL을 적용하는 방법 - Qiita
htps : // 코 m / 코시 페이 / ms / b7 db12f0285 A 241294

도메인 얻기



아래를 참고로 도메인을 취득합니다. .com 도메인이라면 천 수백엔/년으로 취득이 가능합니다.

Amazon Route53에서 도메인 얻기 - Qiita
htps : // 코 m / 나오키 시무라 / ms / 89 에 104 d2 d8

https를 이용하기 위해서는 SSL/TLS 증명서가 필요하므로, 아래를 참고로 증명서를 취득합니다. 이 때, 리전은 us-east-1 로 취득합니다. ap-northeast-1로 검색해도 Serverless로 설정할 때 us-east-1를 살펴 보므로 인증서를 찾을 수 없으면 오류가 발생합니다.

Certificate Manager (ACM)가 DNS 유효성 검사를 지원했습니다 | DevelopersIO
htps : // v.ぁsss d. jp / c ぉ d / 아 ws / 세르 치후 카테 마나게 rd s - ゔ ぃ 다치 온 - rt /

serverless.yml 설정


custom.customDomain에서 도메인을 설정합니다.

serverless.yml_ 부분 발췌
service: [サービス名]

provider:
  name: aws
  stage: ${opt:stage, 'dev'}
  region: ap-northeast-1
  runtime: nodejs8.10
  package:
    exclude:
      - src/**
      - .vscode/**
      - package.json
      - package-lock.json
      - tsconfig.json
      - tslint.json
      - yarn.lock
    include:
      - serverless.yml

  environment:
    NODE_ENV: production

custom:
  customDomain:
    domainName: "${self:provider.stage}.[ドメイン名]"
    stage: ${opt:stage, 'dev'}
    certificateName: "*.[ドメイン名]"
    createRoute53Record: true
  apigwBinary:
    types:
      - '*/*'

functions:
  nuxt-renderer:
    handler: handler.render
    memorySize: 512
    timeout: 30
    events:
      - http:
          path: /
          method: ANY
          cors: true
      - http:
          path: /{proxy+}
          method: ANY
          cors: true

plugins:
  - serverless-apigw-binary
  - serverless-domain-manager

배포



Serverless 플러그인 serverless-domain-manager를 사용하므로 설치한 다음serverless create_domain에서 도메인 설정을 한 다음serverless deploy합니다.serverless create_domain 이후 몇 분 정도 기다리면 설정이 완료되고 액세스할 수 있습니다.
> npm install serverless-domain-manager --save-dev
> npm run build
> serverless create_domain

Serverless: 'dev.xxxxx.com' was created/updated. New domains may take up to 40 minutes to be initialized.

> serverless deploy

Amazon API Gateway의 '사용자 정의 도메인 이름'에서 확인하면 설정이 이루어졌음을 확인할 수 있었습니다.



했어.

주의점



Amazon API Gateway에서 배포하고 그대로 사용하는 경우 엔드포인트 URL이 https://xxxxxxxxxx.execute-api.ap-northeast-1.amazonaws.com/dev/이고 dev가 포함되므로 Nuxt.js에서 기본 URL을 설정해야 하지만 사용자 지정 도메인 사용 당신은 필요하지 않습니다.
따라서 기본 URL을 변경해야 합니다.

참고



Serverless (node.js)에서 자체 도메인 SSL을 적용하는 방법 - Qiita
htps : // 코 m / 코시 페이 / ms / b7 db12f0285 A 241294

Amazon Route53에서 도메인 얻기 - Qiita
htps : // 코 m / 나오키 시무라 / ms / 89 에 104 d2 d8

Certificate Manager (ACM)가 DNS 유효성 검사를 지원했습니다 | DevelopersIO
htps : // v.ぁsss d. jp / c ぉ d / 아 ws / 세르 치후 카테 마나게 rd s - ゔ ぃ 다치 온 - rt /

좋은 웹페이지 즐겨찾기