AWS Control Tower(1)Control Towerの概要

Control Tower

Control Tower は、AWS Organaizations, AWS SSO, AWS Service Catalogなどと連携して、ランディングゾーンと呼ばれる安全なマルチアカウント環境の設定を行うことができる。ガードレールと呼ばれる必須もしくは強く奨励されているルールを提供し、SCPを使用してこれらのルールを新規のアカウントや既存のアカウントへの拡張を実現することができる。また、用意されているダッシュボードを用いることで、それぞれのアカウントの状況を確認することができる。

Control Towerの使用に伴う追加の費用はなく、Control Towerによって有効化されたサービスに対する費用のみ発生する。

ランディングゾーン

セキュリティやガバナンスのベストプラクティスに基づいた複数のAWSアカウントのこと。AWS Organaizationsを用いて以下が作成され、 20の予防ガードレールと6つの検出用ガードレールが適用 される。なお、 管理アカウントには予防ガードレールは適用されない 。また、AWS SSOにディレクトリを作成する。

root                            <-- 全てのルートを含む親アカウント
├── Security OU
│          ├── Log archive account   <-- 全てのアカウントのAPIおよびリソース構成ログを蓄積
│          └── Audit account         <-- セキュリティチームが作業を行う
└── Sandbox OU

監査用のアカウントからそれぞれのアカウントへ手動でログインすることはできず、監査アカウントに付与されるロールを用いたプログラムによるアクセスが提供される。

CloudTrailやConfigの設定等には、CloudFormationが用いられる。また、CloudFormationのStackSetsを用いて、特定のアカウントに対して変更を加える。これらの自動的に作成されたリソースは変更や削除をしてはならない。

対応リージョンの追加や新たなガードレールの追加など、Control Towerのガードレールは常時更新されている。これらの新しいルールに対応するためには、Control Towerのランディングゾーン設定から手動でバージョンの更新を行う。またもし、これらの設定とは異なる設定がなされていた場合は、同じページから修復を試みることができる。

ガードレール

ガードレールは、事前にパッケージ化されたルールのことで、アカウント全体もしくは一部のアカウントに適用することができる。ガードレールは、ポリシーに違反するリソースのデプロイを禁止する 予防用ガードレール(SCP) と、違反を定期的に確認する 検出用ガードレール(Condig) とに区別され、必須、強く奨励、選択の3つのカテゴリに分類される。Control Tower設定後は、AWS OrganizationsからではなくControl TowerからSCPの変更を行う。

判定結果は、以下のようにカテゴライズされる。

状態 タイプ 範囲 内容
In Violation 検出 複数のアカウント ルールに違反している
Enforced 予防 複数のアカウント 違反は許可されない
Clear 検出 複数のアカウント 違反は検出されていない
Compliant 検出 単一/複数のガードレールやOU 違反は検出されていない
Non-Compliant 単一/複数のガードレールやOU 非準拠のリソースが検出された
Unknown 全て 不明

コンプライアンスの変更は、SNSトピックで受け取ることができる。これを用いて、メール等に情報を送るや、Lambdaを用いて必要な情報だけを抽出することができる。

アカウントファクトリー

アカウントファクトリーは、新しいアカウントのプロビジョニングを自動化するためのテンプレート。これを用いることで、規定のルールに沿った新たなアカウントのプロビジョニングを行うことができる。アカウントファクトリーは、AWS Service Catalogを用いて構築される。アカウントファクトリーのページから、新規のAWSアカウントを作成することが出来る。新規アカウントは、親OUのガードレールを継承する。

ダッシュボード

複数のアカウントやガードレール、ルールに非準拠のリソースなどを確認することができる。

ランディングゾーンの設定とマルチアカウント

ランディングゾーンは、既存のOrganaizationsでも、新規でOrganaizationsを作成する場合でも設定できる。既存のOrganaizationsに適用する場合も、作成済みのOUに変更が加えられることはない。

Control Towerの設定には、30分ほど掛かる。ランディングゾーンの設定を行う前には、自動でチェックが行われて、ランディングゾーンが設定できるかの確認が行われる。ランディングゾーンを設定したあとに、ホームリージョンを変更することはできない。

なお、AWSは適切なアカウント設定を次のように定めており、Control Towerはこの思想に基づいてランディングゾーンの設定を行う。

複数のアカウントの使用

複数のアカウントを使用することで、アプリケーション毎に異なるセキュリティプロファイルに対応することができる。また、リスクや脅威、保管するデータをアカウント単位で分離することもできる。組織に複数のチームが存在する場合には、チーム間の干渉を防ぐことができ、またリソースの使用をアカウントごとに管理することが可能となる。

複数のOUの使用

本番用のアカウントとテスト用のアカウントは、別のOUに所属させて別々のアカウントとして管理できる。

ランディングゾーンとOUの設計

OUは、セキュリティ用、インフラストラクチャ用、サンドボックス用、本番用などに分けると良い。Control Towerでは、セキュリティ用のOUを作成して、その中に監査用アカウントとログアーカイブ用のアカウントを作成する。AWSの利用が増えるにしたがって、以下のようにOUを分割することも可能である。ただし、Contol Tower上ではネストされたOUは表示できない。

second-figure

AWS Elemental MediaStore(1)MediaStore の概要

MediaStore

AWS Elemental MediaStoreは、メディア向けに最適化されたストレージサービス。動画ワークフローにおけるオリジンストアの役割を担う。高いパフォーマンス、一貫性、低レイテンシーの読み取りと書き込みを同時に実現することで、バッファリングのリスクが低減され、エンドツーエンドのレイテンシーも短縮できる。また、受信するリクエストの量に合わせてスケーリングを行うこともできる。理想的なユースケースは、HTTPを用いたビットレート可変型のライブストリーミングの処理で、MediaStoreを単独のサービスとしても、他のMediaServicesと組み合わせることも出来る。ライブストリーミングを配信しない場合には、Amazon S3によって代替できる。

### 料金

GBあたりの取り込み料金とストレージ料金によって課金される。またリクエストについても課金され、ストレージクラスとリクエストタイプによって単価が異なる。

CloudFrontをCDNとして利用する際には、CloudFrontまでの転送費用は発生しない。ただし、他のCDNを利用する際には転送費用が発生する。

コンテナ

MediaStore のコンテナを使用して、フォルダとオブジェクトを保存できる。コンテナ名は、同一リージョンのアカウント内で一意である必要があり、大文字、小文字、数字、および下線(_)を含めることができる。コンテナ名は変更できない。

AWS(6)コストと請求

Billing and Cost Management

Billing and Cost Management には、コストの見積もりと計画閾値を超えた場合のアラームの受信 を含め以下のような機能を有する。

機能 内容
グラフによるコスト分析 Cost Explorer による表示
予算 Cost Explorer による追跡と SNS通知
支払い通貨 通貨の指定
レポート レポートのS3出力( Organizationsマスターアカウントのみ

Billing and Cost Management では、以下のページが用意されている。

名称 用途と機能
請求情報とコスト管理ダッシュボード 使用状況の確認, ダッシュボード
Cost Explorer AWS 使用量を追跡および分析
Bugets 予算の管理
Bugets Reports
Cost & Usage Reports レポートのS3出力
請求書 現在の料金の確認
注文と請求書 過去の支払い履歴の確認

| 予算 | 使用状況の確認, 予算の管理 |