AWS日記② (AWS Lambda)


はじめに

今回はLambdaを利用してサーバレスなWEBページを作成します。

作成したLambda関数

準備

Lambda , API Gateway を設定し、サンプルコードを実行出来るようにします。
もしAWSアカウントを持っていなければ、AWSアカウントを作成 します

AWS Lambdaの管理ページから関数を作成します。
Lambdaにコードをデプロイした後、基本設定のハンドラを 「main」 に設定します。

API Gatewayの管理ページからAPIを作成します。
API Gatewayの設定から GETメソッドを作成し、Lambdaにつなげます。

[参考資料]
API Gateway + LambdaでREST API開発を体験しよう [10分で完成編]
[AWS] Lambda + API Gatewayでサーバレスを始める 1

WEBページ作成

GO言語のAWS Lambda関数ハンドラー aws-lambda-go を使用してHTMLを返す処理を作成します。

[参考資料]
Go の AWS Lambda 関数ハンドラー
AWS Lambda で Go が使えるようになったので試してみた
golang で html/template でのテンプレートの継承と、HTML エスケープしないで変数を出力する方法

HTMLを返すため、レスポンスヘッダの Content-Type に text/html を設定します。

main.go
Headers: map[string]string{
  Content-Type: "text/html",
},

公開

カスタムドメインを設定し、独自のURLでアクセス出来るようにします。

今回は Amazon Route 53 を利用してドメインを登録します。

[参考資料]
ドメイン名の登録
API GatewayをカスタムドメインでHTTPS化する
API Gatewayでカスタムドメインを利用する

終わりに

参考資料が豊富で、ほぼ資料通りに進めるだけでサーバレスなWEBページを作成できます。
資料が古い場合、AWSの設定画面が変更されている部分があるため柔軟に読み替える必要があります。