More Related Content
Similar to サーバーレスの基本とCI/CD構築 & 運用 〜システムは動いてからが本番だ〜 (20)
サーバーレスの基本とCI/CD構築 & 運用 〜システムは動いてからが本番だ〜
- 103. #cmdevio
#cmdevio3
103
AssumeRoleを活⽤したデプロイ例
AWS Identity and Access Management (IAM)
AssumeRole
アクセスキー
(⼀時的)
CloudFormation
アクセスキー
IAMロール
(IAMユーザ⽤)
IAMロール
(CloudFormation⽤)
IAMユーザ
IAMポリシー
デプロイよろしく〜
IAMロール(CloudFormation⽤)を使ってね
IAMポリシー IAMポリシー
sam deploy ¥
--template-file packaged.yaml ¥
--stack-name Deploy-Iam-Sample-SAM-App ¥
--capabilities CAPABILITY_IAM ¥
--role-arn arn:aws:iam::1234567890:role/deploy-iam-sample-deploy-role-for-cloudformationç
- 115. #cmdevio
#cmdevio3
115
エラー監視の理想と現実
理想 現実(私の携わるプロジェクト)
知りたいこと 「何を知りたいのか」を事前に検討する
‧運⽤者の視点: 異常はないか?
‧開発者の視点: Lambdaにエラー発⽣してないか?
‧利⽤者の視点: 期待通り使えるか?
など
しっかり検討できてない
(検知できる事のうち、必要そうな
やつ)
検知⽅法&条件 「知りたいこと」を検知する⽅法や条件を個別に考える
‧Lambdaのエラーが1分で1回発⽣
‧Lambdaのエラーが5分で5回発⽣
‧ログに特定の⽂字列が1回出現
など
Lambdaのエラー(タイムアウト等
も含む)
Lambdaのログに「Error」を含む
DynamoDBのスロットリング発⽣
など
通知条件 即時対応が必要:すぐ通知
即時対応が不要:すぐ通知(即時とは区別する)
まとめて通知(1⽇1回など)
検知したもの全部を即通知
通知⽅法 内容(重要度)や時間帯に合わせる
‧業務中 :Slack、メール、電話
‧休⽇夜間:Slack、メール
緊急時は休⽇夜間でも電話
など
Slackのみ
- 133. #cmdevio
#cmdevio3
133
参考
CircleCIとGitHubでAWS SAMのサーバーレスアプリを⾃動デプロイしてみた (開発環境 & 本番環境)
https://dev.classmethod.jp/cloud/aws/aws-sam-auto-deploy-for-circleci/
[AssumeRole] アクセスキーが流出しても被害が最⼩限になるIAMユーザでCloudFormationにデプ
ロイする⽅法
https://dev.classmethod.jp/cloud/aws/assume-role-deploy-iam-user-and-role/
【⼩ネタ】CircleCIのManual Approvalを利⽤したシンプルなブランチ/タグ運⽤
https://dev.classmethod.jp/ci/simple-branch-tag-operations-with-circleci-manual-approval/
【実録】アクセスキー流出、攻撃者のとった⾏動とその対策
https://dev.classmethod.jp/cloud/aws/accesskey-leak/
サーバーレス開発の勘所
https://speakerdeck.com/sinofseven_/sabaresukai-fa-falsekan-suo