Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Apexで複数環境のLambda関数をデプロイする話 #jawsug

Apexで複数環境のLambda関数をデプロイする話 #jawsug

kariyayo

July 14, 2016
Tweet

More Decks by kariyayo

Other Decks in Programming

Transcript

  1. "QFY • [JQ Ξοϓϩʔυ όʔδϣϯൃߦ ΤΠϦΞεͷߋ ৽Λ΍ͬͯ͘ΕΔ • ෳ਺ͷ-BNCEBؔ਺Λѻ͑Δ •

    (P੡ • (PͰॻ͍ͨ-BNCEBؔ਺ʹ΋ରԠͯ͠Δ • ͳͲͳͲଞʹ΋৭ʑ
  2. "QFY • ϓϩδΣΫτͱ͍͏୯ҐͰෳ਺ͷ-BNCEBؔ਺Λ؅ཧ my-pj ├── functions/ │ ├── func1/ │

    │ ├── index.js │ │ ├── note_modules/ │ │ └── package.json │ └── func2/ │ └── index.js └── project.json
  3. "QFY • ϓϩδΣΫτͱ͍͏୯ҐͰෳ਺ͷ-BNCEBؔ਺Λ؅ཧ my-pj ├── functions/ │ ├── func1/ │

    │ ├── index.js │ │ ├── note_modules/ │ │ └── package.json │ └── func2/ │ └── index.js └── project.json { "name": "my-lambda-pj", "description": "", "runtime": "nodejs4.3", "memory": 128, "timeout": 5, "role": "arn:aws:iam::<hogehoge>" } QSPKFDUKTPOʹ-BNCEBͷઃఆΛهड़͢Δ
  4. "QFY • ϓϩδΣΫτͱ͍͏୯ҐͰෳ਺ͷ-BNCEBؔ਺Λ؅ཧ my-pj ├── functions/ │ ├── func1/ │

    │ ├── index.js │ │ ├── note_modules/ │ │ └── package.json │ └── func2/ │ └── index.js └── project.json ͰσϓϩΠ $ apex deploy
  5. .VMUJQMF&OWJSPONFOUT • "QFY͸ෳ਺؀ڥΛαϙʔτͯ͠Δ my-pj ├── functions/ │ ├── func1/ │

    │ ├── index.js │ │ ├── note_modules/ │ │ └── package.json │ └── func2/ │ └── index.js ├── project_dev.json └── project_prod.json 環境毎の設定ファイルを用意 • project_dev.json • project_prod.json
  6. .VMUJQMF&OWJSPONFOUT • "QFY͸ෳ਺؀ڥΛαϙʔτͯ͠Δ my-pj ├── functions/ │ ├── func1/ │

    │ ├── index.js │ │ ├── note_modules/ │ │ └── package.json │ └── func2/ │ └── index.js ├── project_dev.json └── project_prod.json $ apex deploy --env prod ͰσϓϩΠ
  7. http://apex.run/#how-do-you-manage-multiple-environments “It’s highly recommended to create separate AWS accounts for

    staging and production environments.” • "QFYͰ͸ɺ؀ڥ͝ͱʹ"84ΞΧ΢ϯτΛ෼͚Δ ͜ͱΛਪ঑ͯ͠Δ
  8. • ઃఆϑΝΠϧͷOBNF@UFNQMBUFϓϩύςΟ my-pj ├── functions/ │ ├── func1/ │ │

    ├── index.js │ │ ├── note_modules/ │ │ └── package.json │ └── func2/ │ └── index.js ├── project_dev.json └── project_prod.json { ・・・, "nameTemplate": "・・・" }