はじめに
LambdaをDockerイメージでデプロイする方法を、調査する機会があったので自分の備忘用にメモ書きを残します。
実行環境は、前回から引き続きになります。
今回は、ECRにデプロイしてLambdaとして動作させる所をメモ書きします。
AWS CLIを利用できるようにConfigureを実施
ECR関連を操作できるアクセスキーを用意して、configureする
aws configure
- アクセスキー:払い出した物
- シークレットキー:払い出した物
- Default Region:ap-northeast-1
- Default 出力フォーマット:json
ECRにデプロイする
aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin 【AWSアカウントID】.dkr.ecr.ap-northeast-1.amazonaws.com
「Login Succeeded」と出力されれば成功。
ECRにリポジトリを作成する
aws ecr create-repository --repository-name deploy_test --region ap-northeast-1 --image-scanning-configuration scanOnPush=true --image-tag-mutability MUTABLE
出力されるJSONの内、「repositoryUri」の値をメモする。
Dockerタグをリポジトリを紐づける
docker tag deployproject:test1(ビルドの時に使用したタグ)
【AWSアカウントID】.dkr.ecr.ap-northeast-1.amazonaws.com/deploy_test(先の手順でメモした「repositoryUri」)
ECRでイメージの登録
docker push 【AWSアカウントID】.dkr.ecr.ap-northeast-1.amazonaws.com/deploy_test:latest
Lambdaのコンテナイメージを使用して作成
まとめ
コンテナからデプロイするとソースは勿論閲覧できない。
いわゆるLambdaの「環境変数」や、「一般設定」、実行IAMロールは変更可能でした。
AWSの相談・お困りごとありましたら、、、
AWSの活用方法や、お困りごとの相談、随時、お仕事の受付しております。
AWSのLambda開発関連で、ライトな開発や、ちょっと、こんな事を自動化したい!等も、お気軽に問い合わせください。