目次

はじめに

AWSのマルチアカウント戦略
対象読者
免責事項

第1章 AWS Organizations

1.1 一括請求
  • 1.1.1 請求期間
  • 1.1.2 一括請求のメリット
  • 1.1.3 一括請求のデメリット
1.2 リザーブドインスタンス、Savings Plansの割引共有
  • 1.2.1 割引共有を無効化する
1.3 従量制割引の適用拡大
1.4 ブレンドコスト・非ブレンドコスト
  • 1.4.1 計算例
  • 1.4.2 非ブレンド純コスト
1.5 AWSサポート料金
1.6 まとめ

第2章 AWS Cost Explorer

2.1 マルチアカウントにおけるCost Explorerの使い方
2.2 AWS Cost Anomaly Detection(コスト異常検出)
  • 2.2.1 AWS Cost Anomaly Detectionの設定
  • 2.2.2 異常検出の確認
  • 2.2.3 異常検出の評価
2.3 まとめ

第3章 AWS Cost and Usage Report

3.1 マルチアカウントにおけるCURの使い方
3.2 メンバーアカウントへのCURの共有方法
  • 3.2.1 構成
  • 3.2.2 AWSリソース
  • 3.2.3 CURのセットアップ
  • 3.2.4 メンバーアカウント共有用S3バケットの作成
  • 3.2.5 オブジェクトACLを書き換えるLambda関数用の作成
  • 3.2.6 過去のCURデータをS3バケットに出力する
  • 3.2.7 定期実行用Athenaクエリの作成
  • 3.2.8 Athenaクエリを実行するLambda関数の作成
  • 3.2.9 Lambda関数の実行トリガーの設定
  • 3.2.10 メンバーアカウントのGlueクローラー設定
3.3 まとめ

第4章 AWS Budgets

4.1 マルチアカウントにおけるAWS Budgetsの使い方
4.2 AWS Budgets Actions
  • 4.2.1 料金
  • 4.2.2 IAMロールの作成
  • 4.2.3 EC2インスタンス停止アクションを設定
  • 4.2.4 EC2インスタンスの作成および起動を禁止するアクションの設定
4.3 アクションを元に戻す
4.4 サービスコントロールポリシー(SCP)の適用アクションの設定
  • 4.4.1 組織単位(OU)の作成
  • 4.4.2 SCPの作成
  • 4.4.3 予算の作成
4.5 予算の削除
4.6 まとめ

第5章 AWS NAT Gateway

5.1 VPCフローログとは
5.2 VPCフローログの設定
  • 5.2.1 Athenaテーブルの作成
5.3 クエリ例
  • 5.3.1 ケース1
  • 5.3.2 ケース2
  • 5.3.3 ケース3
5.4 コスト最適化ポイント
  • 5.4.1 S3、Dynamo DBはVPCエンドポイントを設定する
  • 5.4.2 NAT Gatewayにするか、PrivateLinkにするか
5.5 まとめ

著者紹介

表紙絵
既刊一覧

奥付

はじめに

本書を手に取っていただきありがとうございます。本書はAmazon Web Services(AWS)のコスト最適化をマルチアカウントの観点で解説しており、次のAWSサービスについて扱っています。

  • AWS Organizations
  • AWS Cost Explorer
  • AWS Cost and Usage Report
  • AWS Budgets

前著「Amazon Web Servicesコスト最適化入門 第2版」およびその商業版「Amazon Web Servicesコスト最適化入門」は、主要AWSサービスの概要や料金体系、コスト最適化ポイントを中心に扱いました。またAWS Cost Explorer、AWS Cost and Usage Reportを用いた料金の可視化と分析や、AWS Budgets・コスト配分タグを活用したリソースや予算管理といった、コストに関して幅広く網羅的に紹介しています。

本書は前著の知識を前提として、マルチアカウント、特にAWS Organizationsにおける組織化したコスト最適化に特化しています。AWS Organizationsによる一括請求によって、個々のAWSアカウントで支払うよりもコストを押さえることができます。また、AWS請求書やビリングサービスに出てくる「ブレンド」「ブレンドレート」という謎のキーワードは、一括請求を理解するうえでは必要なのでしっかり解説しています。

前著で取り上げたAWS Cost Explorer、AWS Cost and Usage Report、AWS Budgetsは、個々のAWSアカウントにおいても十分な機能を果たしますが、マルチアカウント構成ではより強力に機能します。また本書では、前著の出版後に発表されたコスト異常検出、AWS Budgets Actionsについて紹介します。これらの機能を使いこなすことでコストの無駄な出費を押さえることができます。

5章「NAT Gateway」では、VPCフローログを用いたコスト分析方法を扱います。前著ではNAT Gatewayの料金体系とコスト最適化ポイントについて紹介していますが、本書では具体的なコスト分析する方法を紹介し、NAT Gatewayへのトラフィック量からコスト最適化するかの判断ポイントを解説しています。

AWSのマルチアカウント戦略

昔はひとつのAWSアカウントに複数のVPCやサブネットなどでシステムを分断し、タグ付けなどの工夫をすることで管理してきた方が多いかと思います。2016年にAWS Organizationsが発表され、ここ数年で目的に特化したAWSアカウントに分けるマルチアカウント戦略が主流になってきました。それまでは請求アカウントにアカウントを連結して請求をひとまとめにするだけでしたが、AWS Organizationsの登場で変わりました。組織単位(OU)、サービスコントロールポリシーによる権限管理、AWS Control Towerによるセキュアな管理体制ができるようになってきました。今後もマルチアカウント化は加速してより便利なAWSサービスや機能が発表されるでしょう。

