2021/03/20 (Sat.) JAWS DAYS 2021 トラックB 10:40〜
組織でAWSを使い始めるときに考えたいアカウントとコストの管理JAWS DAYS 2021 re:connect
View Slide
1988年⽣まれ∕⼤阪府出⾝webエンジニア、情シス、CSIRTを経て現在株式会社オークンで情シスのお姉さんをしています。AWSStartupCommunity-Coremember好きなAWSサービス-AWSCostExplorer-AWSOrganizations-AWSSSO O-KUN, Inc. Business ITSUMI SHIOMIsuemin_jp
組織におけるAWSのアカウント管理とコスト管理のお話。⽇のおはなし⽇お すること
はじめに
めちゃくちゃ当たり前のことを⾔います⽇のおはなしですが
AWSは従量課⾦⽇のおはなし※⼀部固定のサービスもあります
クラウドのコスト管理はITガバナンスに直結するつまり、管理されていない状況もコストとして現れてくる従量課⾦=リソースの利⽤状況がコストにそのまま反映される
アカウントの整理請求情報を取得 コストの可視化 分析 最適化コスト管理って何やんの?
組織におけるAWSのコスト管理の課題
案件/部⾨ごとに予算・請求を分けたい複数あるアカウントの請求をまとめたい組織全体でコスト最適化がしたい管理部⾨開発部⾨AWSのコスト管理のよくあるお悩み
AWSOrganizationsの⼀括請求(Consolidatedbilling)複数アカウントの請求をまとめられる機能タグルールやポリシーなどを配下のアカウントに対して適⽤させられる取りまとめたアカウント間での各種割引の共有•ReservedInstanceやSavingsPlans、クレジット等の割引を組織アカウント間で共有•組織全体で、使⽤量を合算しボリュームディスカウントを適⽤複数AWSアカウントにわたってのコスト状況をトラックできる•管理アカウント側で、配下アカウントの利⽤状況を確認•ReservedInstancesやSavingsPlansの活⽤状況も確認可能
Organizations使っとけばマルチアカウントのコスト管理は楽勝?
やりがちなアンチパターン
いでやってしまったもんタグで請求を分割してもきっちり分けられないのよねenv:devenv:stgenv:prodenv:prodenv:prodenv:devpj:A案件pj:A案件pj:A案件pj:B案件pj:C案件env:dev
なんかいっぱいアカウントできてきたもんもしくはOrganizationsで理されていない場 も。とりあえず まとめるためにOrganizationsつかってみたけど
組織が成⻑すると...
アカウントSCPもいい じにあてられんしタグもみんなバラバラ…
まずはアカウントを 理コスト 理の⼀
コスト管理のための準備を整える
AWSアカウントは利⽤⽬的別に分割するAWSOrganizationsのOUを整えるタグポリシーでタグを標準化する予算を設定するAWSのコスト管理を楽しむための準備ポイント
AWSOrganizationsのOUを整えるタグポリシーでタグを標準化する予算を設定するAWSアカウントは利⽤⽬的別に分割するAWSのコスト管理を楽しむための準備ポイント
COREDEVELOPMENTA社案件B社案件開発部⾨QA部⾨A社案件B社案件開発部⾨研究部⾨
env:devTAG:poc_Aenv:verifyenv:prodenv:devTAG:pj_B TAG:verifyTAG:poc_BOrganizationsで管理アカウントに請求をまとめる&タグを活⽤PJ:A社PJ:B社PJ:A社PJ:In-housedept:team_Adept:team_B
AWSOrganizationsの基本的なOU構成
組織で共有されるインフラサービスセキュリティ監査ログなどAWSOrganizationsの基本的なOU構成
AWSOrganizationsの基本的なOU構成顧客向けアプリケーションやバックエンドプロセスなど
AWSOrganizationsの基本的なOU構成AWSのサービスを学んだり試したりするために利⽤社内ネットワークから切り離して構築⼀定の料⾦制限を設定して使いすぎを防⽌
タグルールの適⽤で命名のばらつきを解消SCPを利⽤してアカウント/OU全体に禁⽌事項の設定AWSOrganizationsの基本的なOU構成
ENV:DEVENV:DevelopmentEnv:devタグの命名って重要タグによる検索性や分析性が下がってしまう例えば:Nameタグキーがnameになっている...バリューは「DEV」で統⼀したいのに「dev」や「Development」が混在してしまったり...適切なタグ付けができていれば、コストを予測してコントロールするのに役⽴つ◎でも、ある程度きっちりそろえないと超⾯倒なことに…
タグ付けの運⽤ルールを考える各サービスや環境にいくら⽀払っているかを確認個⼈情報を含むアカウントなのかどうかがすぐに判別できるチーム別に請求情報をまとめられるService:サービス名Env:dev|stg|prodおすすめのタグ付け戦略(例サービスベースのタグ付けUser-data:true|falsecontact:責任者のusernameコンプライアンス向けのタグ付けUnit:部署|チームチームの環境のためのタグ付け
タグポリシーを使う
予算を設定していなかったおバカなわたしにおきた事件あっこのサービス無料でつかえるんだぁ〜えーい☆この話の続きは後⽇またどこかで…1ヶ⽉後
ちゃんと反省しました。想定されないコストが発⽣したことに気づくこと想定しているはずのリソースが使われていないことに気づくことが⼤事コストまたは使⽤量が予算額や予算量を超えたとき(あるいは、超えると予測されたとき)にアラートを発信できる機能が⽤意されているコスト管理サービスの⼀つ。-予算を作成して管理-フィルターで複数の条件に基づくコストと使⽤状況を追跡-Eメール・Slack・AmazonChime・AmazonSNSで通知AWSBudgets
ちゃんと反省しました。GetMetricStatisticsでBillingから当⽇と前⽇の合計請求額を取得GetMetricWidgetImageで請求額情報をプロットしたグラフを取得1 2 3 4 550403020100昨⽇までの使⽤料は$200前⽇との差分は$10です
予算アラート死ぬほど⼤事
準備が整ったら
可視化 分析 予測可視化 分析通知Redshift/QuickSight/Athenaでデータを読み込み、分析ができるAWSリソースの使⽤量・料⾦を可視化して確認・分析分析 節約節約予算のしきい値を超えたら通知RIの管理とモニタリング⼀定の利⽤料をコミットすればその利⽤料に対して割引を適⽤ここまで が ったら、コスト 理ツールを しもう
最近はこんなのも楽しそうです
AWSの各種リソースと組み合わせてコスト管理を楽しもう
まとめ
コスト管理はガバナンスに直結しているベストなコスト管理をするために、まず組織のアカウント管理から整えよう準備が整ったら、コストのデータを活⽤してコスト最適化・無駄の削減・異常検知に活かそうまとめ
THANK YOU.https://twitter.com/suemin_jp@suemin_jpO-KUNInc.https://o-kun.com/