プラットフォームエンジニアリング - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

プラットフォームエンジニアリング

パッケージ化された再利用可能なクラウド製品を使用でき、セキュリティとコンプライアンスが確保されたマルチアカウントクラウド環境を構築します。

開発チームを活性化してイノベーションをサポートするには、ビジネス要求に迅速に応えられるプラットフォームが必要です。(AWS CAF ビジネスの視点を参照してください)。これには、製品管理の要件にきわめて柔軟に対応できる、セキュリティ上の制約に厳格に従える、運用上のニーズを迅速に満たすといった特徴も求められます。このプロセスでは、セキュリティとコンプライアンスが確保されたマルチアカウントクラウド環境を構築して、パッケージ化された再利用可能なクラウド製品をその環境で使用できるようにする必要があります。 

効果的なクラウド環境があれば、新しいアカウントを簡単にプロビジョニングすると同時に、そうしたアカウントを組織のポリシーに準拠させることができます。厳選された一連のクラウド製品は、ベストプラクティスのコード化、ガバナンスの支援、クラウドデプロイの速度および一貫性の向上などを可能にします。ここで重要なのは、ベストプラクティスの設計図と、検出および予防のガードレールをデプロイすることに加え、クラウド環境を既存環境と統合し、目的とする、ハイブリッドクラウドのユースケースを実現することです。

さらに、アカウントのプロビジョニングワークフローを自動化するとともに、複数のアカウントを使用してセキュリティとガバナンスの目標達成をサポートします。オンプレミス環境とクラウド環境間に加え、異なるクラウドアカウント間の接続をセットアップします。既存の ID プロバイダー (IdP) とクラウド環境間にフェデレーションを実装して、既存のログイン認証情報を使用してユーザーを認証できるようにし、ログ記録の一元化、クロスアカウントでのセキュリティ監査の確立、インバウンドおよびアウトバウンド DNS リゾルバーの構築、ダッシュボードでのアカウントおよびガードレールの可視化なども行います。

続いて、企業の標準と設定管理に照らして、利用するクラウドサービスを評価および認定します。エンタープライズ標準の製品 (セルフサービスのデプロイ可能な製品およびサービス) をパッケージ化し継続的に改善するとともに、Infrastructure as Code (IaC) を活用して、宣言的な形式で設定を定義します。また、イネーブルメントチームを作って、開発者やビジネスユーザーにプラットフォームの価値を伝えてもらい、こうしたユーザーがシステム連携を行えるようにします。これにより、組織全体にプラットフォームの利用を広めます。

以下のセクションで説明するタスクを完了するには、組織のプラットフォームエンジニアリングをモダナイズし発展させる能力とチームを備える必要があります。技術詳細については、「AWS Establishing your Cloud Foundation on 」のホワイトペーパーを参照してください。

Start

ランディングゾーンを構築し、ガードレールをデプロイする

プラットフォームエンジニアリングを成熟させるには、最初にプラットフォームアーキテクチャの能力で定義されている検出ガードレールと予防ガードレールを使用して、ランディングゾーンをデプロイする必要があります。ガードレールがあれば、アプリケーション所有者がクラウドリソースを消費する際に、そうしたユーザーによる、組織の標準への違反を防止できます。この仕組みによって、アカウントプロビジョニングのワークフローを自動化し、複数のアカウントセキュリティガバナンスの目標達成をサポートします。 

認証の仕組みを確立する

AWS CAF セキュリティの視点で指定されている標準に従って、ID 管理とアクセスコントロールを、すべての環境、システム、ワークロード、プロセスに実装します。ワークフォース ID の場合、AWS Identity and Access Management(IAM) ユーザーによる使用を制限し、代わりに ID を一元管理できる ID プロバイダーを利用するようにします。これにより、アクセスの作成、管理、および取り消しを 1 箇所で行うことができるため、複数のアプリケーションおよびサービス間のアクセス管理を簡単に行うことができます。また、アクセス権の作成、更新、削除を管理する既存のプロセスを AWS 環境でも使用できるようにします。

ネットワークをデプロイする

自社のプラットフォームアーキテクチャ設計に従って、ネットワークアカウントの作成と一元化管理を行うとともに、自社環境との間で生じるインバウンドおよびアウトバウンドトラフィックを制御します。ネットワーク設計時には、オンプレミスネットワークと AWS 環境間、インターネット間、AWS 環境間の接続を、それぞれ迅速にプロビジョニングできるようにすると良いでしょう。ネットワーク管理を一元化すると、ネットワークコントロールをデプロイでき、これにより、予防および事後的対応コントロールを使用して、環境全体でネットワークと接続を分離することが可能です。

イベントとログデータを収集、集約、保護する

