スタートアップ企業でのAWS マルチアカウント運用の実践と普及/Practice and dissemination of AWS multi-account operation in a start-up company
by
SadayoshiTada
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
スタートアップ企業でのAWS マルチアカウント運用の実践と普及 多田 貞剛 July Tech Festa 2021 winter D6
Slide 2
Slide 2 text
2 自己紹介 • 多⽥ 貞剛 @tada_infra • 株式会社スナックミー SRE 担当 • 筋トレ -> サウナ -> サ飯 のトライセットを決 めるのがマイブーム • JTF 初登壇
Slide 3
Slide 3 text
3 会社紹介 『新しいおやつ体験を想像し、おやつ時間の価値をあげる』 栄養価が⾼く、それでいて美味しさに妥協しないスナックによっ て、おやつそのもの質を上げる。 また、モノだけではなく、新しいおやつ体験をデザインし、おやつ の時間の価値を向上させる。 それによって、おやつの時間が彩りとなり、豊かな⽣活を実現す る。
Slide 4
Slide 4 text
会社紹介 • おやつ体験 BOX 『snaq.me』 • ⽉額 1,980円(税込、送料込) • 4週 or 2週毎に100種類以上の商品からお客様にパーソナライ ズした8種のおやつをお届け
Slide 5
Slide 5 text
会社紹介 おやつ診断、商品リクエスト、商品評価などのデータを取得してお 届けしてます。
Slide 6
Slide 6 text
6 お話しする #推しテク • 事業拡⼤と⼀緒に既存システムを拡張したり新規システムや関わ る開発者も増えてきた • 事業や開発のスピードを可能な限り落とさず、セキュリティや 管理ができた状態でシステムをスケールさせていきたい • アカウント運⽤管理サービスの適⽤と組織内での普及にまつわる お話をします! • 皆さんの中でもっといい運⽤ある!や私の会社はマルチアカウン ト運⽤でこうしてる!っていうのを#JTF2021W #JTF2021W_D で教えていただけるとありがたいです
Slide 7
Slide 7 text
アジェンダ 1.従来の AWS アカウント管理の課題 2.アカウント管理の課題の対応 3.マルチアカウント運⽤と普及の取り組み
Slide 8
Slide 8 text
従来のAWSアカウント 管理の課題
Slide 9
Slide 9 text
従来のAWSアカウント管理の課題 • ⼊社して1⽇⽬にAWSアカウントが発⾏された • アカウントは1つしかなかった • 社内に情報がほぼないので中に⼊ってみてみた
Slide 10
Slide 10 text
従来のAWSアカウント管理の課題 • 本番環境で使っていない検証⽤やテストで作った野良リソー スも1アカウントで管理されていた • 今どんな AWS リソースやサーバー(OS/MW等)がどんな⽤ 途で存在しているのかが管理しきれてなかった • 管理側として検証やテストの環境分離しつつもリソース情報 を全員⾒れるものとして管理したい
Slide 11
Slide 11 text
• AWSアカウントへのログインが IAM ユーザーでの直ログイ ンになっていた • ⾮エンジニアにも IAM ユーザーを払い出しているが権限が 強いものもあり危険度は⾼い • ユーザー管理コストが⾼いのもあるが、セキュリティをもっ と⾼めたい要望もあった 従来のAWSアカウント管理の課題 ϩάΠϯใ͕࿙ ΕͨΒૢ࡞͞ΕΔ
Slide 12
Slide 12 text
• 本番システム構成も変えてづらかったり、開発したものが本番に デプロイした時に動作しないこともあった • アーキテクチャの変更の影響確認や開発したものを本番に上げ る前の確認するフローがなかった • ローカルだと動くけど本番デプロイで動作しない事象も起こっ ていた • ex. 開発環境である Mac のコンテナ上で動いたけど ECS の コンテナでは動作しない 従来のAWSアカウント管理の課題
Slide 13
Slide 13 text
• アカウント管理・運⽤の課題 • リソース管理の課題 • IAM ユーザー/権限管理やセキュリティの課題 • 開発フロー/アーキテクチャの課題 従来のAWSアカウント管理の課題
Slide 14
Slide 14 text
アカウント管理の 課題の対応
Slide 15
Slide 15 text
アカウント管理の課題の対応 • 複数の AWS アカウントを⼀元管理するの に役⽴つサービス • 新規アカウントの作成、請求の簡素化にも 役⽴つ • 他の AWS サービスと統合しており、管理 するアカウントに渡って設定管理できる
Slide 16
Slide 16 text
アカウント管理の課題の対応
Slide 17
Slide 17 text
• アカウントの分離の進めていくにあたっては Landing Zone の考 え⽅を参考にして進めている • Landing Zone はベストプラクティスに基づいた、 AWS のマルチアカウン トセットアップをサポートする仕組み • Control Tower が東京リージョンになかったため個別実装にした ※参考 https://aws.amazon.com/jp/builders-flash/202007/multi-accounts-best-practice/ https://aws.amazon.com/jp/builders-flash/202009/multi-accounts-best-practice-2/ アカウント管理の課題の対応
Slide 18
Slide 18 text
• AWS Organizations を使ってまずはアカウントをステージングと サンドボックスに分割することにした • ステージングアカウント:本番前の開発とテストをしやすくす る • サンドボックスアカウント:個⼈検証をやりやすくする アカウント管理の課題の対応
Slide 19
Slide 19 text
アカウント管理の課題の対応
Slide 20
Slide 20 text
• ステージングとサンドボックスを作った後、アカウントの利⽤⽅ 針を開発者に共有 • どういう構成か • どういう⽤途で使って欲しいか • どのブランチでステージングを使って欲しいか 等 アカウント管理の課題の対応
Slide 21
Slide 21 text
• 社内システムで開発した機能が本番で動作しない問題が発⽣ し、開発者と振り返りした時にステージングが開発フローの中 で使われてないことが発覚 • アカウントの使い⽅や構成を伝えただけでは当然使われず、開 発フローや⽅針をこれまでのワークフローの中に組み込めてな かった アカウント管理の課題の対応
Slide 22
Slide 22 text
マルチアカウント運用 と普及の取り組み
Slide 23
Slide 23 text
1.アカウントのリソース情報や⽅針の確⽴ 2.アカウントのセキュリティ向上 3.開発のワークフローに追加したアカウントを組み込む マルチアカウント運用と普及の取り組み
Slide 24
Slide 24 text
リソース管理の課題
Slide 25
Slide 25 text
• リソース管理は構成図を作るのと構成情報をドキュメントと してアウトプット • サーバー内部の情報は Systems Manager で管理 マルチアカウント運用と普及の取り組み
Slide 26
Slide 26 text
• AWS の利⽤料は複数アカウント分を Mackerel で可視化し、 AWS Budget で個別アカウントの予算を管理 マルチアカウント運用と普及の取り組み
Slide 27
Slide 27 text
• アカウントでのリソース運⽤ルールを指標にして使いもらい やすくした マルチアカウント運用と普及の取り組み
Slide 28
Slide 28 text
セキュリティの課題
Slide 29
Slide 29 text
マルチアカウント運用と普及の仕組み • アカウントのログイン⽅式が直ログインに なっているのをAWS Single Sign-On (SSO) を利⽤ • GSuite をIdPに委任し、SAML認証でロ グインする⽅式 • AWS Organizations を使うと管理している アカウントにログインできる
Slide 30
Slide 30 text
マルチアカウント運用と普及の仕組み • SSO 経由でのログイン実⾏することによって GSuite のアカ ウントさえあれば AWS アカウントでのユーザー管理がなく なった • セキュリティの課題+IAM ユーザー管理運⽤負担を軽減 • 利⽤者も使いやすくなった
Slide 31
Slide 31 text
• CloudTrail,Config,GuardDuty 等のセキュリティサービスを共 通化して展開 • CloudFormation の StackSets を使って各アカウントに展 開 マルチアカウント運用と普及の取り組み
Slide 32
Slide 32 text
マルチアカウント運用と普及の仕組み • これまでは IAM ユーザーに権限を付与していたところを SSO と Organizations の SCP で制御する • 権限設定もドキュメント管理する
Slide 33
Slide 33 text
開発フローの課題
Slide 34
Slide 34 text
マルチアカウント運用と普及の仕組み • 開発フローの中にステージングを組み込めていなかったので 開発チームと相談して組み込んだ • 開発チームの開発フローの中で本番デプロイ前の⼯程でス テージングを間に挟んで確認してもらうことにした
Slide 35
Slide 35 text
マルチアカウント運用と普及の仕組み • 徐々にステージングアカウントを使った本番デプロイ前の検 証が増えた • AWS リソースレビューも実施して開発チームとの協⼒し て回していきたい
Slide 36
Slide 36 text
まとめ
Slide 37
Slide 37 text
まとめ • 事業拡⼤や利⽤者増加に合わせたアカウントの追加において Organizations が便利 • Organizations と連携した他のサービスを使ってセキュリティを ⾼めて運⽤する • マルチアカウント浸透のためには現場へ協⼒を働きかけて、理解 を得て進めることが重要だと痛感
Slide 38
Slide 38 text
Thank you!