1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWS CLIのインストールからLambda作成までの流れ

Last updated at Posted at 2021-09-29

はじめに

GCP好きですが、わけあってAWSを使う必要がでてきました。
そんなAWS初心者のメモです。

AWS CLIインストール

macOSの手順は以下にまとめられています。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2-mac.html

色々書いていますがユーザーインターフェースを使用したインストールが楽そうだったので、最新バージョンのAWS CLIをダウンロードしてインストールしました。

インストールの検証

以下のコマンドで確かめます。

$ which aws
/usr/local/bin/aws 
$ aws --version
aws-cli/2.1.29 Python/3.7.4 Darwin/18.7.0 botocore/2.0.0

AWS CLIのセットアップ

手順は以下にまとめられています。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-quickstart.html

まずアクセスキーIDとシークレットアクセスキーが必要になるため作成します。
IAM→ユーザー→適当なユーザーを選択→認証情報タブ→アクセスキーの作成
をクリックすると作成できます。

次に以下のコマンドでアクセスキーIDとシークレットアクセスキーを設定します。

$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAxxxx
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLxxxx
Default region name [None]: ap-northeast-1
Default output format [None]: json

Lambda作成

手順は以下にまとめられています。
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/gettingstarted-awscli.html

実行ロール作成

aws iam create-role --role-name lambda-ex --assume-role-policy-document '{"Version": "2012-10-17","Statement": [{ "Effect": "Allow", "Principal": {"Service": "lambda.amazonaws.com"}, "Action": "sts:AssumeRole"}]}'

ロールにポリシーをアタッチ

AWSLambdaBasicExecutionRoleというCloudWatchにログを書き込むポリシーをアタッチします。

aws iam attach-role-policy --role-name lambda-ex --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole

関数を作成

test.py
import json

def lambda_handler(event, context):
    # TODO implement
    return {
        'statusCode': 200,
        'body': json.dumps('Hello from Lambda!')
    }

デプロイパッケージを作成

zip test.zip test.py

Lambda関数を作成

--function-nameで関数名を指定し、
--zip-fileでzipファイル名を指定し、
--handlerでファイル名+ピリオド+実行する関数名を指定し、
--runtimeでランタイムを指定し、
--roleで先ほど作成したロールを指定します。
123456789012の部分はアカウントIDを指定してください。

aws lambda create-function --function-name test4 \
--zip-file fileb://test.zip --handler test.lambda_handler --runtime python3.9 \
--role arn:aws:iam::123456789012:role/lambda-ex

Lambdaの確認

以下のように作成されています。

image.png

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?