Elastic Container Instance では、数回のクリックで tcpdump 機能を有効にして、ネットワークパケットをキャプチャおよび解析できます。これにより、ネットワークトラフィックの監視と分析に役立ちます。このトピックでは、tcpdump 機能を有効にしてネットワークパケットをキャプチャし、コンテナーでネットワーク例外が発生したときに問題を特定して分析する方法について説明します。
背景情報
コンテナでネットワーク例外が発生した場合、問題を特定して分析するためにネットワークパケットをキャプチャする必要がある場合があります。ただし、システムがネットワークパケットをキャプチャしようとすると、次の問題が発生する可能性があります。
Elastic Container Instance を使用すると、tcpdump 機能を簡単に有効にして、前述の問題を解決できます。次の図は、tcpdump 機能のロジックを示しています。

制限事項
tcpdump 機能は、次のリージョンではサポートされていません: 中国 (ウランチャブ)、中国 (河源)、中国 (広州)、中国 (南京 - ローカルリージョン - 提供終了)、フィリピン (マニラ)、韓国 (ソウル)、タイ (バンコク)、マレーシア (クアラルンプール)。
手順
エラスティックコンテナインスタンスコンソールで、または API オペレーションを呼び出すことによって、tcpdump 機能を使用できます。
コンソール
エラスティックコンテナインスタンスコンソール にログオンします。
エラスティックコンテナインスタンスの tcpdump を有効にします。
ターゲットインスタンス ID をクリックして、[インスタンス詳細] ページを表示します。
[O&M] タブで、[Tcpdump] タブをクリックします。
[有効にする] をクリックします。
[Tcpdump を有効にする] ダイアログボックスで、要件に基づいてパラメータを設定し、[OK] をクリックします。
次の表に、パラメータを示します。
パラメータ | 説明 |
送信元 | パケットキャプチャの送信元 IP アドレスまたは CIDR ブロックを指定できます。パケットキャプチャの送信元ポートも指定できます。 |
目的 | パケットキャプチャの宛先 IP アドレスまたは CIDR ブロックを指定できます。パケットキャプチャの宛先ポートも指定できます。 |
ネットワークインターフェイスカード (NIC) | パケットをキャプチャするエラスティックネットワークインターフェース (ENI)。 |
パケット | |
ネットワークプロトコル | パケットのキャプチャに使用するネットワークプロトコル。TCP、UDP、および ICMPv4 がサポートされています。 |
tcpdump 機能を有効にすると、システムはパケットのキャプチャを開始し、実行中状態の O&M タスクを生成します。
必要に応じて Elastic Container Instance をデバッグし、tcpdump を無効にします。
tcpdump 機能を無効にすると、システムはパケットのキャプチャを停止し、パケットファイルを生成して、オブジェクトストレージサービス (OSS) バケットに保存します。次の表に、tcpdump 機能を無効にする方法を示します。
シャットダウンプロシージャ | 説明 |
手動 | インスタンスの [Tcpdump] タブで、[無効にする] をクリックします。 |
自動シャットダウン | tcpdump 機能を有効にしたときに、サイズ、数量、期間などのパラメータを指定してパケットキャプチャのサイズと期間を指定した場合、いずれかの条件が満たされると、システムは自動的に機能を無効にします。 |
O&M タスクに対応する [結果] 列の [ダウンロード] をクリックして、パケットファイルをオンプレミスのコンピュータにダウンロードします。
説明 システムが応答しない場合は、ブラウザの Web サイトの権限設定を確認してください。詳細については、このトピックのFAQ セクションを参照してください。
OpenAPI
CreateInstanceOpsTask オペレーションを呼び出して、エラスティックコンテナインスタンスの tcpdump 機能を有効にします。
tcpdump 機能を有効にするには、次のパラメータを指定する必要があります。
ContainerGroupId: tcpdump 機能を有効にするエラスティックコンテナインスタンスの ID。
OpsType: このパラメーターを tcpdump に設定します。
OpsValue: このパラメーターを {"Enable":true} に設定します。
説明 OpsValue は、tcpdump O&M タスクのパラメーターのコレクションです。OpsValue の値は JSON 形式の文字列です。必要に応じて、ソース、宛先、ENI、パケットなどのパラメーターを指定できます。OpsValue の詳細については、「CreateInstanceOpsTask」をご参照ください。
必要に応じて Elastic Container Instance をデバッグし、tcpdump 機能を無効にします。
tcpdump 機能を無効にすると、システムはパケットのキャプチャを停止し、パケットファイルを生成して、OSS バケットに保存します。次の表に、tcpdump 機能を無効にする方法を示します。
シャットダウンプロシージャ | 説明 |
手動 | CreateInstanceOpsTask オペレーションを呼び出して tcpdump 機能を無効にする場合は、次のパラメータを指定する必要があります。 ContainerGroupId: ターゲット ECI インスタンスの ID。 OpsType: このパラメーターを tcpdump に設定します。 OpsValue: このパラメーターを {"Enable":false} に設定します。
|
自動シャットダウン | tcpdump 機能を有効にしたときに、OpsValue で Snaplen、Duration、PacketNum、FileSize などのパラメータを指定してパケットキャプチャのサイズと期間を指定した場合、いずれかの条件が満たされると、システムは自動的に機能を無効にします。 |
パケットファイルをダウンロードします。
DescribeInstanceOpsRecords オペレーションを呼び出して、ResultContent 応答パラメータからパケットファイルを指す URL を取得します。
パケットファイルは OSS に保存されます。URL の例を次に示します: http://eci-ops-files-cn-beijing.oss-cn-beijing.aliyuncs.com/pcaps/1609****/eci-2ze6n7kqdici********-eth0-****.pcap?Expires=****&OSSAccessKeyId=****&Signature=****&security-token=****。
URL をクリックして、パケットファイルをオンプレミスのコンピュータにダウンロードします。
FAQ
エラスティックコンテナインスタンスコンソールで tcpdump を有効にして、O&M タスクの [結果] 列の [ダウンロード] をクリックした後、システムが応答しない場合はどうすればよいですか?
ダウンロードが開始されない場合は、ブラウザのサイト権限設定を確認してください。たとえば、次のように Chrome で権限を有効にできます。
エラスティックコンテナインスタンスコンソールで、ブラウザのアドレスバーにある
アイコンをクリックし、[サイトの設定] を選択します。
設定項目 [安全でないコンテンツ] の設定を [許可] に変更します。