컨테이너 이미지를 사용하여 Lambda 함수 만들기
AWS Lambda의 새로운 기능 – 컨테이너 이미지 지원 | Amazon 웹 서비스 블로그
그래서 나는 절차를 간단하게 정리했다.
소스 코드 만들기
어쨌든 먼저 Lambda 함수를 풀기 위한 소스 코드를 만듭니다.
이번에는 노드다.js로 제작.
먼저 생성
package.json
합니다.package.json
{
"name": "lambda-container-image-example",
"license": "MIT"
}
실행npm install
및 생성package-lock.json
.# `npm i` でも可
$ npm install
파일index.js
을 만들고 Lambda 함수가 실행하는 프로세서 코드를 설치합니다.행사 내용을 그대로 답장하면 된다.
index.js
exports.handler = async (event) => {
return event;
};
컨테이너 이미지 만들기
Docker file 만들기
Dockerfile
.이번 기본 이미지는 AWS에서 제공한 이미지를 사용합니다.
Lambda에서 사용한 AWS 기반 이미지 일람은 "Lambda 컨테이너 이미지 실행 시간 지원 - AWS Lambda"을 참조하십시오.
또한 기본 이미지를 사용하는 방법에 대해서는 "Lambda 컨테이너 이미지 만들기 - AWS Lambda"을 참조하십시오.
Dockerfile
# AWS ベースイメージを使用
FROM public.ecr.aws/lambda/nodejs:14
# ソースコードを関数のルートディレクトリにコピーします。
# 関数のルートディレクトリは `LAMBDA_TASK_ROOT` 環境変数を上書きすることで変更することができます ( デフォルトは `/var/task` ) 。
COPY index.js package.json package-lock.json /var/task/
RUN npm install
# CMD にハンドラを設定します。
# Node.js の場合は `{ファイル名(拡張子なし)}.{関数名}` のように指定します。
# 今回は `index.js` の `handler` 関数をハンドラとして用意しているので以下のようになります。
CMD ["index.handler"]
현지에서 실행해 보도록 하겠습니다.
실행 시간 인터페이스 시뮬레이터 로컬에서 함수를 실행할 수 있습니다.
먼저 컨테이너 이미지를 구성합니다.
$ docker build -t lambda-container-image-example .
docker run
로 컨테이너를 가동한다.POST 요청을
$ docker run --rm -p 8080:8080 lambda-container-image-example:latest
localhost:8080/2015-03-31/functions/function/invocations
에 전송하여 함수를 실행할 수 있습니다.$ curl -X POST "http://localhost:8080/2015-03-31/functions/function/invocations" -d '{"key":"value"}'
{"key":"value"}
ECR 저장소로 이미지 밀어넣기
ECR 웨어하우스 작성
관리 콘솔에서
リポジトリを作成
를 클릭하여 ECR 저장소를 만듭니다.이번 창고명은
lambda-container-image-example
입니다.또한 기본값으로
リポジトリを作成
을 클릭합니다.그림을 밀다
이미지를 로컬로 구축하고 ECR 저장소로 밀어냅니다.
관리 콘솔에서 창고를 선택한 상태에서
プッシュコマンドの表示
를 클릭하여 구축 ~ 추용 명령을 확인할 수 있습니다.실제 명령은 다음과 같다.
# ログイン
$ aws ecr get-login-password --region {リージョン} | docker login --username AWS --password-stdin {アカウントID}.dkr.ecr.{リージョン}.amazonaws.com
# コンテナイメージをビルド
$ docker build -t lambda-container-image-example .
# イメージにタグをつける
$ docker tag lambda-container-image-example:latest {アカウントID}.dkr.ecr.{リージョン}.amazonaws.com/lambda-container-image-example:latest
# ECR にイメージをプッシュ
$ docker push {アカウントID}.dkr.ecr.{リージョン}.amazonaws.com/lambda-container-image-example:latest
컨테이너 이미지를 사용하여 Lambda 함수 만들기
관리 콘솔에서 함수를 만듭니다.
옵션
コンテナイメージ
을 선택합니다.함수명은 이번에
lambda-container-image-example
로 정했다.컨테이너 이미지 URI에 ECR 창고로 밀어 넣은 컨테이너 이미지의 URI를 입력합니다.
이번에
{アカウントID}.dkr.ecr.{リージョン}.amazonaws.com/lambda-container-image-example:latest
.컨테이너 이미지를 사용하여 Lambda 함수를 작성합니다.
GitHub
참고 자료
Reference
이 문제에 관하여(컨테이너 이미지를 사용하여 Lambda 함수 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/kou_pg_0131/articles/lambda-container-image텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)