Session Managerは、Cloud Assistantが提供する機能です。 SSHおよび仮想ネットワークコンピューティング (VNC) と比較して、Session ManagerはElastic Compute Service (ECS) インスタンスへの接続をより便利で安全にします。 このトピックでは、Session Managerがサポートされているリージョン、Session Managerの仕組み、およびSession Managerのセキュリティについて説明します。
課金
セッションマネージャー機能は無料で有効にできます。
デフォルトでは、session Managerのセッションレコードは保存されません。 session Managerのセッションレコードを照会、分析、監査、および永続的に保存する場合は、セッションレコードを特定のObject Storage Service (OSS) バケットまたは永続的に保存するSimple Log Serviceに配信することを推奨します。 詳細については、「セッションレコード配信機能の使用」をご参照ください。 Simple Log ServiceとOSSの課金の詳細については、「Simple Log Serviceの課金の概要」および「OSSの課金の概要」をご参照ください。
サポートされるリージョン
セッションマネージャーは、中国 (青島) 、中国 (北京) 、中国 (張家口) 、中国 (フホト) 、中国 (ウランカブ) 、中国 (杭州) 、中国 (上海) 、中国 (深セン) 、中国 (河源) 、中国 (広州) 、中国 (成都) 、中国 (香港) 、日本 (東京) 、韓国 (ソウル) 、シンガポール、オーストラリア (シドニー) (サービス終了)、マレーシア (クアラルンプール) 、インドネシア (ジャカルタ) 、フィリピン (マニラ) 、タイ (バンコク) 、ドイツ (フランクフルト) 、英国 (ロンドン) 、米国 (シリコンバレー) 、米国 (バージニア) 、アラブ首長国連邦 (ドバイ) 、SAU (リヤド) 。
制限事項
セッションマネージャーを使用してインスタンスに接続する場合、ファイルのアップロードまたはダウンロード速度は20 KB/sに制限されます。
セッションマネージャーの仕組み
セッションマネージャでは、次のコンポーネントが使用されます。
Session Manager Client: セッションを開始し、ユーザーが送信したコマンドを受信し、コマンド出力を表示します。
Cloud Assistantサーバー: アクセス許可を制御し、セッションステータスを管理します。
インスタンスにインストールされているCloud Assistant Agent: ユーザーが入力したコマンドを実行します。
次に、Session Managerを使用して接続を確立する手順について説明します。
Session Manager Clientがセッションを開始します。
Cloud Assistantサーバーは、セッションリクエストを認証します。 リクエストが認証された後、サーバーはWebSocket URLと10分間有効なトークンを生成し、URLとトークンをSession Manager Clientに返します。
Session Manager Clientは、URLとトークンを使用して、Cloud AssistantサーバーへのWebSocket接続を確立します。
Cloud Assistantサーバーは、インスタンスにインストールされているCloud Assistant AgentへのWebSocket接続の確立を要求します。
Cloud AssistantサーバーとCloud Assistant Agentの間にWebSocket接続が確立されています。
WebSocket接続が確立されたら、Session Manager Clientでコマンドを入力できます。 このコマンドは、Cloud Assistant Agentがインストールされているインスタンスにストリーミングされ、実行されます。 コマンド出力は、Session Manager Clientに表示されます。
セキュリティ
Web Socket Secure (WSS) プロトコルは、Session Manager ClientとCloud Assistantサーバー間、およびCloud AssistantサーバーとCloud Assistant Agent間に永続的なWebSocket接続を確立するために使用されます。 WSSプロトコルは、SSL (Secure Socket Layer) プロトコルを使用して永続的なWebSocket接続を暗号化し、データのセキュリティを確保します。
Session Managerを使用してインスタンスに接続する場合、インスタンスのパスワードを管理する必要はありません。 ユーザー名 /パスワードベースの認証を使用するSSHやVNCとは異なり、Session ManagerはResource Access Management (RAM) ベースの認証を使用します。 Alibaba Cloudアカウントを使用して、アカウント内のすべてのインスタンスに対してSession Managerを有効または無効にできます。 Session Managerを有効にすると、Alibaba CloudアカウントとRAMユーザーの両方がこの機能を使用してインスタンスに接続できます。
ポリシーをRAMユーザーにアタッチし、ECSインスタンスをRAMユーザーとして管理してセキュリティを向上させることができます。 Session ManagerをRAMユーザーとして使用する場合は、StartTerminalSession操作を呼び出す権限を付与するポリシーをRAMユーザーにアタッチする必要があります。 RAMポリシーを使用すると、タグ、リージョン、ECSインスタンス、ソースIPアドレスなど、さまざまなディメンションからの権限を制御できます。 RAMポリシーを使用すると、パスワードを使用せずにインスタンスに接続し、安全な方法でインスタンスを管理することもできます。 詳細については、「Session Managerを使用したインスタンスへの接続」をご参照ください。
インスタンスにインストールされたクラウドアシスタントエージェントとクラウドアシスタントサーバーの間にWebSocket接続が確立された後、インスタンスのインバウンドトラフィック用のポートを開く必要なく、SSHまたはVNCの代わりにセッションマネージャーを使用してインスタンスに接続できます。 これにより、インスタンスのセキュリティを向上させることができます。
アプリケーションでのリモートログオンにSession Managerを使用する
cloud-assistant-starterオープンソースプロジェクトには、Session Managerを使用してECSインスタンスまたはマネージドインスタンスに接続するための完全なコードが含まれています。 プロジェクトのAxtSession.tsxには、インスタンスに接続し、StartTerminalSession操作によって返されるWebSocket URLを使用するための完全なコードが含まれています。 コードをアプリケーションにコピーして、パスワード不要およびパブリックIPアドレス不要のリモートログオンを実装できます。