今日もラジオ体操からスタート。
セッション① CloudFormation StackSets × Organizations
全体像把握のためざっくり分類
- AWS 内のネットワークとサーバーのセキュリティ
- オンプレの人は得意な部分
- 責任共有モデルの「お客様」設定部分
- AWS 操作の IAM
- セキュリティを維持するための AWS サービス
- AWS 独自の部分
- 利用しなくてもセキュアにできる
- 利用すると楽にセキュアにできる
ガードレールという AWS の設計思想
- 従来は関所
- 1つ1つチェック、詰まることもある
- ガードレール
- スピード出しすぎても外に出ないように
セキュリティサービス
- CloudTrail
- Config
- GuardDuty
- SecurityHub
- Trusted Advisor
- Control Tower
セキュリティ設定指針
- フレームワークに当てはめる
- NIST とか、 Well-Architect とか
Organizations
SCP - root の制御もできる
CloudFormation Stack
他のアカウントからスタックを流し込むことができる。
Organizations x StackSets - Organizations と連携させて自動でスタックセットが便利。
数百もアカウント持つと手動で設定は無理がある。
セッション② S3とCognito作るサーバレスアンケートフォーム
既存サービス
- 無料 - Google Forms
- 有料 - Survey Monkey
AWS なら
- EC2 + LimeSurvey
- メンテが必要で起動しっぱなしだと気になる
アンケートに必要なこと
- アンケート表示
- S3 Web ホスティング
- アンケートデータの投稿
- ここが厄介
- アンケートデータの保存
- S3
- アンケートデータ投稿の通知
- S3 通知 + Lambda
S3 のアクセスモデルとアクセス制御
不特定向けは便利だけどリスクが高い。
S3 での情報流出事件につながる。
不特定多数のアクセスを抑制する機能郡
アンケートにおける S3 バケットの分離
Cognito
- Cognito User Pool:認証
- Cognito Identitiy Pool:認可
- Cognito Sync:今は AppSync に変わってる
JavaScript + Cognito
コンテンツバケットの JavaScript を経由して、 Cognito Identity プールを利用して非認証者に IAM ポリシーを付与して、 S3 への PUT 権限を付与する。
複数の S3 を利用しているので CORS になるので注意。
データバケットに CORS を許可する必要あり。
リファラをみるので、コンテンツバケットからのアクセスを CORS に設定して許可する。
LT① JAWS SONIC 2020 実行委員からのお願い
JWAS SONIC 2020 & MIDNIGHT JAWS 2020
09/12 16:00 - 09/13 20:00 の 24H ぶっ続けイベント。
https://jaws-ug.doorkeeper.jp/events/109373/
LT② JAWS-UG朝会と認定試験とボク
SAP とったお話。
モチベーションを保つためにオンライン勉強会活用。
- 朝4時おきを習慣化して勉強時間確保
- 当日の朝会で試験対策の勉強
- アウトプットしないのは知的な便秘
LT③ CDK でコンテナやろうぜ!(仮)
AWS CDK なれた言語でインフラをプログラミングするツール。
Fargate のリスナールールがうまく動かない。
FargateService.loadBalancerTarget の利用が必要だった。
CFn をクラス定義で抽象化されている。
細かな調整をしようとすると、どう抽象化されているか理解する必要あった。
所感
業務で疲れた後の勉強会とは違って、元気な状態で受講できるのはいいですね。
その分業務に影響が出ないようにしないと...さぁ仕事しよう。