Lambda에서 EC2를 예약 시작/중지하는 Serverless Framework 템플릿

이것은 AWS Lambda Advent Calendar 2017의 16 일째 기사가되었습니다.



소개


  • 컨테이너 붙어 있는 요즈음은, 오랫동안 Lambda나 Serverless Framework 만지지 않고 없었습니다만, EC2를 8시에 기동해, 20시 반에 정지하는 요건이 부상했으므로, 바삭바삭 sls로 만들었습니다.
  • 소스는 Github 에서 공개하고 있습니다.
  • 지극히 간단한 내용이므로, 속공 실현할 수 있다고 생각합니다.

  • 환경 설정



  • 마지막 기사 를 참고해 주세요.
    htps : // 코 m / 우키 치 얀 / ms / 945d84282726d3 2c2f

  • Serverless Framework에서 Deploy



    소스 얻기


  • 다음 Github에서 소스를 가져옵니다.
  • $ git clone https://github.com/ukitiyan/operation-ec2-instance.git
    

    STS (Eclipse)로 가져 오기


  • STS를 시작하고 Project Explorer -> 마우스 오른쪽 버튼 클릭 -> Maven -> Existing Maven Projects에서 이전 Github에서 가져온 "operation-ec2-instance"폴더를 선택합니다.

  • serverless.yml 수정 + Build


  • serverless.yml의 L37 주변 설정을 적절히 수정합니다.
  • rate: AWS Lambda - Scheduled Event의 Cron 형식 참고로 UTC
  • instanceId : 대상 인스턴스의 instanceId를 설명합니다
  • schedule은 세로로 늘릴 수 있으므로 여러 인스턴스에 대응할 수 있습니다. (이를 기반으로 환경 변수에 instanceId를 지정하지 않습니다.)


  • serverless.yml
    - schedule:
        rate: cron(30 11 * * ? *)
        input:
          goal: stop
          instanceId: i-XXXXXXXXXXXXXXXXX
    - schedule:
        rate: cron(0 23 * * ? *)
        input:
          goal: start
          instanceId: i-XXXXXXXXXXXXXXXXX
    
  • 프로젝트를 마우스 오른쪽 버튼으로 클릭 -> Run As -> Maven Install로 빌드합니다.
  • target 아래에 operation-ec2-instance.1.0.0.jar가 완성됩니다.

  • Deploy


  • 예와 같이, 이하의 커멘드 일발입니다.
  • $ cd operation-ec2-instance
    $ serverless deploy -v
    Serverless: Packaging service...
    Serverless: Uploading CloudFormation file to S3...
    Serverless: Uploading artifacts...
    ・
    ・
    Serverless: Stack update finished...
    Service Information
    service: operation-ec2-instance
    stage: prod
    region: ap-northeast-1
    api keys:
      None
    endpoints:
      None
    functions:
      aws-java-maven-prod-hello: arn:XXXXXXXX
    
  • 아래의 Json에서 콘솔에서 test 하거나 설정 시간이 될 때까지 기다려 문제가 없는지 걱정해 둡시다.
  • {
      "goal": "stop",
      "instanceId": "i-XXXXXXXXXXXXXXXXX"
    }
    

    요약


  • 뭐, 야츠케입니다만. 속공 실현 할 수 있었습니다.
  • STS에서 완결하는 것이 앱 가게에게는 정말 기쁩니다.
  • 좋은 웹페이지 즐겨찾기