セッションレコード配信を設定して、セッションマネージャーのレコードを Simple Log Service (SLS) または OSS に保存します。
背景情報
セッションマネージャーのレコードをクエリ、分析、監査、または保存する場合、あるいはセキュリティおよびコンプライアンス要件を満たす場合は、レコードを SLS ログストアまたは OSS バケットに配信してください。
課金
セッションレコード配信は無料ですが、以下の項目に対して料金が発生する場合があります。
-
SLS の課金項目 (ストレージ容量やインデックスのトラフィックなど)。
詳細については、課金の概要をご参照ください。
-
OSS の課金項目 (ストレージ容量やオブジェクト管理のトラフィックなど)。
詳細については、課金の概要をご参照ください。
ステップ1:セッションレコード配信機能の設定
ECS コンソールで SLS プロジェクトとログストア、または OSS バケットを指定します。
-
ECS コンソール - ECS クラウドアシスタントに移動します。
上部メニューで、対象リソースのリージョンとリソースグループを選択します。
-
ECS クラウドアシスタント ページの右上隅で、設定 をクリックします。
-
Cloud Assistant Agent の設定 ダイアログボックスで、セッション管理の設定 タブをクリックします。
-
セッションレコードを SLS に配信する場合:
-
Log Serviceに転送 を選択します。
-
既存の SLS プロジェクトとログストアを選択します。
-
選択したリージョンに SLS プロジェクトまたは Logstore が存在しない場合は、SLSコンソールを開く または Logstore をクリックして作成します。その後、ダイアログボックスに戻り、
アイコンをクリックしてリストを更新します。「プロジェクトの管理」および「Logstore の管理」をご参照ください。 -
SLS でログをクエリまたは分析するには、インデックスを有効にする必要があります。詳細については、「インデックスの作成」をご参照ください。
-
(任意) ログストアのサーバー側の暗号化方式を指定します。配信されたレコードは、指定された方式で暗号化されます。詳細については、「データの暗号化」をご参照ください。
-
-
-
セッションレコードを OSS に配信する場合:
-
OSSに転送 をクリックします。
-
既存の OSS バケットを選択し、セッションレコードのルートディレクトリを入力します。
選択したリージョンに OSS バケットが存在しない場合は、OSSコンソールを開く をクリックしてバケットを作成します。その後、ダイアログボックスに戻り、
アイコンをクリックしてリストを更新します。詳細については、「バケットの作成」をご参照ください。 -
(オプション) 詳細オプション の横にある
アイコンをクリックして、サーバーサイド暗号化方式を指定します。説明OSS のサーバー側の暗号化は、保管中のデータを保護します。高いセキュリティまたはコンプライアンスが求められるシナリオで使用してください。セッションレコードオブジェクトは、指定された方式で暗号化されます。詳細については、「サーバー側の暗号化」をご参照ください。
-
-
-
OK をクリックします。
初回設定時、システムはクラウドアシスタントに SLS および OSS リソースへのアクセスを許可するサービスリンクロールを作成します。ロールがすでに存在する場合、システムは作成をスキップします。詳細については、「ECS クラウドアシスタントのサービスリンクロールの管理」をご参照ください。