請求関連に関しては昔と今でほとんど変わっていませんが、今後のマルチアカウント化においてコストや予算管理の重要性が高まってきており、押さえておくべきだと筆者は考えています。本書が少しでもお役にたてれば幸いです。

対象読者

  • マルチアカウントにおけるコスト最適化のノウハウを知りたい方
  • 個々のアカウントでコスト最適化はやっている方だけど、組織全体ではよくわからない方
  • 最近発表されたコスト関連の機能について知りたい方
  • 請求書に記載されている「ブレンド」「ブレンドレート」を説明できない方

免責事項

本書で載せている料金は特に断りがない限り、2021年6月時点の東京リージョンの料金です。料金は今後変更になる可能性があるため、AWS公式の料金表をご確認ください。また本文中に出てくる「$」は米ドル(USD)を表しています。

本書に記載された内容は、情報の提供のみを目的としています。したがって、本書を用いた開発、製作、運用は、必ずご自身の責任と判断によって行ってください。これらの情報による開発、製作、運用の結果について、著者はいかなる責任も負いません。

第1章 AWS Organizations

AWS Organizationsは、複数のAWSアカウントを一元管理する機能です。AWS Organizationsが登場する前は一括請求機能によって支払いアカウントにAWSアカウントを連結させていました*1。AWS Organizationsの登場で一括請求機能に加えてAWSアカウント作成の自動化、セキュリティポリシーの適用などマルチアカウント構成するうえでは必要不可欠な機能を提供しています。

[*1] Consolidated billingという名前から、よくコンソリと呼ばれます。

本書ではAWS Organizationsについて細かい説明はしませんが、本書を読み進めていくうえで必要な用語を紹介します(図1.1)。

組織

AWSアカウントを統合した集合体。ルートを最上位に、組織単位(OU)によってアカウントを階層構造で管理できます。

管理アカウント

組織を作成・管理するためのAWSアカウント。一括請求による支払い先AWSアカウントでもあります。

メンバーアカウント

組織に属する管理アカウント以外のAWSアカウント。

サークルコントロールポリシー(SCP)

メンバーアカウントや組織単位(OU)内のアカウントに対してAWSサービスのアクセスを制御するポリシー。

AWS Organizations全体図

図1.1: AWS Organizations全体図

1.1 一括請求

AWS Organizationsで組織を作成すると、組織内すべてのメンバーアカウントの支払いは管理アカウントの請求書に統合されます。一括請求にすると、組織内すべてのAWSアカウントはひとつのアカウントとして扱われるようになります。

1.1.1 請求期間

月中にメンバーアカウントが組織に参加した場合、参加した日から月末までの利用料金が管理アカウントに請求されます。月初から組織加入前に発生した利用料金はメンバーアカウントに対して請求されます。

1.1.2 一括請求のメリット

個々のAWSアカウントでの支払いに比べて、一括請求では次のメリットがあります。

支払いの統合

一括請求にすると管理アカウントに対して請求書が発行され、メンバーアカウントの請求もまとめられます。管理アカウントだけで支払い処理が済むため、経理担当に喜ばれるでしょう。一括請求にしない場合は個々のAWSアカウントで支払い処理をする必要があります。

コストの追跡

一括請求にすることで、管理アカウントからメンバーアカウントの利用料金を見ることができます。AWS Cost Explorer(以下、Cost Explorer)、AWS Cost and Usage Report(AWSのコストと使用状況レポート、以下CUR)でメンバーアカウント単位のコストを可視化したり、AWS Budgetsでメンバーアカウントを含んだ予算管理ができます。第2章、第3章、第4章で解説します。

リザーブドインスタンス、Savings Plansの割引共有

組織内のメンバーアカウントで購入したリザーブドインスタンス(以下、RI)、Savings Plans(以下、SP)が余った場合、他のメンバーアカウントの割引を自動的に計算して適用されます*2。RIが途中で不要になってしまったとしても、他のメンバーアカウントでRIの適用条件に合うようにEC2インスタンスを起動すれば無駄なくコストを最適化できます。また割引共有をメンバーアカウント単位で無効化もできます。

[*2] RIやSPがどのように適用されるかは前著「1.5 インスタンスサイズの柔軟性」をご参照ください。

従量制割引の適用拡大

一括請求を有効にすると、組織内すべてのAWSアカウントの使用量を合算します。データ転送料金やS3のストレージ料金など使用量によって単価が段階的に低くなる料金体系の場合、自動的に計算され低価格の料金階層で利用できます。個々のAWSアカウントでの支払いより一括請求の方がコストを押さえられます。

Amazon EC2オンデマンドキャパシティー予約の共有

一括請求というよりもAWS Organizationsによる組織化のメリットですが、Amazon EC2オンデマンドキャパシティー予約(以下、オンデマンドキャパシティー予約)を組織内のメンバーアカウントで共有できます。オンデマンドキャパシティー予約は、指定したEC2インスタンスとその個数分のキャパシティーを予約できる機能です。予約をすることでAWSのキャパシティーを考慮せずにいつでも起動できます。予約が有効になるとオンデマンドインスタンスと同じ料金が発生しますが、RI、SPを購入すると割引が適用されます。任意のメンバーアカウントで予約をすることで、コストコントロールがしやすくなります。

試し読みはここまでです。
この続きは、製品版でお楽しみください。