반응형
목표시스템
AWS api gateway 에 도메인을 적용해서 사용하자
사용기술
- serverless framework : 서버리스 개발 프레임워크
- serverless-domain-manager : serverless framework 의 도메인 관리 플러그인
- api gateway : AWS API gateway 서비스
- lambda : AWS 서버리스 서비스
도메인적용방법
Step 1. 도메인 관리 플러그인 설치 (serverless-domain-manager)
Step 2. 서버리스 프레임워크의 환경설정에 도메인 설정 추가
Step 3. 커스텀 도메인 생성
Step 4. 서버리스 배포
Step 5. 커스텀 도메인 삭제
Step 1. 도메인 관리 플러그인 설치 (serverless-domain-manager)
serverless framework 는 글로벌 환경으로 설치하고
serverless-domain-manager 는 개발환경으로 설치합니다
npm install -g serverless
npm install serverless-domain-manager --save-dev
Step 2. 서버리스 프레임워크의 환경설정에 도메인 설정 추가
serverless.yml 파일에서 custom > customDomain 으로 도메인을 설정합니다
plugins:
- serverless-domain-manager
custom:
defaultRegion: ap-northeast-2
environment: ${file(env.yml):${self:provider.stage}, file(env.yml):dev}
customDomain: ${file(env.domain.yml):${self:provider.stage}, file(env.yml):dev}
env.domain.yml 파일내용 (stage : dev, test, prod 에 따라서 다른 도메인을 적용할 수 있다)
dev:
domainName: api.${self:provider.stage}-sample.com
stage: ${self:provider.stage}
basePath: v1
certificateName: '*.${self:provider.stage}-sample.com'
createRoute53Record: true
endpointType: 'regional'
test:
domainName: api.${self:provider.stage}-sample.com
stage: ${self:provider.stage}
basePath: v1
certificateName: '*.${self:provider.stage}-sample.com'
createRoute53Record: true
endpointType: 'regional'
prod:
domainName: api.${self:provider.stage}-sample.com
stage: ${self:provider.stage}
basePath: v1
certificateName: '*.${self:provider.stage}-sample.com'
createRoute53Record: true
endpointType: 'regional'
NOTE : certificateName 에 미리 생성된 TLS 인증서가 있어야 한다
Step 3. 커스텀 도메인 생성
api gateway 용 커스텀 도메인을 생성해준다
serverless create_domain
api gateway 메뉴의 사용자 지정 도메인 이름이 생성된다 (손으로 안만들고 serverless framework 로 만든다)
Step 4. 서버리스 배포
serverless deploy
만들어 놓은 소스를 배포한다
serverless.yml 에서 api gateway 를 설정한 예제
functions:
add:
handler: src/handlers/create.handler
memorySize: 256
timeout: 3
events:
- http:
path: push
method: post
cors: true
NOTE : 배포를 해줘야지 커스텀도메인에 api gateway 기본경로 매핑이 적용된다
Step 5. 커스텀 도메인 삭제
serverless delete_domain
step 3 에서 만든 사용자 지정 도메인을 삭제한다
반응형
'IT > Serverless' 카테고리의 다른 글
서버리스 사이트 스크린샷 찍기 (예전방식) (0) | 2019.08.12 |
---|---|
서버리스 웹브라우저 한글폰트 적용하기 (0) | 2019.08.12 |
서버리스 네이버 검색어 가져오기 (serverless) (0) | 2019.08.09 |
서버리스 AWS IAM Key 수명관리 (0) | 2019.08.07 |
DynamoDB : Attribute name is a reserved keyword 해결방법 (0) | 2019.08.01 |
DeletionPolicy 옵션 사용시 주의사항 (0) | 2019.07.31 |
CloudFormation / Serverless Framework 삭제시 리소스 유지 (0) | 2019.07.30 |
네이버 블로그 파워링크 클릭 (0) | 2019.07.30 |