Amazon Web Services ブログ

VMware Cloud on AWS を AWS Systems Manager で運用・管理する

ハイブリッドクラウド戦略は、お客様に管理とガバナンスの課題をもたらします。これらの課題には、ハイブリッドな VMware Cloud on AWS (VMC) 環境とクラウド環境全体で一貫したクラウドセキュリティとコンプライアンスポリシーを維持すること、オペレーションデータを視覚化して処理するための単一画面の提供、複数のクラウド環境にわたるクラウドインフラストラクチャの導入の自動化と制御の提供が含まれます。

VMware Cloud on AWS を使用すると、VMware ワークロードを AWS で実行されている VMware が管理する Software-Defined Data Center (SDDC) に迅速に移行し、アプリケーションのリプラットフォーム (Replatform) やリファクタリングを行わずにオンプレミスのデータセンターを拡張できます。これにより、お客様は VMware の SDDC をデプロイし、AWS のグローバルインフラストラクチャ上の vSphere ワークロードをマネージドサービスとして使用できます。SDDC の仮想マシン (VM) から AWS のネイティブサービスを使用すると、ワークロードの俊敏性とスケーラビリティを高めながら、オペレーションオーバーヘッドを削減し、総所有コスト (TCO) を削減できます。

AWS Systems Manager (SSM) は、AWS、ハイブリッド、またはマルチクラウド環境向けの安全なエンドツーエンドの管理ソリューションです。このソリューションでは、Systems Manager のノード管理機能を使用して、ハイブリッド VMware Cloud on AWS 環境でコンピューティングリソースをリモート管理する方法を示します。

このソリューションでは、インベントリの収集や安全なセッションの開始など、Systems Manager による一元的なノード管理を行う方法を示します。Amazon EC2 のパッチ自動化が VMware Cloud on AWS でシームレスに機能する方法と、一元化されたインターフェイスから VMware Cloud on AWS VM へのサードパーティパッケージのインストールとその後のプロビジョニングの両方を自動化する方法を紹介します。

インストール

 

VMware Cloud on AWS 環境のセットアップ

VMware Cloud on AWS の設定には、2 つのアカウントが必要です。1 つ目は VMware Cloud SDDC アカウントです。これは SDDC または VMware Cloud on AWS リソースを実行する AWS アカウントで、VMware が所有および運用しています。2 つ目に必要なアカウントは、お客様所有の AWS アカウントです。このアカウントを SDDC に正常にアタッチするには、そのアカウント内に少なくとも 1 つの Amazon Virtual Private Cloud (Amazon VPC) が必要です。この VPC をConnected VPC と呼びます。VMware Cloud SDDC のデプロイで説明されている手順に従って VMware Cloud SDDC アカウントをプロビジョニングすると、この VPC 内の AWS サービスに高帯域幅で低レイテンシーでアクセスできるように、Connected VPC に AWS Elastic Network Interfaces (ENI) が設定されます。

このソリューションでは、まず VMware Cloud SDDC アカウントと、Connected VPC アカウントの設定から始めます。Connected VPC アカウントで VPC を設定し、 AWS Resource Access Manager (AWS RAM) を使用して、共有されている AWS Transit GatewayAWS Transit Gateway アタッチメント経由でこの VPC を接続します。次に、この Transit Gateway は、VMware が提供する Transit Gateway である VMware Transit Connect とピアリングされ、このピアリングによって、Connected VPC アカウント内の VPC は VMware Cloud SDDC に接続されます。

Systems Manager エージェントを VMware Cloud SDDC 内の VMware Cloud on AWS 仮想マシン にデプロイし、お客様のワークロードアカウントで実行されている Systems Manager サービスに接続します。この設定により、Systems Manager のノード管理機能を使用してハイブリッド VMware Cloud on AWS 環境のコンピューティングをリモート管理し、ノードの一元管理と運用管理機能の両方を実現できます。

Systems Manager のセットアップ

