Serverless Framework에서 알아두면 편리한 설정
소개
Serverless를 프로덕션에 통합할 때 이 설정이 좋다는 것을 써 갑니다.
환경
CloudWatch Logs 보존 기간 지정
provider
에 logRetentionInDays
로 유지 일수를 지정해 주면 OK입니다.이것을 지정하지 않으면 유지 기간이 무제한이므로, 특히 계속 유지할 필요가 없으면 지정해 둡시다.
이하의 설정에서는 10일 유지한다고 하고 있습니다.
provider:
logRetentionInDays: 10
배포 버전 관리 사양 변경
Serverless Framework는
sls deploy
를 수행할 때마다 버전이 지정된 폴더를 S3에 저장합니다.여기도 CloudWatch Logs와 마찬가지로 무제한으로 폴더가 S3에 저장되어 버리므로 이전 버전을 몇 개까지 저장할지 설정합시다.
serverless-prune-plugin 플러그인을 사용하여 쉽게 설정할 수 있습니다.
package.json
있는 계층에서 다음을 수행합니다.$ npm install --save-dev serverless-prune-plugin
이상을 실행하면
serverless.yml
에 다음을 추가합니다.plugins:
- serverless-prune-plugin
배포 후 자동으로 실행하고 싶으므로 다음과 같이
serverless.yml
에 추기를 합니다.custom:
prune:
automatic: true
number: 5
위와 같이 설정하는 것으로, 배포를 행하면(자) 과거 5개의 버젼까지가 보존되고 있는지 생각합니다.
DynamoDB 온디맨드(요청 수 청구) 설정
DynamoDB는 요청 수에 따라 청구되는 주문형 설정을 제공합니다.
이를 Serverless Framework에서 사용하려면 다음과 같이
Resource
를 변경하십시오.Resources:
DynamoDbTestTable:
Type: AWS::DynamoDB::Table
Properties:
AttributeDefinitions:
- AttributeName: id
AttributeType: S
KeySchema:
- AttributeName: id
KeyType: HASH
# BillingModeを変更
BillingMode: PAY_PER_REQUEST
TableName: test-tables
위와 같이,
BillingMode
를 PAY_PER_REQUEST
로 하는 것으로 설정이 가능합니다.DynamoDB 레코드의 만료 날짜 설정
대량의 트랜잭션 데이터를 저장할 때 등에 레코드의 만료 날짜를 설정하고 싶습니다.
이 설정을 알기 전에는 Lambda에서 일괄 처리를 작성하여 레코드를 삭제했습니다.
serverless-dynamodb-ttl 이 플러그인을 사용하는 것으로 간단하게 설정할 수 있으므로, 사용합니다.
$ npm install serverless-dynamodb-ttl --save
그런 다음
serverless.yml
를 편집합니다.plugins
섹션에 플러그인명을 추가해, custom
섹션에 설정을 하는 테이블명과 만료일을 포함한 컬럼명을 지정합니다.plugins:
- serverless-dynamodb-ttl
custom:
dynamodb:
ttl:
- table: test-table # テーブル名
field: expiration_date # カラム名
expiration_date
는 unixtime
에서 만료일을 설정해야 합니다.Serverless의 시간대를 일본 시간으로 변경
일본 시간으로 변경하려면
serverless.yml
의 provider
섹션에 환경 변수 TZ: Azia/Tokyo
를 설정해 주면 변경할 수 있습니다.provider:
environment:
TZ: Asia/Tokyo
끝에
앞으로도 편리한 설정이 있으면 추기 예정이므로, 이런 편리한 설정이 있어 등 가르쳐 주실 수 있으면 다행입니다.
Reference
이 문제에 관하여(Serverless Framework에서 알아두면 편리한 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sayama0402/items/28fe9b51b17c2bd66324텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)