초보자를위한 Node.js에서 Serverless Framework하는 사람.

6288 단어 serverlessAWSNode.js

개요



Serverless Framework를 사용해 보겠습니다.

소개



Serverless Framework를 사용하는 데 3가지 후보를 제공했지만 이 기사에서는 AWS Lambda를 다룹니다.
  • Amazon Web Services
  • AWS Lambda

  • Google Cloud Platform
  • Google Cloud Functions

  • Microsoft Azure
  • Azure Functions


  • 전제 조건



    AWS 계정 생성
    AWS Management Console에 넣기
    IAM에서 액세스 키 만들기
    IAM에서 만든 액세스 키를 확인할 수 있는 상태로 설정
    Homebrew 설치됨
    Node.js 설치 npm -v에 문제없이 버전이 표시됨

    할 일 목록


  • awscli 설치
  • AWS CLI 구성
  • Serverless Framework 설치

  • awscli 설치



    AWS 기능을 터미널에서 사용할 수 있도록 하기 위한 것.
    brew install awscli
    

    AWS CLI 설정


  • accountName 이름
  • --profile는 어떤 계정을 설정할지 명시합니다.
  • (여러 AWS 계정을 처리 할 수 ​​있도록 제대로 분리)

  • aws configure --profile accountName
    

    해설



    IAM에서 만든 액세스 키를 보면서 입력합니다.
    $ aws configure --profile accountName
    AWS Access Key ID [None]: ここには Access key ID
    AWS Secret Access Key [None]: ここには Secret access key
    Default region name [None]: ap-northeast-1
    Default output format [None]: json
    
  • Default region name에 대해 궁금한 사람은 지역 및 가용 영역
  • Default output format에는 몇 가지 종류가 있지만 걱정되는 사람은 출력 형식 정보

  • Serverless Framework 설치


    npm install -g serverless
    

    Serverless Framework로 병아리 만들기


  • --templateserverless create --help에서 확인할 수 있습니다
  • .
  • --path에 지정된 이름의 디렉토리가 생성됨
  • serverless create --template aws-nodejs --path quick-start
    

    실행 결과


    "
     _______                             __
    |   _   .-----.----.--.--.-----.----|  .-----.-----.-----.
    |   |___|  -__|   _|  |  |  -__|   _|  |  -__|__ --|__ --|
    |____   |_____|__|  \___/|_____|__| |__|_____|_____|_____|
    |   |   |             The Serverless Application Framework
    |       |                           serverless.com, v1.36.3
     -------'
    
    Serverless: Successfully generated boilerplate for template: "aws-nodejs"
    

    작업 디렉토리로 이동


    cd quick-start
    

    즉시 AWS에 배포


  • --verbose는 정보를 자세히 제공합니다
  • --aws-profileaws configure --profile 때 이름을 넣습니다
  • --region는 도쿄 (ap-northeast-1) 지정
  • serverless deploy --verbose --aws-profile accountName --region ap-northeast-1
    

    실행 결과


    Serverless: Packaging service...
    Serverless: Excluding development dependencies...
    Serverless: Creating Stack...
    Serverless: Checking Stack create progress...
    
    ~~
    ~~
    
    Serverless: Stack update finished...
    
    Service Information
    service: quick-start
    stage: dev
    region: ap-northeast-1
    stack: quick-start-dev
    api keys:
      None
    endpoints:
      None
    functions:
      hello: quick-start-dev-hello
    layers:
      None
    
    Stack Outputs
    HelloLambdaFunctionQualifiedArn: ...
    ServerlessDeploymentBucketName: ...
    

    배포한 사람을 AWS에서 확인



    AWS 콘솔에 로그인한 후


  • 도쿄 지역에 있는지 확인
  • 서비스 검색에서 Lambda 검색



  • Lambda 화면에서


  • 왼쪽에 보이는 함수를 클릭
  • 이번에 배포 한 "quick-start-dev-hello"를 클릭



  • quick-start-dev-hello 화면



    이 화면을 활용하는 방법은 별도 기사에서 설명합니다.
    배포한 것은 이와 같이 확인할 수 있습니다.



    배포한 녀석 실행


  • --function 실행하려는 함수의 이름
  • --log는 실행시 메모리 사용량, 실행 시간, 과금 대상 시간 등을 표시
  • --aws-profile, --region는 지난번 거리
  • serverless invoke --function hello --log --aws-profile accountName --region ap-northeast-1
    

    실행 결과


    {
        "statusCode": 200,
        "body": "{\"message\":\"Go Serverless v1.0! Your function executed successfully!\",\"input\":{}}"
    }
    

    마지막으로



    이번 시험에 동작시킨 것을 지우기



    불필요하다면 버린다.
    필요한 경우 serverless deploy합시다.
    serverless remove --aws-profile accountName --region ap-northeast-1
    

    다음 번



    Serverless Framework를 사용하여 API 서버를 빌드하는 방법을 살펴보겠습니다.

    좋은 웹페이지 즐겨찾기