Preparation - sam init command
$ pip install aws-sam-cli --user
$ sam init --runtime go1.x
$ cd sam-app
$ tree
.
├── hello-world
│ ├── main.go
│ └── main_test.go
├── Makefile
├── README.md
└── template.yaml
単にSAMのテンプレ
だけでなく、
必要なコード類を
一式作ってくれる
Slide 7
Slide 7 text
Scaffold made by sam init
AWS
Lambda
Lambda
function
Amazon API
Gateway
AWS
X-Ray
https://checkip.amazonaws.com
2. 起動
1. GET /hello
監視
3. GET /
4. “192.0.2.1”
5. “Hello,
192.0.2.1”
6. “Hello, 192.0.2.1”
Slide 8
Slide 8 text
How to deploy
AWS
Lambda
1. $go build
2. S3バケット作成(初回のみ)
3. パッケージング(バイナリのアップロード)
$sam package
AWS
CloudFormation
4. デプロイ
$sam deploy
SAM
template
Packaged
SAM
template
Amazon API
Gateway
自動作成
Slide 9
Slide 9 text
Developing Program
Lambda
X-Ray
監視
email
SES
us-west-2 (Oregon)
SNS SNS Lambda
ap-northeast-1 (Tokyo)
• BASE64デコード
• メール→JSON変換
JSON→
SlackへのPOST
Slide 10
Slide 10 text
Developing Program w/ Future works
Lambda
email
SES
us-west-2 (Oregon)
EC2
SNS SNS Lambda
ap-northeast-1 (Tokyo)
GuardDuty
Event
Lambda SNS Lambda
深刻度に応じた
チケット優先度の設定
ルーティング情報は
SNSに集約