ハイブリッド環境用の Systems Manager の設定 — 他のクラウド環境の VM を含むハイブリッド環境の運用と管理を一元化するように Systems Manager を設定するには、次の手順に従います。 Systems Manager 用の VMware Cloud on AWS 仮想マシン の設定が完了すると、ハイブリッドマネージドノード (つまり VMware Cloud on AWS 仮想マシン) の ID は、プレフィックス「mi-」が付いた Amazon Elastic Compute Cloud (Amazon EC2) インスタンスと区別されます。Amazon EC2 インスタンス ID にはプレフィックス「i-」を使用します。
次の図は、このセットアップのソリューションアーキテクチャを示しています。

Architecture diagram that describes our setup of using Systems Manager for VMWare Cloud on AWS

図1: Systems Manager による集中型運用管理のアーキテクチャ

フリート管理

Systems Manager の機能の 1 つである Fleet Manager を使用すると、個々のノード (サービス、デバイス、またはその他のリソース) にドリルダウンして、ディスクやファイルの探索、ログ管理、コンソールからのユーザー管理などの一般的なシステム管理タスクを実行できます。
Systems Manager コンソールに移動し、左側のパネルで Fleet Manager を選択します。メインコンソールの Managed nodes パネルで、プレフィックス「mi-」の付いた VMware Cloud on AWS 仮想マシン を選択します。管理対象ノードをドリルダウンすると、仮想マシンに接続されているボリュームに保存されているフォルダとファイルデータに関する情報を表示できます。これには、インスタンスに関するリアルタイムのパフォーマンスデータや、 仮想マシン上のオペレーティングシステム (OS) ユーザーアカウントの管理などの情報が含まれます。

VMC VM as a managed node using Systems Manager Fleet Manager

図 2: Systems Manager Fleet Manager を使用した管理対象ノードとしての VMware Cloud on AWS 仮想マシン

Node details of the VMC VM using Systems Manager Fleet Manager

図 3: Systems Manager を使用した VMware Cloud on AWS 仮想マシン ノードの詳細

パッチ管理

Systems Manager の機能の 1 つである Patch Manager は、管理対象ノードにセキュリティ関連の更新とその他の種類の更新プログラムを適用するプロセスを自動化します。Systems Manager コンソールに移動し、左側のパネルで [ Fleet Manager ] を選択します。メインコンソールの [ Managed node ] パネルで、プレフィックス「mi-」の付いた VMware Cloud on AWS 仮想マシン を選択し、次の手順を実行します。

  1. ステップ 1: 下部のパネルから [ Tags ] を選択し、VMware Cloud on AWS 仮想マシン にタグキーと値を追加します。
  2. ステップ 2: こちらの手順に従い、タグを使用して管理対象ノードをパッチグループに追加し、ステップ 1 と同じタグキーを PatchGroup タグキーのタグ値として使用するようにします。

AWS CloudFormation コンソールに移動し、aws-patch-manager-v1.yaml CloudFormation テンプレートを起動します。パラメータには、上記のステップ 1 のタグキーを VmcTagKey パラメータの値として指定します。

このテンプレートは、毎週実行される Systems Manager State Manager アソシエーションを作成し、「AWS-RunPatchBaseline」自動化ドキュメントを使用して、タグ付けされた VMware Cloud on AWS 仮想マシン に対しパッチグループに関連付けられたパッチベースラインを適用します。テンプレートが正常にデプロイされたら、State Manager コンソールに移動し、右側のパネルで「PatchVmsWeekly」というサフィックスが付いた名前のアソシエーションを選択して、VMware Cloud on AWS 仮想マシン のパッチ適用をテストできます。[ Apply Association now ] ボタンを選択すると、VMware Cloud on AWS 仮想マシン のオンデマンドパッチ適用が開始されます。

以下の図は、VMware Cloud on AWS 仮想マシン のパッチ適用ステータスが非準拠から成功ステータスへと変わる様子を示しています。

図 4: パッチベースラインが適用される前の非準拠のパッチ適用ステータスを示す VMware Cloud on AWS 仮想マシン

VMC VM showing patching in progress with Systems Manager Patch Manager

