Amazon Web Services ブログ
Dynatrace を使用して AWS Control Tower ランディングゾーンの可観測性を向上
この記事は、Increasing observability in your AWS Control Tower landing zone with Dynatrace を翻訳したものです。
AWS では、リソースの分離を高め、セキュリティ、規制、コンプライアンスのニーズを満たすためのベストプラクティスとして、マルチアカウント戦略を採用することをお勧めしています。お客様は、運用コストの追跡、セキュリティ改善の特定、信頼性とパフォーマンス効率の確保に関する質問に対処する必要があります。フルスタックの可観測性は、問題が発生した場所に関係なく、必要なトラブルシューティングツールとなります。
ソリューションの概要
AWS Control Tower の Dynatrace 統合ソリューションは、マルチアカウント AWS 環境の Dynatrace モニタリングを確立する方法を提供します。このソリューションでは、AWS マネージドアカウントが作成されるときの設定プロセスが自動化されます。データベース、ネットワーク、コンピューティングサービス向けに Amazon CloudWatch (CloudWatch) に公開されたメトリクスを取り込むことで、Dynatrace はお客様の環境を把握します。
Dynatrace AWS モニタリングには、Dynatrace の AWS アカウントごとに AWS モニタリングポリシーとロールが設定されている必要があります。Dynatrace で AWS アカウントとロールが設定された後、Dynatrace はこの設定を使用して Amazon CloudWatch API を呼び出し、CloudWatch メトリクスを継続的に Dynatrace プラットフォームへ取り込みます。このソリューションはオープンソースであり、コードは Dynatrace の GitHub リポジトリで入手できます。Dynatrace の AWS 統合は、ホームリージョンの AWS Control Tower 管理アカウントにデプロイする必要があります。ホームリージョンは、AWS Control Tower ランディングゾーンを設定するリージョンです。
このソリューションで使われる AWS のサービスは、以下のとおりです。ほとんどのリソースは AWS CloudFormation スタックを使用してセットアップされます。
次の図は、新しいマネージドアカウントのプロセスフローステップを示しています。
- エンドユーザーには表示されません。Account Factory が新しい AWS Control Tower マネージドアカウントを作成すると、CreateManagedAccount AWS Control Tower ライフサイクルイベントがトリガーされます。
- これらのライフサイクルイベントは、Amazon EventBridge および Amazon CloudWatch Events サービスに配信されます。
- Lambda 関数は CreateManagedAccount イベントを処理し、次の 2 つの処理を行います。
- AWS CloudFormation StackSet を作成します。これにより、新しいマネージドアカウントの Dynatrace を監視する IAM ロールが作成されます。
- Dynatrace の AWS モニタリング設定を、AWS Secrets Manager に保存されている Dynatrace API URL とトークンを使用して設定します。
- Dynatrace は AWS CloudWatch に公開されたメトリクスの取り込みを開始し、Dynatrace ウェブユーザーインターフェイス内でこれらのメトリクスを利用できるようにします。
前提条件
Dynatrace と AWS Control Tower の統合を実装するには、次の前提条件が必要です。
- AWS Control Tower が完全にデプロイされていること。AWS Control Tower のランディングゾーンのセットアップの詳細については、AWS Control Tower ユーザーガイドの「AWS Control Tower の使用開始」を参照してください。
- AWS Control Tower 管理アカウントの管理者権限があること。
- アクティブな Dynatrace SaaS アカウント。
Dynatrace を初めて利用し、プラットフォームを評価したい場合は、15 日間の SaaS トライアルとして無償で評価できます。Dynatrace ライセンスは、AWS Marketplace で入手できます。AWS Marketplace で Dynatrace を調達することで、AWS から一括請求 (コンソリデーティッドビリング) を受けることができます。AWS Enterprise Discount Program (EDP) に参加している場合は、支出コミットメントを廃止することもできます。お客様固有の技術的およびビジネスニーズに適した料金や条件については、Dynatrace のセールスにお問い合わせください。
ソリューションの概要
デプロイと設定の手順は、Dynatrace ユーザーインターフェイス (UI) と AWS CloudFormation コンソールで実行します。Dynatrace UI は、SaaS テナントがプロビジョニングされるとすぐに利用できます。Dynatrace UI を使用して、AWS Control Tower ワークフローで使用される API トークンを生成し、収集した AWS メトリックスを表示します。AWS CloudFormation コンソールを使用して、ソリューションをデプロイし、作成ステータスを確認します。
ここでは、管理者のセットアッププロセスの概要を示します。
- Dynatrace API トークンの作成 – お客様の Dynatrace SaaS 環境で、管理者は AWS CloudFormation テンプレートのパラメータとして使用するトークンを作成します。
- AWS CloudFormation テンプレートのデプロイ – AWS CloudFormation コンソールで、管理者は Dynatrace ソリューションのリソースを作成する AWS CloudFormation テンプレートをデプロイし、Dynatrace 環境で URL と API トークンを渡します。
- ソリューションの設定を検証 – 管理者が AWS CloudFormation テンプレートをデプロイした後、以下のリソースが AWS Control Tower 管理アカウントに追加されます。
-
- マネージドアカウントで Dynatrace を監視する IAM ロールを作成するための StackSet
- CreateManagedAccount AWS Control Tower イベントをキャプチャするためのイベントルール
- CreateManagedAccount イベントを処理する Lambda 関数
- Dynatrace API の URL とトークンを保存するシークレット (Secrets Manager で)
ソリューションのチュートリアル
ステップ 1: Dynatrace API トークンを作成
トライアルにサインアップするか、Dynatrace セールスから環境を取得すると、Dynatrace SaaS 環境への URL が提供されます。Dynatrace SaaS URL の形式は次のとおりです。https://{your-environment-id}.live.dynatrace.com。それぞれの Dynatrace SaaS 環境は一意の文字列で識別されます。これは、環境 ID と呼ばれます。
- ブラウザウィンドウで、環境 ID の URL を開きます。Dynatrace に管理者アクセス権を持つユーザーとしてログインします。
- ナビゲーションペインで [Settings] を選択します。
- [Integration] で、[Dynatrace API] を選択します。
- [Dynatrace API] ページの [My Dynatrace API Tokens] で、[Generate Token] を選択します。トークンの名前を入力します。
- API v1 の場合、[Read configuration] と [Write configuration] を選択します。
- [Generate] を選択します。
- 次のセクションのトークン値を保存するには、[Copy] を選択します。
このチュートリアルの次のセクション「新しい AWS マネージドアカウントに対する Dynatrace 可観測性の使用」については、ブラウザで Dynatrace UI を開いたままにしておきます。
ステップ 2: AWS CloudFormation テンプレートをデプロイ
A.テンプレートを取得し、AWS CloudFormation コンソールにログインします。これには、以下を実行します。
- GitHub から AWS CloudFormation テンプレートをダウンロードします。
- AWS CloudFormation コンソールを開き、管理者アクセス権を持つユーザーとして AWS Control Tower プライマリアカウントでログインします。
- ナビゲーションバーで、リージョンセレクタを選択し、AWS Control Tower が有効になっているリージョンを選択します。
B.テンプレートをアップロードして、スタックの作成を開始します。
- ナビゲーションペインで [Stacks] を選択します。
- スタックページで [Create Stack] を選択します。
- ステップ 1: テンプレートの指定では、[Prepare template] で [Template is ready] を選択します。
- [Template source] で、[Upload a template file] を選択し、ダウンロードしたテンプレートを選択します。
- [Next] を選択します。
C.スタックを設定して作成します。これには、以下を実行します。
- ステップ 2: スタックの詳細の設定では、以下のパラメータの値を指定します。
- Stack name — 組織の命名規則に従う名前
- DynatraceApiKey — ステップ 1 で生成した API トークンの値
- DynatraceUrl — ステップ 1 で E メールで受信した Dynatrace テナントエンドポイントの URL
- [Next] を選択します。
- ステップ 3: スタックオプションの設定では、デフォルト値をそのまま使用するか、オプションでタグなどのオプションを指定します。
- [Next] を選択します。
- ステップ 4: 確認では、スタックの詳細を確認します。
- [Create stack] を選択します。
ステップ 3: ソリューションの設定を検証
[Stacks summary] ページで、CREATE_COMPLETE ステータスを探して、スタックが正常に作成されたことを確認します。
新しい AWS マネージドアカウントに Dynatrace の可観測性を使用
AWS Control Tower と Dynatrace を統合したので、Dynatrace のフルスタック可観測性機能を使用できます。このセクションでは、Rob と私が AWS アカウント向けに事前に構築されたダッシュボードを使用する方法を説明します。
AWS アカウントの概要
構築済み AWS ダッシュボードは Dynatrace UI で利用できます。それらを表示するには、環境 ID URL を開き、ナビゲーションペインで [AWS] を選択します。
Dynatrace AWS ページには、AWS アカウント内の AWS のサービスの数の概要が表示されます。これは、Amazon アカウントの設定と環境で実行しているサービスによって異なります。次の図は、アカウントの概要ページの例を示しています。図の中央には、17 のアベイラビリティーゾーンに 627 の EC2 インスタンスと 14 の Lambda 関数が示されています。左側には、5 つのサポートサービス、22 のロードバランサー、488 の S3 バケットが表示されています。右側には、4 つの RDS インスタンス、3 つの DynamoDB テーブル、1,634 の EBS ボリュームが表示されています。
アカウント内の AWS のサービスの詳細を表示するには、そのサービスを選択します。例えば、EC2 の概要ページには、インスタンスの状態、サイズ、リソース使用率、および Dynatrace OneAgent がデプロイされているかどうかの概要が表示されます。
次のスクリーンショットは、選択したリージョン us-east-1a のページの例です。最初のページの上部には、EC2 インスタンスタイプ別の 188 インスタンスの数、サービスの停止状態または終了状態、および詳細な可視性のために Dynatrace OneAgent がインストールされているかどうかが表示されます。右側には、過去 7 日間のアクティブなインスタンスと終了したインスタンスの円グラフが表示されます。次のスクリーンショットを参照してください。
クリーンアップ
ステップ 1: Dynatrace AWS モニタリング設定を削除
- ブラウザウィンドウで、環境 ID URL を開き、管理者アクセス権を持つユーザーとして Dynatrace にログインします。
- ナビゲーションペインで [Settings] を選択します。
- [Cloud and virtualization] で、[AWS] を選択します。
- 設定された AWS アカウントごとに、[delete] ボタンを選択し、[save changes] を選択します。
ステップ 2: Dynatrace API トークンを削除
- ナビゲーションペインで [Settings] を選択します。
- [Integration] で、[Dynatrace API] を選択します。
- Dynatrace API ページで、[delete] ボタンを選択し、AWS モニタリング設定で使用する API トークンに対して [save changes] を選択します。
ステップ 3: AWS CloudFormation スタックを削除
- AWS CloudFormation コンソールを開き、管理者アクセス権を持つユーザーとして AWS Control Tower プライマリアカウントでログインします。
- ナビゲーションバーで、リージョンセレクタを選択し、AWS Control Tower が有効になっているリージョンを選択します。
- ナビゲーションペインで [CloudFormation] を選択し、[Stacks] を選択します。
- 削除するスタックを選択し、[Delete] を選択します。
- スタックのステータスを監視して、削除が反映されるよう変更されたことを確認します。
- [CloudFormation] ページで [ StackSets] セクションを開き、削除が反映されるよう各 StackSet ステータスが変更されたことを確認します。
まとめ
このブログ投稿で、Rob と私は、Dynatrace と AWS Control Tower の統合により、マルチアカウントの AWS 環境全体でフルスタックの可観測性を実現する方法を紹介しました。統合ソリューションのアーキテクチャと実装についても説明しました。AWS リソースに対する可視性を得るために事前に構築されたダッシュボードの例を示しました。
設定やコード変更がない Dynatrace を、適切な設定で一貫して新しい AWS アカウントに統合し、AWS Control Tower ポリシーによって適用する方法を示しました。詳細については、「AWS Marketplace の Dynatrace」を参照してください。
著者について
James Ferguson は AWS のシニアソリューションアーキテクトであり、AWS Control Tower アンバサダーです。James は、モバイルからデータアプリケーションへの主要なリーダーシップと技術の進歩に関わり、AWS のお客様に毎日サポートを提供しています。
Rob Jahn 氏は、Dynatrace のテクニカルパートナーマネージャーであり、市場調査をサポートするとともに、戦略的テクノロジーパートナーロードマップを作成し、AWS などの主要な戦略的テクノロジーパートナーとの日常的なビジネス関係を発展させています。