パスワードやパブリック IP アドレスを使用せずに ECS インスタンスに接続できます。SSH や RDP に代わる安全な接続方法です。
セッションマネージャー CLI とは
セッションマネージャー CLI (ali-instance-cli) は、セッションマネージャーを通じて ECS インスタンスに接続するための Alibaba Cloud CLI ツールです。
ali-instance-cli は、Alibaba Cloud CLI と組み合わせてコマンドライン操作を実行することもできます。
前提条件
セッションマネージャーサービスの有効化
インスタンスが実行中であることの確認
Cloud Assistant エージェントがインストール済みであることの確認
セッションマネージャー用の RAM ユーザーの認証情報の準備
1. セッションマネージャー CLI のインストールと設定
セッションマネージャー CLI のインストールと設定が完了している場合は、この手順をスキップしてください。
1.1 インストール
お使いのコンピュータにセッションマネージャー CLI (ali-instance-cli) をインストールします。インストール方法はオペレーティングシステムによって異なります。
Windows
Windows 用 ali-instance-cli をダウンロードし、ローカルフォルダに保存します。
このトピックでは、C:\Users\test フォルダを例として使用します。
macOS
macOS ターミナルで、macOS 用 ali-instance-cli をダウンロードします。
curl -O https://aliyun-client-assist.oss-accelerate.aliyuncs.com/session-manager/mac/ali-instance-cli
実行権限を付与します。
chmod a+x ali-instance-cli
Linux
Linux 用 ali-instance-cli をインストールします。
x86 アーキテクチャ
curl -O https://aliyun-client-assist.oss-accelerate.aliyuncs.com/session-manager/linux/ali-instance-cli
arm アーキテクチャ
curl -O https://aliyun-client-assist.oss-cn-beijing.aliyuncs.com/session-manager/linux_arm/ali-instance-cli
実行権限を付与します。
chmod a+x ali-instance-cli
1.2 設定
ali-instance-cli を使用して ECS インスタンスに接続するには、アクセスキーなどの認証情報を設定します。詳細については、「セッションマネージャー用の RAM ユーザーの認証情報の準備」をご参照ください。
Windows
-
をクリックし、[cmd] と入力して
Enterキーを押し、コマンドプロンプトを開きます。 -
ali-instance-cli.exe のディレクトリに移動します。この例では
C:\Users\testを使用します。cd C:\Users\test -
次のいずれかの方法を使用して認証情報を設定します。
アクセスキー
プロンプトに従って、AccessKey ID、AccessKey シークレット、および リージョン ID を設定します。
ali-instance-cli.exe configure --mode AKSTS トークン
設定します。
ali-instance-cli.exe configure set --mode StsToken --region "<region>" --access-key-id "<ak>" --access-key-secret "<sk>" --sts-token "<sts_token>"<region>、<ak>、<sk>、および<sts_token>を、実際の リージョン ID、AccessKey ID、AccessKey シークレット、およびSTS トークンに置き換えます。CredentialsURI
プロンプトに従って、認証情報 URI および リージョン ID を入力します。
ali-instance-cli.exe configure --mode=CredentialsURI次の出力は、設定が成功したことを示しています。

macOS/Linux
-
ali-instance-cli のディレクトリに移動します。この例では、ホームディレクトリ
~を使用します。cd ~ -
認証情報を設定します。
アクセスキー
プロンプトに従って、AccessKey ID、AccessKey シークレット、および リージョン ID を設定します。
./ali-instance-cli configure --mode AKSTS トークン
設定します。
./ali-instance-cli configure set --mode StsToken --region "<region>" --access-key-id "<ak>" --access-key-secret "<sk>" --sts-token "<sts_token>"<region>、<ak>、<sk>、および<sts_token>を、実際の リージョン ID、AccessKey ID、AccessKey シークレット、およびSTS トークンに置き換えます。CredentialsURI
プロンプトに従って、認証情報 URI および リージョン ID を設定します。
./ali-instance-cli configure --mode=CredentialsURI次の出力は、設定が成功したことを示しています。

2. セッションマネージャーによるインスタンスへの接続
2.1 インスタンス ID の取得
セッションマネージャーで接続する前に、インスタンス ID を取得します。
コンソール
|
|
Alibaba Cloud CLI
Alibaba Cloud CLI を設定済みの場合は、次のコマンドを実行してインスタンス ID を取得します。パラメータの詳細については、「DescribeInstances」をご参照ください。
このトピックでは、中国 (杭州) リージョンの SessionManager-example という名前のインスタンスを例として使用します。
aliyun ecs DescribeInstances --region cn-hangzhou --RegionId 'cn-hangzhou' --InstanceName 'SessionManager-example'
レスポンス内の InstanceId 値がインスタンス ID です。

API
「DescribeInstances」をご参照ください。
2.2 ali-instance-cli のセッションマネージャー機能の使用
ローカルマシン: Windows
コマンドプロンプトで、ali-instance-cli.exe のディレクトリに移動し、インスタンスに接続します。<instance_id> を 手順 2.1 で取得したインスタンス ID に置き換えます。
ali-instance-cli.exe session --instance <instance_id>
例: ID が i-bp1****** のインスタンスに接続します。
ali-instance-cli.exe session --instance i-bp1******
接続に成功すると、インスタンスのコマンドラインインターフェイスにアクセスできます。