図 5: Systems Manager Patch Manager によるパッチ適用中の VMware Cloud on AWS 仮想マシン

VMC VM showing successful patching with Systems Manager Patch Manager

図 6: Systems Manager Patch Manager によるパッチの適用が成功したことを示す VMware Cloud on AWS 仮想マシン

VMC VM showing successful patching with Systems Manager Patch Manager compliance reporting

図 7: Systems Manager Patch Manager のコンプライアンスレポートによるパッチの適用が成功したことを示す VMware Cloud on AWS 仮想マシン

パッケージの配布

お客様は、CrowdStrike、TrendMicro、Tenable などのサードパーティのエージェントベースのパッケージや脆弱性管理ツールを日常的に活用して AWS 環境を保護しています。AWS は、AWS Systems Manager Distributor (Distributor) によるサードパーティエージェントの配布をサポートしています。Distributor では、独自のソフトウェアをパッケージ化したり、Amazon CloudWatchAgent などの AWS 提供のエージェントソフトウェアパッケージを見つけて、お客様の VMware Cloud on AWS 環境を含む AWS Systems Manager マネージドインスタンスにインストールすることができます。

以下の手順に従って、サードパーティソフトウェア用のパッケージを作成し、Amazon S3 にアップロードします。このブログ記事では、s3-examplepackage-[ accountid ]-[ region ] という名前の Amazon S3 バケットを使用しています。サンプルパッケージフォルダの S3 バケットにアップロードされたステップワイズインストラクションのサンプルパッケージを使用して、ソリューションをデモンストレーションします。サンプルパッケージには、完成した JSON マニフェストと 3 つの.zip ファイルが含まれています。次の図は、S3 にアップロードされたカスタムパッケージを示しています。

S3 bucket showing the custom package to be installed on VMC VM

図 8: VMware Cloud on AWS 仮想マシン にインストールするカスタムパッケージを含む S3 バケット

