$30 off During Our Annual Pro Sale. View Details »

2021.09-DeployDeGo!!

w2or3w
September 24, 2021
13

 2021.09-DeployDeGo!!

w2or3w

September 24, 2021
Tweet

Transcript

  1. Lambdaで Go!!
    @w2or3w
    2021.09.24 JAWS-UG浜松 AWS勉強会 2021#9

    View Slide

  2. LambdaでGo!!
    Go言語のプログラムをLambdaにデプロイします。
    1. ZIPファイルでデプロイ
    2. コンテナイメージでデプロイ
    3. CodePipelineでCICD
    今日やること

    View Slide

  3. ナカムラ ツカサ (38)
    浜松市在住の
    リーマンアプリケーションエンジニア
    好き:
    サーバーレスWebアプリ制作,
    CI/CD, データレイク, データ連携
    Amplify, APIGateway, Lambda, DynamoDB, S3,
    CodePipeline, CodeBuild
    転職して3ヶ月
     Webアプリ(Nuxt)の実装しつつ、
     CICD担当としてAWSと戯れる日々。
    @w2or3w
    2(ツー) or(~か) 3(サン)
    自己紹介

    View Slide

  4. ◯ learn-run-go/01.helloworld
    ★ learn-run-go/02.lambda
    ◯ learn-run-go/03.webapp
    $ git clone https://github.com/ww2or3ww/learn-run-go.git
    ローカル環境を汚したくない場合は、
    Cloud9をご利用ください。
    LambdaでGo!!

    View Slide

  5. { "hello", "world!" } というJSON を BODY で返す Lambda ファンクション。
    LambdaでGo!!

    View Slide

  6. 1. ZIPファイルでデプロイ
    1.1. ローカルで実行する。

    View Slide

  7. 1. ZIPファイルでデプロイ
    1.2. デプロイする。

    View Slide

  8. 2. コンテナイメージでデプロイ
    2.1. ローカルでコンテナを立ち上げて実行する。

    View Slide

  9. 2. コンテナイメージでデプロイ
    2.2. デプロイする。
    $ aws ecr get-login-password --region ap-northeast-1 | \
    docker login --username AWS --password-stdin \
    ${AWS_ACCOUNT_ID
    }.dkr.ecr.ap-northeast-1.amazonaws.com
    $ docker build -f Dockerfile.release -t learn-run-go-release .
    $ docker tag learn
    -run-go-release:latest \
    ${AWS_ACCOUNT_ID
    }.dkr.ecr.ap-northeast-1.amazonaws.com/learn-run-go-repository:latest
    $ docker push ${AWS_ACCOUNT_ID
    }.dkr.ecr.ap-northeast-1.amazonaws.com/learn-run-go-repository:latest

    View Slide

  10. 2. コンテナイメージでデプロイ
    Dockerfileの差分 (Debug / Release)

    View Slide

  11. 3. CodePipelineでCI/CD
    2021.06.25 JAWS-UG浜松 AWS勉強会 2021#6で話をした
    GoのLambdaをCodePipelineでCI/CD化

    View Slide

  12. 3. CodePipelineでCI/CD
    本当は最後にやってる Lambdaの更新(aws lambda update-function-code)、
    デプロイステージでやらせたかったけど、やりかた何もわからん、、。
    (AWS CloudFormationでやるっぽい。 )

    View Slide

  13. Enjoy Deploy🚀
    Thank You !!
    @w2or3w

    View Slide