すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:Session Manager CLI のポートフォワーディング機能を利用してパブリック IP アドレスを持たないインスタンスにアクセスする

最終更新日:Jan 16, 2026

Session Manager CLI (ali-instance-cli) は、クラウドアシスタントと WebSocket を使用して TCP ポートフォワーディングを有効にします。この機能により、パブリック IP アドレスを持たないインスタンス上のサービスに直接アクセスしたり、インスタンスをジャンプサーバーとして使用して他のプライベートネットワークサービスにアクセスしたりできます。

利用シーン

利用シーン 1:パブリック IP アドレスを持たない ECS インスタンス上のサービスへのアクセス。

パブリック IP アドレスを持たない ECS インスタンス上のサービスポート (Nginx のポート 80、SSH のポート 22、RDP のポート 3389、MySQL のポート 3306 など) を、ローカルマシン上の特定のポートにマッピングします。これにより、ローカルポートに接続してプライベートインスタンス上のサービスにアクセスできるようになります。

image

利用シーン 2:インスタンスをジャンプサーバーとして使用し、他のプライベートホスト上のサービスにアクセスする。

ApsaraDB RDS for MySQL データベースなど、直接接続できないサービスについては、ターゲットサービスへのネットワークアクセス権を持つ ECS インスタンスをジャンプサーバーとして使用します。ポートフォワーディングセッションは、このインスタンスを介してトンネリングされ、他のプライベートネットワークサービスに到達します。

image
重要

ポートフォワーディングセッションは、コマンドラインウィンドウが実行中である間のみアクティブです。ウィンドウを閉じると、セッションは直ちに終了します。

利用シーン 1:パブリック IP アドレスを持たない ECS インスタンス上のサービスへのアクセス

事前準備Session Manager CLI のインストールと設定を完了してから、次の手順に従ってください。

Windows の場合

PowerShell で、ali-instance-cli.exe が格納されているディレクトリに移動し、次のコマンドを実行します。

# INSTANCE_ID をポートフォワーディングを設定するインスタンスの ID に、TARGET_PORT をターゲット ECS インスタンスのポートに、LOCAL_PORT をご利用のローカルマシンにマッピングするポートに置き換えます。
.\ali-instance-cli.exe portforward -i INSTANCE_ID -r TARGET_PORT -l LOCAL_PORT

出力[Waiting For Connections]は、トンネルがアクティブであることを示します。127.0.0.1:<local_port>に接続することで、インスタンスのTARGET_PORT 上のサービスにアクセスできるようになります。

たとえば、ターゲット ECS インスタンス i-bp1****** のデフォルトの Nginx ポート 80 をローカルマシンのポート 8080 に転送するには、.\ali-instance-cli.exe portforward -i i-bp1****** -r 80 -l 8080 を実行します。

macOS または Linux の場合

ターミナルで、ali-instance-cli が配置されているディレクトリに移動し、次のコマンドを実行します。

#INSTANCE_ID をポートフォワーディングを設定するインスタンスの ID に、TARGET_PORT をターゲット ECS インスタンスのポートに、LOCAL_PORT をご利用のローカルマシンにマッピングするポートに置き換えます。
./ali-instance-cli portforward -i INSTANCE_ID -r TARGET_PORT -l LOCAL_PORT

出力 [接続を待機しています] は、トンネルがアクティブであることを示します。 これで、127.0.0.1:<local_port> に接続して、インスタンスの TARGET_PORT 上のサービスにアクセスできます。

たとえば、ターゲット ECS インスタンス i-bp1****** のデフォルト Nginx ポート 80 をローカルマシンのポート 8080 に転送するには、./ali-instance-cli portforward -i i-bp1****** -r 80 -l 8080 を実行します。

利用シーン 2:インスタンスをジャンプサーバーとして使用した他のプライベートホスト上のサービスへのアクセス

事前準備Session Manager CLI のインストールと設定を完了してから、次の手順に従ってください。

Windows の場合

PowerShell を開き、ali-instance-cli.exe が格納されているディレクトリに移動して、次のコマンドを実行します:

# INSTANCE_ID をジャンプサーバーインスタンスの ID に、TARGET_IP をターゲットホストの IP アドレスに、TARGET_PORT をターゲットホストのポートに、LOCAL_PORT をご利用のローカルマシンにマッピングするポートに置き換えます。
.\ali-instance-cli.exe portforward -i INSTANCE_ID -r TARGET_IP:TARGET_PORT -l LOCAL_PORT

出力 [Waiting For Connections] は、ジャンプサーバーのトンネルが確立されたことを示します。127.0.0.1:<local_port> へのトラフィックは、ジャンプサーバー経由で TARGET_IP:TARGET_PORT にルーティングされます。

たとえば、ECS ジャンプサーバー i-bp1****** を介して、プライベートエンドポイント rm-******.mysql.rds.aliyuncs.com:3306 の RDS for MySQL インスタンスへのトラフィックを、ローカルマシンのポート 13306 にマッピングするには、.\ali-instance-cli.exe portforward -i i-bp1****** -r rm-******.mysql.rds.aliyuncs.com:3306 -l 13306 を実行します。

macOS または Linux の場合

terminal を開いて、ali-instance-cli があるディレクトリに移動し、次のコマンドを実行します。