AWS CloudFormation コンソールに移動し、こちらの指示に従って aws-centralizedssmdistributor-v1 CloudFormation テンプレートを使用して CloudFormation スタックを起動します。このテンプレートを使用すると、カスタムパッケージを、AWS Organizations の各メンバーアカウントの Distributor コンソールの Owned by me タブから Systems Manager Automation ドキュメントとして利用できるようになります。次に、各メンバーアカウントに State Managerーアソシエーションをプロビジョニングし、アソシエーションで指定されたスケジュールとタグに従ってそのアカウントにパッケージをインストールします。テンプレートは以下のパラメータを取ります。

  1. PackageName: パッケージの名前
  2. s3PackageBucket: パッケージコンテンツがアップロードされる S3 バケットの名前 (例: s3-examplepackage-[ accountid ]-[ region ])
  3. s3PackageBucketFolder: マニフェストがアップロードされる S3 バケットフォルダーの名前 (例:SimplePackage2)
  4. s3PackageUrl: パッケージの内容がアップロードされるプレフィックスを含むバケットの HTTPS URL (例: https://s3-examplepackage-[ accountid ]-[ region ].s3 [ region ]. amazonaws.com/examplepackage)
  5. Version: マニフェストファイルの正確なバージョン名を指定します (例:1.0.2)
  6. AssociationName: アソシエーションの名前
  7. Action: パッケージをインストールするかアンインストールするかを指定します。(例:In-place update)
  8. InstallationType: インストールの種類を指定します (例:Install または Uninstall)
  9. Outputs3Prefix: AWS Systems Manager の実行コマンド出力に使用される S3 キープレフィックス (“Default”)
  10. ScheduleExpression: AWS Systems Manager アソシエーションのスケジュール式。(例:「料金 (30 分)」)
  11. TargetResourceTagKey: ターゲットの AWS Systems Manager タグキー (パッケージを VMware Cloud on AWS 仮想マシン にのみインストールしたい場合は VmcTagKey を指定します)
  12. TargetResourceTagValue: ターゲットの AWS Systems Manager タグ値 (パッケージを VMware Cloud on AWS 仮想マシン にのみインストールしたい場合は、VmcTagKey の値を入力します)

テンプレートが正常にデプロイされたら、AWS Systems Manager コンソールに移動し、左側のパネルから [ Distributor ] を選択します。「Owned by me」タブを選択し、サンプルパッケージがそこにあることを確認します。パッケージ (SimplePackage2) を選択し、詳細セクションからバージョンを検証します。追加情報セクションの添付ファイル情報に、カスタムパッケージ (examplepackage) のマニフェストファイルとまったく同じように zip ファイルとハッシュが含まれていることを確認します。Distributor で利用可能になったカスタムパッケージ(SimplePackage2)は次のとおりです。

Figure illustrating how our custom package is made available in Distributor under the Owned by me tab in each member account

図 9: Distributor の各メンバーアカウントの「Owned by me」タブでカスタムパッケージを利用できるようにする

セッション管理

Systems Manager の機能の 1 つである Session Manager を使用すると、受信ポートを開いたり、拠点ホストを管理したり、SSH キーを管理したりすることなく、安全で監査可能なノード管理が可能になります。管理者は、1 つの場所から VMware Cloud on AWS 仮想マシン へのアクセスを許可および取り消すことができます。また、マルチクラウド環境の Linux、macOS、Windows Server の管理対象ノードのユーザーに 1 つのソリューションを提供できます。ユーザーは、SSH キーを提供しなくても、ブラウザまたは AWS コマンドラインインターフェイス(AWS CLI)からワンクリックで、クラウド上のマネージドノード(VMware Cloud on AWS 仮想マシンなど)に接続できます。

AWS Systems Manager Session Manager enables secure session login to the VMC VM without the need to open inbound ports or maintain bastion hosts

図 10: Windows VMware Cloud on AWS 仮想マシンによる安全なセッションアクセス

インベントリー管理

Systems Manager の機能の 1 つである Inventory は、オンプレミスでも他のクラウドでも、AWS で実行されている管理対象ノードからメタデータを収集します。メタデータには、アプリケーション (アプリケーション名、発行者、バージョン)、ファイル (名前、サイズ、バージョン、インストール日、変更、最終アクセス日時)、ネットワーク構成 (IP アドレス、MAC アドレス、DNS、ゲートウェイ、サブネットマスク) などが含まれます。Systems Manager Inventory によって収集されるメタデータタイプの全リストには、こちらからアクセスできます。

Systems Manager コンソールに移動し、ナビゲーションペインで [ Inventory ] を選択します。Inventory ページの Systems Manager コンソールのデータには、データのクエリに役立ついくつかの定義済みカードが含まれています。

AWS Systems Manager Inventory displays predefined cards to help you query inventory metadata of your VMC VM.

図 11: AWS Systems Manager Inventory に VMware Cloud on AWS 仮想マシン のインベントリメタデータのクエリに役立つ定義済みのカードが表示される

クリーンアップ

繰り返しの課金を防ぎ、この記事で説明されていソリューションを試した後にアカウントをクリーンアップするには、次の手順を実行してください。

1.VMware Cloud on AWS 仮想マシン から Systems Manager エージェントをアンインストールするには、次の手順に従います。
2.aws-centralizedssmdistrubutor-v1 テンプレートの CloudFormation スタックを削除します。
3.このソリューション用に作成された s3-examplepackage-[ accountid ]-[ region ] Amazon S3 バケットを削除します。

まとめ

クラウド運用サービスを使うと、統一された運用ビューと最適化された IT インフラストラクチャによって、クラウド全体にわたる管理、オーケストレーション、ポータビリティの課題を軽減できます。Systems Manager はクラウド運用サービスであり、ハイブリッド環境のコンピューティングをリモート管理するために使用できるノード管理機能を提供します。この投稿では、Systems Manager を使用して VMware Cloud on AWS で実行されているコンピューティングのインベントリの収集、安全なセッションの開始、パッチ管理とパッケージ配布の一元化と自動化を行う方法を示しました。

この投稿の翻訳は Solutions Architect の有岡が担当させていただきました。原文記事はこちらです。