Amazon CloudWatch のクロスアカウントオブザーバビリティを使用します。この機能により、統合インターフェイスを利用して、リンク済みアカウント全体でメトリクス、ログ、トレースを検索、可視化、分析できるため、アカウントの境界を意識しなくても済みます。

ログおよびセキュリティの一元管理に特定のコンプライアンス要件がある場合は、専用のログアーカイブアカウントの設定を検討してください。これにより、ログデータ専用に一元化および暗号化されたリポジトリを利用できます。また、暗号化キーを定期的にローテーションして、このアーカイブのセキュリティを強化します。

必要であれば、マスキング手法を使用して、機密ログデータを保護する堅牢なポリシーを実装します。さらに、コンプライアンス、セキュリティ、監査ログにログ集約を使用し、ログ設定への不正な変更を防止できるよう、厳格なガードレールと ID 構造も使用するようにします。

コントロールを確立する

AWS CAF セキュリティの視点の定義に従って、ビジネス要件を満たす基本的なセキュリティ機能をデプロイします。追加の予防および検出コントロールもデプロイし、必要であれば、それらのコントロールを、全アカウントにプログラムで一貫してプロビジョニングします。また、プラットフォームアーキテクチャの能力で定義されているように、検出コントロールを運用ツールに統合し、運用の仕組みによって、非準拠のリソースをレビューできるようにします。

クラウド財務管理はどのように実装しますか?

AWS CAF ガバナンスの視点に従い、コスト配分タグと AWS Cost Categories を実装します。AWS Cost Categories を使用すると、クラウド消費の財務上の説明責任に沿うよう、組織のタグ付け戦略を立てることができます。また、AWS Cost ExplorerAWS Cost and Usage Report で公開されている請求データなどのツールを使用して、クラウド料金を社内のコストセンターに請求したり提示したりすることも可能です。 

高度化

インフラストラクチャ自動化を構築する

次の取り組みに進む前に、プラットフォームアーキテクチャの方針に合うよう、利用するクラウドサービスを評価し、認定します。次に、エンタープライズ標準の製品 (セルフサービスのデプロイ可能な製品およびサービス) をパッケージ化し継続的に改善するとともに、Infrastructure as Code (IaC) を使用して、宣言的な形式で設定を定義します。インフラストラクチャ自動化では、ソフトウェア開発サイクルを模倣しますが、これを行うには、ロールベースのアクセスコントロール (RBAC) または属性ベースのアクセス制御 (ABAC) を使用して、各アカウントの特定のサービスにアクセスできるようにします。また、新しいアカウントを迅速にプロビジョニングし、それらをサービスおよびインシデント管理機能と連携させる方法をデプロイします。これらに対応するには、API を使用するか、セルフサービス機能を開発します。アカウントの作成時には、ネットワーク統合と IP 割り当てを自動化し、コンプライアンスとネットワークセキュリティを確保します。さらに、AWS と連携するように設定したネイティブコネクタを使用して、新規アカウントを IT サービス管理 (ITSM) ソリューションと統合します。必要に応じて、プレイブックとランブックを更新します。

一元化したオブザーバビリティサービスを提供する

効果的なクラウドオブザーバビリティを実現するには、プラットフォームで、ローカルログデータと一元化されたログデータ両方へのリアルタイム検索および分析がサポートされている必要があります。オペレーションがスケールするにつれ、プラットフォームでログ、メトリクス、トレースをインデックス化、視覚化、解釈可能かどうかが、生データから実用的なインサイトを引き出すためのカギとなります。

ログ、メトリクス、トレースを相関させることで、実用的な結論を抽出し、必要な情報のみに基づいた対策を開発できます。ログ、メトリクス、トレースによって特定されたセキュリティイベントやパターンにプロアクティブな対応を許可するルールも確立します。AWS ソリューションを拡張したら、モニタリング戦略もそれに合わせてスケールし、オブザーバビリティ機能を維持および強化できるようにしてください。

システム管理と AMI ガバナンスを実装する

Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを広範囲で使用する組織では、インスタンスを大規模に管理する運用ツールが必要です。多くの組織にとって、ソフトウェアアセット管理、エンドポイントでの検出および対応、インベントリ管理、脆弱性管理、アクセス管理は、基本的な機能と言えます。 こうした機能は、一般的に、インスタンスにインストール済みのソフトウェアエージェントによって提供されます。そのため、エージェントなどのカスタム設定を Amazon マシンイメージ (AMI) にパッケージ化する機能を開発し、これらの AMI をクラウドプラットフォームのコンシューマーに公開します。こうした AMI は、予防および検出コントロールを使用して管理します。AMI には、長期間稼働する EC2 インスタンスの大規模管理を可能にするツールが含まれている必要があり、とりわけ、新規 AMI が定期的に使用されず、変更が多い Amazon EC2 ワークロードの管理に、こうしたツールが必要です。AWS Systems Manager は、大規模な利用が可能で、これによって、エージェントのアップグレード自動化、システムインベントリの収集、EC2 インスタンスへのリモートアクセス、オペレーティングシステム脆弱性へのパッチ適用などを行えます。

