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