#INSTANCE_ID をジャンプサーバーインスタンスの ID に、TARGET_IP をターゲットホストの IP アドレスに、TARGET_PORT をターゲットホストのポートに、LOCAL_PORT をご利用のローカルマシンにマッピングするポートに置き換えます。
./ali-instance-cli portforward -i INSTANCE_ID -r TARGET_IP:TARGET_PORT -l LOCAL_PORT

出力 [接続待機中] は、ジャンプサーバーのトンネルが確立されたことを示します。これにより、127.0.0.1:<local_port> へのトラフィックは、ジャンプサーバーを経由して TARGET_IP:TARGET_PORT にルーティングされます。

たとえば、ECS ジャンプサーバー i-bp1****** 経由で RDS for MySQL インスタンス (プライベートエンドポイント rm-******.mysql.rds.aliyuncs.com:3306) をローカルマシンのポート 13306 にマッピングするには、./ali-instance-cli portforward -i i-bp1****** -r rm-******.mysql.rds.aliyuncs.com:3306 -l 13306 を実行します。

よくある質問

コマンド実行後にコマンドラインが応答しない (インスタンスが実行中でない場合)

ali-instance-cli コマンドを実行してもコマンドラインが応答しない場合、インスタンスが[実行中]状態ではない可能性があります。インスタンスのステータスを表示するには、この Topic の「インスタンスが実行中状態であるかを確認する」をご参照ください。

コマンド実行後にコマンドラインが応答しない (セキュリティグループの設定に問題がある場合)

ali-instance-cli コマンドを実行してもコマンドラインが応答しない場合、セキュリティグループで アウトバウンド トラフィックに必要なポートが開いていないことが原因である可能性があります。 デフォルトでは、基本セキュリティグループはすべてのアウトバウンドトラフィックを許可します。 この問題は、アウトバウンドルールを変更した場合や、高度セキュリティグループ を使用した場合に発生することがあります。 セキュリティグループルールは次のとおりです。

Session Manager を使用して ECS インスタンスに接続する場合、[アウトバウンド] セキュリティグループに以下のルールを追加し、ECS インスタンスで実行されている クラウドアシスタントエージェントがクラウドアシスタントサーバーに接続されるようにしてください。

SSH や RDP (Remote Desktop Protocol) などの接続方法と比較して、クラウドアシスタントエージェントは Session Manager サーバーへの WebSocket 接続を能動的に確立します。セキュリティルールで Cloud Assistant サーバーの [アウトバウンド] WebSocket ポートを開くだけで済みます。Session Manager の仕組みについては、この Topic の「Session Manager の仕組み」セクションをご参照ください。
重要
  • デフォルトのセキュリティグループを含む基本セキュリティグループを使用する場合、すべてのアウトバウンドトラフィックが許可されます。追加の設定は不要です

  • 高度セキュリティグループを使用する場合、すべてのアウトバウンドトラフィックが拒否されます。関連するルールを設定する必要があります。次の表にルールを示します。セキュリティグループの詳細については、「基本セキュリティグループと高度セキュリティグループ」をご参照ください。

セキュリティグループにルールを追加する方法については、「セキュリティグループルールの追加」をご参照ください。

アクション

優先度

プロトコルタイプ

ポート範囲

承認オブジェクト

説明

許可

1

カスタム TCP

443

100.100.0.0/16

このポートは、クラウドアシスタントサーバーへのアクセスに使用されます。

許可

1

カスタム TCP

443

100.0.0.0/8

このポートは、クラウドアシスタントエージェントをインストールまたは更新する際に、クラウドアシスタントエージェントのインストールパッケージが格納されているサーバーにアクセスするために使用されます。

許可

1

カスタム UDP

53

0.0.0.0/0

このポートは、ドメイン名の解決に使用されます。

セッションマネージャーのみを使用してインスタンスに接続する場合は、ECS インスタンスのセキュリティを向上させるために、SSH ポート (デフォルト 22) と RDP ポート (デフォルト 3389) を許可するインバウンドルールをセキュリティグループから削除してください。

DeliveryTimeout エラー:クラウドアシスタントエージェントがオフラインの場合

DeliveryTimeout エラーは、クラウドアシスタントエージェントがオフラインである可能性があることを示します。エージェントのステータスを確認するには、「インスタンスにクラウドアシスタントエージェントがインストールされているかどうかを確認する」をご参照ください。

コマンド実行後に "session manager is disabled, please enable first" エラーが報告される場合

ali-instance-cli コマンドを実行した後に session manager is disabled, please enable first エラーが報告された場合、Session Manager が無効になっています。コンソールで Session Manager を有効にできます。詳細については、「Session Manager を有効にする」をご参照ください。

ali-instance-cli ログの分析方法

Session Manager CLI で問題が発生した場合、ログを分析して原因を特定できます。

  • Session Manager CLI ツールのログの表示: Session Manager CLI (ali-instance-cli) を使用すると、ツールの格納先ディレクトリに ~/log/aliyun_ecs_session_log.2022XXXX などのログフォルダが生成されます。 このフォルダで関連ログを確認できます。

  • クラウドアシスタントエージェントのログを表示する:

    • Linux

      /usr/local/share/aliyun-assist/<Cloud Assistant Agent version>/log/
    • Windows

      C:\ProgramData\aliyun\assist\<Cloud Assistant Agent version>\log