0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS構築 - 初学者説明メモ

Last updated at Posted at 2024-04-12

0. はじめに

この記事はAWS上にLambdaをアップロードする方法についてのメモです

image.png

1.CLIの環境構築

  1. AWS CLIの環境構築する
    https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/prerequisites.html

  2. AWS SAM CLIの環境構築する
    https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/install-sam-cli.html

  3. SAMを使ってLambdaのコードを書く
    https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/serverless-getting-started-hello-world.html

2. Pythonの環境構築

python3 --version

仮想環境の作成

python3 -m venv venv

仮想環境のアクティベート

source venv/bin/activate

3.SAMでデプロイする

template.yamlを作成する

AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
Resources:
  MyFunction:
    Type: 'AWS::Serverless::Function'
    Properties:
      CodeUri: src/
      Handler: app.lambda_handler
      Runtime: python3.12

pythonでLambdaのコードを書く

def lambda_handler(event, context):
    return {
        'statusCode': 200,
        'body': 'Hello from Lambda!'
    }

pythonコードをビルドする

sam build

ビルドしたファイルをSAMコマンドでデプロイする

## 初回
sam deploy --guided

## 次回
sam deploy

おわりに

IaC達の選択肢

  • AWS cloudformation
  • AWS CDK
  • AWS SAM (Lambda)
  • terraform (3rd Party)
  • serverless framework (3rd Party)

どれがいい?

AWS公式? 3rd Party?

  • 最新機能追加されたら公式の方が対応早い
  • 3rd Partyの場合(terraform)、マルチクラウドに対応していて書き方一緒
    → 辞められたら負債になりそう
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?