Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS SAMをさわってみた話 / Try AWS SAM

naoya_s
February 18, 2022

AWS SAMをさわってみた話 / Try AWS SAM

naoya_s

February 18, 2022
Tweet

More Decks by naoya_s

Other Decks in Programming

Transcript

  1. AWS SAM(Serverless Application Model)の簡単な紹介 • AWSが提供しているサーバーレスアプリケーション構築用のフレームワーク 
 • AWS CloudFormationの拡張

    
 ◦ AWS CloudFormationで利用できるリソースや組み込み関数も使える 
 ◦ 各種SaaSとのインテグレーションもサポート(Datadog・GitHub Actionsなど) 
 • ローカルでのデバッグが容易 
 ◦ AWS Tookkitを使ってコードのステップスルーやデバッグが可能 
 ◦ SAM CLIを使うことで実際のLambda実行環境をローカルに再現できる 

  2. 1. セットアップ(macOS向け) 
 2. プロジェクト作成
 3. 動作確認
 4. ビルド
 5.

    デプロイ
 開発の流れ ❗注意❗ ・ローカルでLambdaを実行する場合はDockerも必要 ・IAMの権限とAWS認証情報の設定は事前に行っておく
  3. 1. セットアップ
 2. プロジェクト作成
 3. 動作確認
 a. ペイロード作成
 b. Lambdaの実行


    4. ビルド
 5. デプロイ
 開発の流れ 【対応オプション】 alexa-skills-kit alexa-smart-home apigateway batch cloudformation cloudfront cloudwatch codecommit codepipeline cognito config dynamodb kinesis lex rekognition s3 ses sns sqs stepfunctions
  4. 1. セットアップ
 2. プロジェクト作成
 3. 動作確認
 a. ペイロード作成
 b. Lambdaの実行


    4. ビルド
 5. デプロイ
 開発の流れ ❗注意❗ AWS SAM テンプレートに複数の関数が定義されている場合は、 関数の論理IDを指定する必要があります
  5. 1. セットアップ
 2. プロジェクト作成
 3. 動作確認
 4. ビルド
 5. デプロイ


    開発の流れ SAMのテンプレートやアプリケーションコードの ビルドを実施。期待される形式と保存場所に アーティファクトをコピーする
  6. 1. セットアップ
 2. プロジェクト作成
 3. 動作確認
 4. ビルド
 5. デプロイ


    a. ローカル
 b. CI/CD
 開発の流れ 初回デプロイのみ対話形式で設定を行う (実行時に設定を引数で渡すことで省略可) 実行後はtoml形式のファイルが生成されて、次回以降はその ファイルが参照される
  7. 1. セットアップ
 2. プロジェクト作成
 3. 動作確認
 4. ビルド
 5. デプロイ


    a. ローカル
 b. CI/CD
 開発の流れ GitHub Actionsを使ったデプロイパイプラインも、 公式がアクションを公開している もちろん、AWS CodePipelineも対応! その他サービスのサポートに関しては、 ドキュメントを参照ください 🙏