macOS/Linux
ターミナルで、ali-instance-cli のディレクトリに移動し、インスタンスに接続します。<instance_id> を 手順 2.1 で取得したインスタンス ID に置き換えます。
./ali-instance-cli session --instance <instance_id>
例: ID が i-bp1****** のインスタンスに接続します。
./ali-instance-cli session --instance i-bp1******
次の出力は、接続が成功したことを示しています。これで、インスタンスのコマンドラインインターフェイスにアクセスできます。

その他の機能
セッションマネージャー CLI (ali-instance-cli) は、次の機能もサポートしています。
-
パブリック IP アドレスを持たないインスタンスへのアクセス (ポートフォワーディング)
インスタンスのポートをローカルポートにマッピングして、パブリック IP アドレスを持たないインスタンス上のサービスに、プロキシやジャンプサーバーを経由せずにアクセスします。
-
一時的なパブリックキーをターゲットインスタンスに登録し、対応するプライベートキーを使用して SSH 接続を行います。
よくある質問
コマンドを実行した後、コマンドラインが応答しない (インスタンスが実行中でない)
ali-instance-cli コマンドを実行した後、コマンドラインが応答しない場合、インスタンスが 実行中 ではない可能性があります。インスタンスのステータスを確認するには、このトピックの「インスタンスが実行中であることの確認」をご参照ください。
コマンドを実行した後、コマンドラインが応答しない (セキュリティグループ設定の問題)
ali-instance-cli コマンドを実行した後、コマンドラインが応答しない場合、セキュリティグループで必要な アウトバウンド ポートが開かれていない可能性があります。デフォルトでは、基本セキュリティグループ はすべてのアウトバウンドトラフィックを許可します。この問題は、アウトバウンドルールを変更した場合、または 高度セキュリティグループ を使用している場合に発生する可能性があります。
Session Manager を使用して ECS インスタンスに接続する場合は、次のルールをアウトバウンド セキュリティグループに追加することで、ECS インスタンスで実行されている Cloud Assistant エージェント が Cloud Assistant サーバーに接続されていることを確認してください。
SSH やリモート デスクトップ プロトコル (RDP) などの接続方法と比較して、Cloud Assistant エージェント は Session Manager サーバーへの WebSocket 接続をアクティブに確立します。セキュリティルールでは、Cloud Assistant サーバーのアウトバウンド WebSocket ポートのみを開く必要があります。Session Manager のしくみについては、このトピックの「Session Manager のしくみ」セクションをご参照ください。
デフォルトセキュリティグループを含む基本セキュリティグループを使用する場合、すべてのアウトバウンドトラフィックが許可されます。追加の構成は必要ありません。
高度なセキュリティグループを使用する場合、すべてのアウトバウンドトラフィックが拒否されます。関連するルールを構成する必要があります。次の表に、ルールを示します。セキュリティグループについては、「基本セキュリティグループと高度なセキュリティグループ」をご参照ください。
セキュリティグループにルールを追加する方法については、「セキュリティグループルールを追加する」をご参照ください。
アクション | 優先度 | プロトコルタイプ | ポート範囲 | 承認オブジェクト | 説明 |
許可 | 1 | カスタム TCP | 443 |
| このポートは、Cloud Assistant サーバーへのアクセスに使用されます。 |
許可 | 1 | カスタム TCP | 443 |
| このポートは、Cloud Assistant エージェント をインストールまたは更新する場合に、Cloud Assistant エージェント インストールパッケージが保存されているサーバーへのアクセスに使用されます。 |
許可 | 1 | カスタム UDP | 53 |
| このポートは、ドメイン名の解決に使用されます。 |
Session Manager のみを使用してインスタンスに接続する場合は、ECS インスタンスのセキュリティを向上させるために、セキュリティグループから SSH ポート(デフォルト 22)と RDP ポート(デフォルト 3389)を許可するインバウンドルールを削除します。
DeliveryTimeout エラーがコマンド実行後に発生する (Cloud Assistant エージェントがオフライン)
ali-instance-cli コマンドを実行したときに DeliveryTimeout エラーが発生した場合、Cloud Assistant エージェントが利用できない可能性があります。「Cloud Assistant エージェントがインストール済みであることの確認」をご参照ください。


"session manager is disabled, please enable first" エラーがコマンド実行後に発生する
ali-instance-cli コマンドを実行した後、session manager is disabled, please enable first エラーが発生した場合は、コンソールでセッションマネージャーを有効にしてください。
長時間操作がないため接続が自動的に切断される
セッションマネージャーの接続は、アイドルタイムアウト後に切断されます。デフォルトは 3 分です。--idle-timeout パラメータを使用して、カスタムアイドルタイムアウトを秒単位で設定します。
例: 10 分のアイドルタイムアウトで接続します。
./ali-instance-cli session --instance instance-id --idle-timeout 600
この機能を利用するには、ali-instance-cli が次のバージョンである必要があります。
-
Linux:
1.2.0.48 -
Windows:
1.1.0.48 -
macOS:
1.3.0.48
ali-instance-cli ログの分析方法
問題を特定するために ali-instance-cli ログを分析します。
-
セッションマネージャー CLI ログ: ali-instance-cli を使用すると、ツールのディレクトリにログフォルダ (例:
~/log/aliyun_ecs_session_log.2022XXXX) が生成されます。 -
Cloud Assistant エージェントログ:
-
Linux
/usr/local/share/aliyun-assist/<Cloud Assistant Agent version>/log/ -
Windows
C:\ProgramData\aliyun\assist\<Cloud Assistant Agent version>\log
-






