AWSSupport-SetupIPMonitoringFromVPCを利用してVPC内の特定ネットワーク状況を把握する

2019.02.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

園部です。

今回は、こちらの記事:Debugging tool for network connectivity from Amazon VPCで、紹介されていた「AWSSupport-SetupIPMonitoringFromVPC」を利用してみます。

AWSSupport-SetupIPMonitoringFromVPCとは?

Systems Manager Automation で利用できるAWSによって事前に準備されたドキュメントの一つです。 AWSSupport-SetupIPMonitoringFromVPC

[説明]

AWSSupport-SetupIPMonitoringFromVPC は、指定されたサブネットに Amazon EC2 インスタンスを作成し、ping、MTR、トレースルートおよび tracetcp テストを継続的に実行することによって、選択したターゲット IP (IPv4 または IPv6) を監視します。結果は Amazon CloudWatch Logs ログに保存され、メトリクスフィルタが適用されて、CloudWatch ダッシュボードの待ち時間とパケット損失の統計をすばやく視覚化できます。

[追加情報]

CloudWatch Logs データは、ネットワークのトラブルシューティングやパターン/傾向の分析に使用できます。さらに、パケット損失やレイテンシーがしきい値に達したときに、Amazon SNS 通知で CloudWatch アラームを設定できます。データはプレミアムサポートケースを開くときに使用され、問題の特定や、ネットワークの問題の調査、解決がすばやく行えるようにします。

(引用:公式ドキュメントより)

 

構成として、このようになります。(この図には対象インスタンスは含まれていません)

(引用:冒頭の「Debugging tool for network connectivity from Amazon VPC」記事より)

やってみる

環境

今回は、以下のようなイメージで、対象となるEC2を異なるAZに配置したサブネットに1台ずつ用意し、それぞれに対して、実施してみます。

1. 環境作成

前述の環境イメージ図にあるリソースを作成します。 (作成手順は割愛します)

注意点: Monitor EC2からTarget EC2へのアクセス許可をセキュリティグループで設定しておいてください。(ICMPなどのネットワークコマンド用ポート)

2. AWSSupport-SetupIPMonitoringFromVPC の実行

2-1. Systems Manager Automation からドキュメント(AWSSupport-SetupIPMonitoringFromVPC)を選択します

2-2. 必要項目を入力して、実行します

今回は、SubnetIdTargetIPsCloudWatchLogGroupRetentionInDaysのみ指定しました。

各パラメータの説明

3. 結果確認

3-1. 実行の詳細を確認します

ステップ数は38ありますが、28まで行けば完了です。

(28以降は、内容的に削除時のステップに見受けられます)

3-2. 作成されたリソースを確認します

【EC2】

「AWSSupport-SetupIPMonitoringFromVPC - subnet-***」という名前で1つインスタンスが起動されています。

【セキュリティグループ】

「SetupIPMonitoringFromVPC_***」というグループ名で1つ作成されています。

  • インバウンドは何もなし

  • アウトバウンドは全て許可

【IAMロール】

「SetupIPMonitoringFromVPC_***」という名前で1つ作成されています。ポリシーは「AmazonEC2RoleforSSM」と「SetupIPMonitoringFromVPC_CWPermissions」がアタッチされています。

3-3. CloudWatchの内容を確認します

【CloudWach Logs】

Pingなどの結果がCloudWatch Logsに蓄積されています。

【メトリクス】

メトリクスフィルターで、2種類のメトリクスが取得されています。 このメトリクスを用いて、アラームを作成することも可能です。

【ダッシュボード】(若干、加工しました)

PacketLossとLatencyがグラフ化され、その他の項目は、CloudWatch Logsへのリンクが表として表示されています。 一番下のフレームでは、この処理を停止や削除、新規作成のボタンが配置されています。

PacketLossについては、途中でセキュリティグループを変更し、通信を遮断したところ、その部分はロスの結果になっています。

Latencyは、「192.168.1.83」が同一サブネット(寒色系の線)、「192.168.0.168」は異なるサブネット(暖色系の線)に配置されてEC2のため、値に一定の差が出ています。

4. AWSSupport-SetupIPMonitoringFromVPC の撤収

4-1. CloudWatch ダッシュボード 「Terminate test」を選択します

4-2. 必要が自動で入力されるため、実行します

まとめ

セキュリティグループの設定がクリアされていれば、Systems Managerでの入力と選択だけで、環境が構築され、利用可能となります。 とても手軽なのではないかと思います。 想定していたよりパフォーマンスが出ない時や、ネットワークに懸念がある時に、状況を把握する手段の一つとなるのではないでしょうか。

また、ネットワーク監視として利用することも可能かと思います。その際は、(冒頭の記事にも書かれていますが)他の監視方法との併用やコスト面から対象EC2×CloudWatch Logsの保管期間などをご検討の上、利用された方が良いと思います。