スポンサーリンク

【AWS DVA】AWS SAMを使ってみた|Hello World チュートリアル

AWS
スポンサーリンク

こんにちは!在宅カエルです。

現在AWS DVAの勉強をしています。
AWS SAM(Serverless Application Model)についてテキストのみだと
イメージが湧かなかったので実際に操作してみようと思います。

今回はAWS公式が提供している「Hello World チュートリアル」が
デプロイ手順が簡単そうなので利用してみます。

スポンサーリンク

AWS SAM とは

AWS SAM(Serverless Application Model)は
サーバーレスアプリケーション構築用のオープンソースフレームワークです。

Lambda、API Gateway、DynamoDB、S3、などを組み合わせた
サーバレスアプリケーションの構築を自動化することができます。

AWSサービスのデプロイにはCloudFormationが利用されています。

【AWS SysOps】プロビジョニングの自動化
CloudFormation
こんにちは!在宅カエルです! 今回もAWS SysOps Administrator Associate(SOA) 受験に向けて学習を進めます。 主に自分の勉強用ですが、SOAを受験する方も 是非参考にしてみてください! こんな方に...

準備

チュートリアルの実施にあたってSAM CLIなど準備が必要です。

AWS SAM CLI

AWS SAMはCLIで操作するのでAWS SAM CLIをインストールしましょう。
手順については下記記事にまとめています。

AWS SAM CLIをインストールしてみた|AWS DVA勉強記録
こんにちは!在宅カエルです。 今回はAWS DVA(デベロッパーアソシエイト)の勉強をしていて 「AWS SAMを触ってみたい!」と思いAWS SAM CLIをインストールしてみました。 インストール手順はAWS公式サイトに載...

Python3.7.0のインストール

「Hello Worldチュートリアル」では実行環境を選択できます。
どの実行環境でも問題ないですが、今回はPython3.7.0を選択しようと思います。
御自身の実行環境に合わせて適宜ご準備ください。

Pythonのインストール手順について
以下のサイトが分かりやすかったです。(Macです。)

Pythonの開発環境を用意しよう!(Mac)
Progateはオンラインでプログラミングを学べるサービスです。プログラミングを学んでWEBアプリケーションを作ろう。

Hello Worldチュートリアル

Hello WorldチュートリアルはAWS公式サイトを参考に実施しています。

チュートリアル: Hello World アプリケーションのデプロイ - AWS Serverless Application Model
AWS SAM を使用して、基本的な Hello World アプリケーションを AWS クラウド にデプロイする方法を学びます。

①sam init ②sam build ③sam deployの3ステップから成るので
ステップ毎に確認していきます。

sam init

ターミナルを開き、「sam init」を実行します。
「sam init」コマンドはサーバレスアプリケーションの初期化を行います。
この初期化処理ではテンプレートが作成されます。

sam init

テンプレートを選択する質問が表示されるので「1」を選択します。

続いてサンプルアプリケーションのパッケージタイプを選択します。

ZIP:zip ファイルアーカイブを作成
Image:
コンテナイメージを作成

今回は1を選択します。

実行環境を選択します。
お使いの環境に合わせて選択していただいて問題ないです。
今回は Python3.7を選択します。

project nameを入力します。
デフォルトで「sam-app」が設定されていますので、変更の必要がなければ
未入力で問題ありません。

次のテンプレートの選択では「Hello World Example」を選択します。

これで「sam init」による初期設定は完了です。
設定内容が表示されます。

「sam-app」というフォルダが以下のような構成で作成されます。
(フォルダ名は自分でつけたものになります。)

AWS SAM はCloud Formationの拡張機能ですので、
ここで作成される「template.yaml」というyaml形式のファイル内に
テンプレートが記述されています。

sam build

続いて「sam build」コマンドでbuildします。
コマンドを実行する前に「sam init」で作成したフォルダまで移動しましょう。
私の場合「sam-app」フォルダに移動してコマンドを実行します。

sam build

コマンドを実行してしばらくすると、画像の通り「Build Succeeded」と表示されます。
buildはこれで完了です。

sam deploy

「sam deploy」コマンドでAWSアカウントにリソースを構築します。
リソースの構築にはCloud Formationが利用されます。

sam deploy --guided

–guidedオプションをつけることで、実行されている内容を対話形式で表示します。

スタック名(起動するリソース群の名称)とリージョンを設定します。
デフォルト値の「sam-app」「ap-northeast-1」で問題ないので入力せずに進めます。

その後は画面に表示される質問に回答していきます。

 

最後の質問に回答し、しばらく待つとデプロイが完了します。
OutputsセクションにURLがあるのでアクセスしてみると動作を確認できます。

▽Outputsセクション

画像のように「hello world」と表示されればデプロイは成功です。

マネジメントコンソールからスタックが作成されているか確認します。

マネジメントコンソール>Cloud Formationからスタックを確認すると「sam-app」
というスタックが作成されていることが確認できました。

※チュートリアル実施後、不要であればスタックは削除しておきましょう。

まとめ

簡単なチュートリアルですが実際に手を動かすことによって、
AWS SAMについてイメージが掴めました。

勉強を進めながらわからない部分があれば
積極的にAWSサービスを動かしていきたいと思います。

今回は以上になります。
最後までお読みいただきありがとうございました。

 

コメント

タイトルとURLをコピーしました