Upgrade to Pro — share decks privately, control downloads, hide ads and more …

スタートアップ企業でのAWS マルチアカウント運用の実践と普及/Practice and dissemination of AWS multi-account operation in a start-up company

3f848c0c0b9a6603894e157da93e4655?s=47 SadayoshiTada
January 24, 2021

スタートアップ企業でのAWS マルチアカウント運用の実践と普及/Practice and dissemination of AWS multi-account operation in a start-up company

July Tech Festa 2021 winter 登壇資料です。
自社でのAWSアカウントを管理していく中でで感じた課題からシステムの基盤であるAWSアカウントのセキュリティ上げつつ、使ってもらいやすくする活動の取り組みを紹介します。

3f848c0c0b9a6603894e157da93e4655?s=128

SadayoshiTada

January 24, 2021
Tweet

Transcript

  1. スタートアップ企業でのAWS マルチアカウント運用の実践と普及 多田 貞剛 July Tech Festa 2021 winter D6

  2. 2 自己紹介 • 多⽥ 貞剛 @tada_infra • 株式会社スナックミー SRE 担当

    • 筋トレ -> サウナ -> サ飯 のトライセットを決 めるのがマイブーム • JTF 初登壇
  3. 3 会社紹介 『新しいおやつ体験を想像し、おやつ時間の価値をあげる』 栄養価が⾼く、それでいて美味しさに妥協しないスナックによっ て、おやつそのもの質を上げる。 また、モノだけではなく、新しいおやつ体験をデザインし、おやつ の時間の価値を向上させる。 それによって、おやつの時間が彩りとなり、豊かな⽣活を実現す る。

  4. 会社紹介 • おやつ体験 BOX 『snaq.me』 • ⽉額 1,980円(税込、送料込) • 4週

    or 2週毎に100種類以上の商品からお客様にパーソナライ ズした8種のおやつをお届け
  5. 会社紹介 おやつ診断、商品リクエスト、商品評価などのデータを取得してお 届けしてます。

  6. 6 お話しする #推しテク • 事業拡⼤と⼀緒に既存システムを拡張したり新規システムや関わ る開発者も増えてきた • 事業や開発のスピードを可能な限り落とさず、セキュリティや 管理ができた状態でシステムをスケールさせていきたい •

    アカウント運⽤管理サービスの適⽤と組織内での普及にまつわる お話をします! • 皆さんの中でもっといい運⽤ある!や私の会社はマルチアカウン ト運⽤でこうしてる!っていうのを#JTF2021W #JTF2021W_D で教えていただけるとありがたいです
  7. アジェンダ 1.従来の AWS アカウント管理の課題 2.アカウント管理の課題の対応 3.マルチアカウント運⽤と普及の取り組み

  8. 従来のAWSアカウント 管理の課題

  9. 従来のAWSアカウント管理の課題 • ⼊社して1⽇⽬にAWSアカウントが発⾏された • アカウントは1つしかなかった • 社内に情報がほぼないので中に⼊ってみてみた

  10. 従来のAWSアカウント管理の課題 • 本番環境で使っていない検証⽤やテストで作った野良リソー スも1アカウントで管理されていた • 今どんな AWS リソースやサーバー(OS/MW等)がどんな⽤ 途で存在しているのかが管理しきれてなかった •

    管理側として検証やテストの環境分離しつつもリソース情報 を全員⾒れるものとして管理したい
  11. • AWSアカウントへのログインが IAM ユーザーでの直ログイ ンになっていた • ⾮エンジニアにも IAM ユーザーを払い出しているが権限が 強いものもあり危険度は⾼い

    • ユーザー管理コストが⾼いのもあるが、セキュリティをもっ と⾼めたい要望もあった 従来のAWSアカウント管理の課題 ϩάΠϯ৘ใ͕࿙ ΕͨΒૢ࡞͞ΕΔ
  12. • 本番システム構成も変えてづらかったり、開発したものが本番に デプロイした時に動作しないこともあった • アーキテクチャの変更の影響確認や開発したものを本番に上げ る前の確認するフローがなかった • ローカルだと動くけど本番デプロイで動作しない事象も起こっ ていた •

    ex. 開発環境である Mac のコンテナ上で動いたけど ECS の コンテナでは動作しない 従来のAWSアカウント管理の課題
  13. • アカウント管理・運⽤の課題 • リソース管理の課題 • IAM ユーザー/権限管理やセキュリティの課題 • 開発フロー/アーキテクチャの課題 従来のAWSアカウント管理の課題

  14. アカウント管理の 課題の対応

  15. アカウント管理の課題の対応 • 複数の AWS アカウントを⼀元管理するの に役⽴つサービス • 新規アカウントの作成、請求の簡素化にも 役⽴つ •

    他の AWS サービスと統合しており、管理 するアカウントに渡って設定管理できる
  16. アカウント管理の課題の対応

  17. • アカウントの分離の進めていくにあたっては 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/ アカウント管理の課題の対応
  18. • AWS Organizations を使ってまずはアカウントをステージングと サンドボックスに分割することにした • ステージングアカウント:本番前の開発とテストをしやすくす る • サンドボックスアカウント:個⼈検証をやりやすくする

    アカウント管理の課題の対応
  19. アカウント管理の課題の対応

  20. • ステージングとサンドボックスを作った後、アカウントの利⽤⽅ 針を開発者に共有 • どういう構成か • どういう⽤途で使って欲しいか • どのブランチでステージングを使って欲しいか 等

    アカウント管理の課題の対応
  21. • 社内システムで開発した機能が本番で動作しない問題が発⽣ し、開発者と振り返りした時にステージングが開発フローの中 で使われてないことが発覚 • アカウントの使い⽅や構成を伝えただけでは当然使われず、開 発フローや⽅針をこれまでのワークフローの中に組み込めてな かった アカウント管理の課題の対応

  22. マルチアカウント運用 と普及の取り組み

  23. 1.アカウントのリソース情報や⽅針の確⽴ 2.アカウントのセキュリティ向上 3.開発のワークフローに追加したアカウントを組み込む マルチアカウント運用と普及の取り組み

  24. リソース管理の課題

  25. • リソース管理は構成図を作るのと構成情報をドキュメントと してアウトプット • サーバー内部の情報は Systems Manager で管理 マルチアカウント運用と普及の取り組み

  26. • AWS の利⽤料は複数アカウント分を Mackerel で可視化し、 AWS Budget で個別アカウントの予算を管理 マルチアカウント運用と普及の取り組み

  27. • アカウントでのリソース運⽤ルールを指標にして使いもらい やすくした マルチアカウント運用と普及の取り組み

  28. セキュリティの課題

  29. マルチアカウント運用と普及の仕組み • アカウントのログイン⽅式が直ログインに なっているのをAWS Single Sign-On (SSO) を利⽤ • GSuite

    をIdPに委任し、SAML認証でロ グインする⽅式 • AWS Organizations を使うと管理している アカウントにログインできる
  30. マルチアカウント運用と普及の仕組み • SSO 経由でのログイン実⾏することによって GSuite のアカ ウントさえあれば AWS アカウントでのユーザー管理がなく なった

    • セキュリティの課題+IAM ユーザー管理運⽤負担を軽減 • 利⽤者も使いやすくなった
  31. • CloudTrail,Config,GuardDuty 等のセキュリティサービスを共 通化して展開 • CloudFormation の StackSets を使って各アカウントに展 開

    マルチアカウント運用と普及の取り組み
  32. マルチアカウント運用と普及の仕組み • これまでは IAM ユーザーに権限を付与していたところを SSO と Organizations の SCP

    で制御する • 権限設定もドキュメント管理する
  33. 開発フローの課題

  34. マルチアカウント運用と普及の仕組み • 開発フローの中にステージングを組み込めていなかったので 開発チームと相談して組み込んだ • 開発チームの開発フローの中で本番デプロイ前の⼯程でス テージングを間に挟んで確認してもらうことにした

  35. マルチアカウント運用と普及の仕組み • 徐々にステージングアカウントを使った本番デプロイ前の検 証が増えた • AWS リソースレビューも実施して開発チームとの協⼒し て回していきたい

  36. まとめ

  37. まとめ • 事業拡⼤や利⽤者増加に合わせたアカウントの追加において Organizations が便利 • Organizations と連携した他のサービスを使ってセキュリティを ⾼めて運⽤する •

    マルチアカウント浸透のためには現場へ協⼒を働きかけて、理解 を得て進めることが重要だと痛感
  38. Thank you!