以下の手順に沿ってsam cliをインストール
AWS CLIをインストールする。
sam cliはAWS CLIにも依存しているので。
設定
IAM→ユーザーを選択

ユーザーを選択

セキュリティ認証情報

アクセスキーを作成

作成して.csvダウンロードします。

以下コマンドを実行してAWS CLIの設定を行います。
先ほどダウンロードしたアクセスキーやシークレットキーを使って設定を終えます。
1 |
aws configure |
Dockerをインストールします。
sam cliはDockerに依存しているため。
samプロジェクトの作成
以下コマンドを実行してサンプルプロジェクトを作成します。選択肢は適当に選びます。(使いたい言語はしっかり選択しましょう。)
1 |
sam init |
AWS Quick Start Templates
cloudformation形式で様々なAWSのテンプレートが用意されています。
Hello World Example
API Gateway経由でレスポンスを返すシンプルなサンプル。シンプルな構成なので、template.yamlからAPI Gatewayの記述を消せばシンプルなlamda関数としてデプロイすることも可能です。
アプリケーションのビルド
以下コマンドを実行してプロジェクトのビルドします。
1 |
sam build --use-container |
「.aws-sam」フォルダが生成される。
実行
1 |
sam local invoke HelloWorldFunction |
ビルドした結果が反映される。
デプロイ
1 |
sam deploy -g |
上記コマンドを一度実行すると「samconfig.toml」に設定が書き出されます。一度目もそうですが、二度目以降は「-g」オプションをつかなかった場合は「samconfig.toml」ファイルの内容でそのままデプロイが行われます。
Stack Name
デプロイする CloudFormation のスタック名です。すでに存在する名前を指定すると上書きになる。
AWS Region
デプロイ先のリージョン名になります。日本に住んでいる場合は「ap-northeast-1」で問題ないでしょう。
Confirm changes before deploy [Y/n]
実際にデプロイを実行する前に確認を求めるか。確認を求めない場合はnで問題ないでしょう。
Allow SAM CLI IAM role creation [Y/n]
デプロイで IAM ロールを作成できるようにします。有効にした場合、デプロイしようとしているアプリが不要な権限まで要求していないか注意すること。
Disable rollback [y/N]
もしcloudformationの実行中に問題が発生した場合にロールバックを無効にするかどうかです。(Nならロールバックされます。)
HelloWorldFunction has no authentication. Is this okay? [y/N]
デプロイしようとしているアプリケーションに、認可なしで設定された、パブリックにアクセス可能な Amazon API Gateway API が存在する可能性があることを知らせています。AWS公式で回避策を提供しているので参考にして対策するとよいでしょう。もし認可なしでよい場合は「y」を選択します。
SAM configuration file [samconfig.toml]
デプロイコマンド時に設定ファイルをどれを使うか指定できます。「samconfig.toml」を使うことが普通です。
SAM configuration environment [default]
どの環境設定を使うかを指定します。defaultを指定した場合は「samconfig.toml」内のdefaultと付いたキーを取得して設定します。
アプリケーションの削除
AWS上にアップロードしたSAMアプリケーションを削除することができます。
1 |
sam delete |
この記事へのコメントはありません。