認証情報の使用を管理する

AWS CAF セキュリティの視点に従って、ロールと一時的な認証情報を利用できるようにします。具体的には、ツールを使用して、インスタンスまたはオンプレミスシステムへのリモートアクセスを管理しますが、この管理では、プリインストールされたエージェントを使用し、シークレットは保存しません。また、長時間の認証情報への依存を減らして、IaC テンプレートにハードコードされた認証情報をスキャンします。一時的な認証情報を使用できない場合は、アプリケーショントークンやデータベースパスワードなどのプログラムツールを使用して、認証情報のローテーションと管理を自動化します。ユーザー、グループ、ロールを、最小特権の原則を使用して IaC でコード化するとともに、ガードレールを使用して ID アカウントの手動作成を防ぐようにします。

適切なセキュリティツールを導入する

セキュリティモニタリングツールでは、インフラストラクチャ、アプリケーション、ワークロード全体に、粒度の高いセキュリティモニタリングを行え、パターン分析の集約ビューを利用できる必要があります。また、他のあらゆるセキュリティ管理ツールと同様、Extended Detection and Respons (XDR) ツールを拡張する必要があり、これによって、AWS で稼働するアプリケーション、リソース、環境のセキュリティを、AWS CAF セキュリティの視点で定義された要件に従って、評価、検出、対応、修復できなければなりません。

Excel

ID コンストラクトのソースからの取り込みと配布を自動化する

ロール、ポリシー、テンプレートなどの ID コンストラクトを IaC ツールでコード化し、バージョン管理するとともに、ポリシー検証ツールを使用して、セキュリティ警告、エラー、一般的な警告、推奨の IAM ポリシー変更、その他の検出結果をチェックします。必要に応じて、環境への一時的なアクセスを自動的に許可する ID コンストラクトをデプロイまたは削除し、コンソールを使用している個人によるデプロイも禁止します。

異常なパターンの検出およびアラート機能を環境全体に追加する

環境に見られる既知の脆弱性をプロアクティブに評価し、異常なイベントやアクティビティパターンの検出機能を追加します。検出結果を確認して、プラットフォームアーキテクチャチームへの推奨事項を作成し、こうしたチームが効率化とイノベーションを加速させる変更を行えるようにします。 

脅威対策に必要な分析およびモデル化を行う

AWS CAF セキュリティの視点の要件に従い、業界およびセキュリティベンチマークに照らして、継続的なモニタリングおよび測定を実装します。計測アプローチの実装時には、どのタイプのイベントデータと情報を使用すれば、セキュリティ管理機能で最も有用な知見を得られるかを判断します。このモニタリングでは、サービスの使用状況を含む、複数の攻撃ベクトルを対象にします。セキュリティ基盤には、包括的な機能、つまりマルチアカウント環境全体で安全なログ記録と分析を可能にする機能が必要であり、複数ソースのイベントを相関付ける機能も求められます。さらに、こうした設定の変更を防ぐために、具体的なコントロールおよびガードレールを設けます。 

アクセス許可情報の収集およびレビューとアクセス権限管理の改善を継続的に行う

ID ロールおよびアクセス許可への変更を記録するとともに、想定した設定状態からの逸脱を検出ガードレールによって検出した際にアラートを生成する機能を実装します。また、集約およびパターン識別ツールを使用して、イベントのコレクションを一元的に確認し、必要であればアクセス権限管理を改善します。

プラットフォームメトリクスを選択して測定し、継続的に改善する

プラットフォームオペレーションで成果を上げるには、包括的なメトリクスを確立し、それらを定期的にレビューします。メトリクスは、組織の目標とステークホルダーのニーズに沿うよう、調整します。また、プラットフォームのパフォーマンスメトリクスと改善メトリクスをともに追跡するだけでなく、パッチ、バックアップ、コンプライアンスなどに関する運用上のパラメータと、チーム有効化やツール導入の指標を総合的に評価します。

CloudWatch クロスアカウントオブザーバビリティを使用すると、メトリクス管理を効率化でき、データ集約および可視化の合理化、情報に基づく意思決定、ターゲットを絞った機能強化も行えます。こうしたメトリクスを成果の指標や変化の推進要因として利用すると、継続的改善の実践環境を築くことができます。