セッションレコードはリージョンをまたいで配信できません。続行する前に、対象のリージョンを選択してください。
ステップ2:セッションマネージャーを使用したインスタンスへの接続
セッションマネージャーを使用してインスタンスに接続すると、セッションレコードは自動的に指定された SLS ログストアまたは OSS バケットに配信されます。
詳細については、「ECS コンソールでの接続」をご参照ください。
ステップ3:セッションレコードの表示
SLS コンソールまたは OSS コンソールでセッションレコードを表示します。
SLS コンソール
ECS コンソールからログストアにアクセスして、セッションレコードのログを表示できます。SLS コンソールに直接ログインすることもできます。
-
ECS コンソール - ECS クラウドアシスタントに移動します。
上部メニューで、対象リソースのリージョンとリソースグループを選択します。
-
ECS クラウドアシスタント ページの右上隅で、設定 をクリックします。
-
Cloud Assistant Agent の設定 ダイアログボックスで、セッション管理の設定 タブをクリックし、Log Serviceに転送 を選択します。
-
Logstore を選択 セクションの右側で、Logstore をクリックします。
-
ログのクエリと分析については、「ログのクエリと分析」をご参照ください。
-
次の表に、セッションレコードのログのパラメーターを説明します。
パラメーター
説明
LoginUser
操作を実行したユーザーのユーザー名。
CallerUid
操作を実行したアカウントの ID。
Content
コマンドとその出力。
コマンドと出力は等号 (=) で区切られます。
InstanceId
インスタンスの ID。
SessionId
セッションの ID。
ChannelId
チャネルの ID。
TokenPrincipalId
セッションマネージャーを介して Security Token Service (STS) ロールでインスタンスに接続した後、実際に操作を実行するプリンシパルの ID。
-
OSS コンソール
ECS コンソールから OSS バケットにアクセスして、セッションレコードオブジェクトを表示できます。OSS コンソールに直接ログインすることもできます。
-
ECS コンソール - ECS クラウドアシスタントに移動します。
上部メニューで、対象リソースのリージョンとリソースグループを選択します。
-
ECS クラウドアシスタント ページの右上隅で、設定 をクリックします。
-
Cloud Assistant Agent の設定 ダイアログボックスで、セッション管理の設定 タブをクリックし、OSSに転送 を選択します。
-
記憶空間を選択してください。 セクションの右側で、OSSコンソールを開く をクリックします。
-
特定のセッションレコードオブジェクトのディレクトリに移動します。
OSS コンソールは、指定したルートディレクトリで開きます。セッションレコードオブジェクトは、次のフォーマットのサブディレクトリに格納されています。
<ルートディレクトリ>/<インスタンスのリージョン ID>/<セッションレコード時刻 (年-月)>/<セッションレコード時刻 (日)>/<インスタンス ID>/<SessionId>/<ChannelId> -
セッションレコードオブジェクトを分析します。
セッションレコードオブジェクトは YAML フォーマットです。分析および監査のためにダウンロードしてください。
次の Java コードは、YAML フォーマットのセッションレコードオブジェクトを解析します。
// YAML オブジェクトのドキュメント解析クラス。 public static class Document { // セッションの基本情報。 private MetaData metaData; // セッションレコード。 private List<SessionData> sessionData; } // セッションの基本情報。 public static class MetaData { // YAML オブジェクトの解析バージョン。 private String version; // 操作を実行したユーザー名。 private String loginUser; // 操作を実行したアカウントの ID。 private Long callerUid; // インスタンスの ID。 private String instanceId; // セッションの ID。 private String sessionId; // チャネルの ID。 private String channelId; // セッションマネージャーを使用して STS ロールでインスタンスに接続した後、実際に操作を実行するプリンシパルの ID。 private String stsTokenPrincipalId; } // セッションレコード。 public static class SessionData { // セッションレコードの時刻。 private String time; // コマンドと対応する出力。ほとんどの場合、コマンドと出力は閉じ山括弧 (>) で区切られます。 private String content; } /** * セッションマネージャーのセッションレコードを取得します。 * * @param deliveryFileName YAML オブジェクトの名前。 * @return セッションレコード。 */ public Document getSessionData(String deliveryFileName) { Yaml yaml = new Yaml(new Constructor(Document.class)); File deliveryFile = new File(deliveryFileName); try (InputStream deliveryInputStream = new FileInputStream(deliveryFile)) { Document document = (Document) yaml.load(deliveryInputStream); // セッションの基本情報。 // MetaData metaData = document.getMetaData(); // セッションレコード。 // List<SessionData> sessionDataList = document.getSessionData(); return document; } catch (IOException exception) { // log.error(""); } return null; }
関連情報
-
DescribeTerminalSessions API:セッションマネージャーのセッションレコードをクエリします。
-
ModifyCloudAssistantSettings API:クラウドアシスタントの機能設定を変更します。
-
DescribeCloudAssistantSettings API:クラウドアシスタントの機能設定をクエリします。