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

Elastic Compute Service:操作コンテンツと結果配信機能の使用

最終更新日:Aug 26, 2024

Cloud Assistantが提供する操作コンテンツと結果の配信機能を使用すると、タスクの実行記録をOSS (Object Storage Service) またはSimple Log Serviceに配信して永続的に保存できます。 このトピックでは、タスク実行レコードを特定のOSSバケットまたはSimple Log Service Logstoreに配信する配信設定を構成する方法と、配信された実行レコードを照会する方法について説明します。

背景情報

Cloud Assistantでは、実行レコードを保持できますが、保持する実行レコードの最大数と保持期間に制限があります。 詳細については、「制限」トピックのCloud Assistantの制限セクションをご参照ください。 大量の実行レコードを保持したい场合, または実行レコードを长期间保持したい场合は, 操作内容および结果配信机能を使用することを推奨します。 操作コンテンツと結果配信機能を使用すると、実行レコードの配信とクエリを実行し、セキュリティ分析、リソース変更の追跡、行動コンプライアンスの監査などの操作を実行できます。

課金

セッションレコード配信機能は無料です。 ただし、この機能を使用すると、次の項目に対して課金される場合があります。

  • 配信されたレコードやログインデックストラフィックが占有するストレージスペースなど、Simple Log Serviceの課金項目。

    詳細については、「課金の概要」をご参照ください。

  • 配信されたレコードによって占有されるスペースストレージや、OSSのオブジェクト管理機能を使用するときに生成されるトラフィックなど、OSSの請求項目。

    詳細については、「課金の概要」をご参照ください。

手順1: 操作コンテンツと結果の配信機能の設定

  1. ECSコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、メンテナンス&モニタリング > クラウドアシスタントを選択します。

  3. 上部ナビゲーションバーの左上でリージョンを選択します。

    説明

    タスク実行レコードをリージョン間で配信することはできません。 複数のリージョンでタスク実行レコードを配信するには、各リージョンの配信設定を行います。

  4. ECS Cloud Assistantページの右上隅にある [設定] をクリックします。

  5. [クラウドアシスタントの設定] ダイアログボックスで、[コマンド実行設定] タブをクリックして配信設定を設定します。

    • タスク実行レコードをSimple Log Serviceに配信します。

        1. [Log Serviceに配信] を選択します。

        2. 既存のSimple Log ServiceプロジェクトとLogstoreを選択します。

          • 選択したリージョンにSimple Log ServiceプロジェクトまたはLogstoreがない場合は、Log ServiceコンソールまたはLogstoreをクリックして、Simple Log ServiceコンソールでプロジェクトまたはLogstoreを作成します。 プロジェクトまたはログストアを作成したら、ECSコンソールの [クラウドアシスタントの設定] ダイアログボックスに戻り、刷新图标アイコンをクリックして、Simple Log Serviceプロジェクトまたはログストアの最新リストを取得します。 Simple Log Serviceプロジェクトの作成方法およびSimple Log Service Logstoreの作成方法については、「プロジェクトの管理」および「Logstoreの管理」をご参照ください。

          • Simple Log Serviceでログをクエリまたは分析するには、インデックス作成を有効にする必要があります。 詳細については、「インデックスの作成」をご参照ください。

          • (オプション) Logstoreのサーバー側の暗号化方法を指定します。 Logstoreに配信されるセッションレコードは、暗号化方式を使用して暗号化されます。 詳細については、「データの暗号化」をご参照ください。

    • タスク実行レコードをOSSに配信します。

        1. [OSSに配信] をクリックします。

        2. 既存のOSSバケットを選択し、セッションレコードを保存するルートディレクトリを入力します。

          選択したリージョンにOSSバケットがない場合は、[OSSコンソール] をクリックして、OSSコンソールにバケットを作成します。 バケットを作成したら、ECSコンソールのダイアログボックスに戻り、刷新图标アイコンをクリックしてOSSバケットの最新リストを取得します。 OSSバケットの作成方法については、「バケットの作成」をご参照ください。

        3. (オプション) [詳細オプション] の横にある图标.pngアイコンをクリックして、サーバー側の暗号化方法を指定します。

          説明

          OSSは、静的データを保護するためのサーバー側暗号化メカニズムを提供します。 このメカニズムは、高いセキュリティまたはコンプライアンスが必要なシナリオで使用できます。 サーバー側の暗号化メソッドを指定した場合、セッションレコードを含むオブジェクトは、メソッドを使用して暗号化されます。 詳細については、「サーバー側の暗号化」をご参照ください。

  6. [OK] をクリックします。

    初めて配信設定を設定すると、システムは、Cloud AssistantがSimple Log serviceおよびOSSリソースへのアクセスを許可するサービスにリンクされたロールを作成します。 これにより、セッションレコードを特定のSimple Log Service LogstoreまたはOSSバケットに配信できます。 サービスにリンクされたロールが既に存在する場合、システムはロールを再作成しません。 ビジネス要件に基づいて、Cloud Assistantのロールを管理できます。 詳細については、「ECS Cloud Assistantのサービスにリンクされたロールの管理」をご参照ください。

    111.png

ステップ2: コマンドの実行またはファイルの送信

コマンドを実行するかファイルを送信すると、対応するタスク実行レコードが指定されたSimple Log Service LogstoreまたはOSSバケットに自動的に配信されます。

詳細については、「即時実行機能の使用」、「コマンドの実行」、および「ECSインスタンスへのオンプレミスファイルのアップロード」をご参照ください。

ステップ3: タスク実行レコードの表示

Simple Log Serviceコンソールでのタスク実行レコードの表示

このセクションでは、Elastic Compute Service (ECS) コンソールからLogstoreにアクセスして、Logstoreに配信されるタスク実行レコードのログを表示する方法について説明します。 または、Simple log ServiceコンソールにログインしてLogstoreにアクセスすることもできます。

  1. ECSコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、メンテナンス&モニタリング > クラウドアシスタントを選択します。

  3. 上部ナビゲーションバーの左上でリージョンを選択します。

  4. ECS Cloud Assistantページの右上隅にある [設定] をクリックします。

  5. [クラウドアシスタントの設定] ダイアログボックスで、[コマンド実行設定] タブをクリックし、[Log Serviceに配信] を選択します。

  6. [プロジェクト] フィールドの右側にある [ログストア] をクリックします。

    ログのクエリと分析方法については、「ログのクエリと分析」をご参照ください。

    タスク実行レコードのサンプルログを次の図に示します。 ログのパラメーターの詳細については、このトピックの「タスク実行レコードのパラメーター」をご参照ください。

    • ワンタイムコマンド実行レコードonceのサンプルログ

    • コマンド実行予定レコードのサンプルログ

      Repeatsパラメーターの値は、コマンドの実行回数を示します。

      sls-timed

    • ファイル送信レコードsls-sendfileのサンプルログ

OSSコンソールでのタスク実行レコードの表示

このセクションでは、ECSコンソールからOSSバケットにアクセスして、バケットに配信されるタスク実行レコードのオブジェクトを表示する方法について説明します。 または、OSSコンソールにログインしてバケットにアクセスすることもできます。

  1. ECSコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、メンテナンス&モニタリング > クラウドアシスタントを選択します。

  3. 上部ナビゲーションバーの左上でリージョンを選択します。

  4. ECS Cloud Assistantページの右上隅にある [設定] をクリックします。

  5. [クラウドアシスタントの設定] ダイアログボックスで、[コマンド実行設定] タブをクリックし、[OSSに配信] を選択します。

  6. [バケット] フィールドの右側にある [OSSコンソール] をクリックします。

  7. タスクの実行レコードを含むオブジェクトが格納されているディレクトリに移動します。

    OSSコンソールにログインすると、タスク実行レコードを配信する配信設定を構成したときに指定したルートディレクトリに自動的に移動します。 タスクの種類に基づいて自動的に生成されるサブディレクトリにアクセスできます。

    • コマンドタスクの場合は、invocationResults/ <task ID> サブディレクトリに移動します。 このサブディレクトリには、ECSインスタンスIDとコマンドのスクリプトにちなんで名付けられたディレクトリが表示されます。 スクリプトの名前は次のいずれかになります。

      • commandContent.bat: Windows ECSインスタンスで実行できるバッチコマンド。

      • commandContent.ps1: Windows ECSインスタンスで実行できるPowerShellコマンド。

      • commandContent.sh: Linux ECSインスタンスで実行できるシェルコマンド。

    • ファイル送信タスクの場合は、sendFileResults/ <task ID> サブディレクトリに移動します。 このサブディレクトリには、ECSインスタンスIDとfileContent.txtファイルにちなんで名付けられたディレクトリが表示されます。 ファイルには送信されたコンテンツが含まれます。

    次の図は、Linux ECSインスタンスでシェルコマンドを実行するタスク用に生成されたサンプルのサブディレクトリを示しています。oss-dir

  8. ECSインスタンスのIDにちなんで名付けられたディレクトリに移動し、インスタンスで実行されているタスクの実行記録を含むオブジェクトを照会します。

    次の図は、タスク実行レコードを含むJSON形式のオブジェクトのサンプルを示しています。

    • ワンタイムコマンド実行レコードoss-immediateを含むサンプルオブジェクト

    • スケジュールされたコマンド実行レコードを含むサンプルオブジェクト

      各オブジェクト名の数値は、指定されたインスタンスでコマンドが実行された回数を示します。

      oss-timed

    • ファイル送信レコードoss-sendfileを含むサンプルオブジェクト

  9. タスク実行レコードを含むオブジェクトに対応する [操作] 列の [詳細の表示] をクリックします。 次に、オブジェクトをダウンロードするか、オブジェクトのURLをコピーして、オブジェクトのコンテンツを表示します。

    次のコードは、シェルコマンドの1回限りの実行レコードを含むサンプルオブジェクトを示しています。 実行レコードに含まれるパラメーターの詳細については、このトピックの「タスク実行レコードのパラメーター」をご参照ください。

    {
        "RegionId":"cn-hangzhou",
        "InstanceId":"i-bp1hd5ztmab9cgc0 ****" 、
        "InvokeId":"t-hz01x7rtjfy ****" 、
        "CommandId":"c-hz01x7cn5aj ****" 、
        "CommandName":"cmd-hostname" 、
        "CommandType":"RunShellScript" 、
        "CommandContent":"hostname" 、
        "ResourceOwnerUid":160998252992 **** 、
        "CallerUid":160998252992 **** 、
        "CallerType":"customer" 、
        "タイムアウト":60、
        "周波数":"" 、
        "パラメータ":"{}" 、
        "Username":"" 、
        "RepeatMode":"Once" 、
        "繰り返し":1、
        "InvocationStatus":"Success" 、
        「ドロップ」: 0、
        "Output":"iZbp1hd5ztmab9cgc0 ****\n" 、
        "ExitCode":0、
        "CreationTime":"2021-09-26T05:47:20Z" 、
        "StartTime":"2021-09-26T05:47:20Z" 、
        "UpdateTime":"2021-09-26T05:47:20Z" 、
        "FinishedTime":"2021-09-26T05:47:20Z" 、
        "StopTime":"
    } 

タスク実行レコードのパラメータ

タスク実行レコードに含まれるパラメーターを次の表に示します。 有効な値などのパラメーターの使用方法の詳細については、「DescribeCommands」および「DescribeInvocationResults」をご参照ください。

パラメーター

説明

RegionId

cn-hangzhou

コマンドが実行されたECSインスタンスのリージョンID。

InstanceId

i-bp1hd5ztmab9cgc0 ****

インスタンスのID

InvokeId

t-hz01x7rtjfy ****

コマンドタスクのID。

CommandId

c-hz01x7cn5aj ****

スクリプトID。

CommandName

cmd-ホスト名

コマンドの名前。

CommandType

RunShellScript

コマンドのタイプ。

CommandContent

hostname

コマンドのプレーンテキストの内容。

ResourceOwnerUid

160998252992 ****

コマンド呼び出し元のAlibaba CloudアカウントID。

CallerUid

160998252992 ****

コマンド呼び出し元のアカウントID。

CallerType

customer

コマンド呼び出し元の呼び出しモード。

タイムアウト

60

コマンドタスクのタイムアウト期間。 単位は秒です。

頻度

0*14 * *?

コマンドが実行されるスケジュール。 このパラメーターの値はcron式です。 詳細については、「Cron式」をご参照ください。

パラメーター

{}

カスタムパラメーターがコマンドに含まれるときに渡されるカスタムパラメーターのキーと値のペア。

ユーザー名

root

ECSインスタンスでコマンドを実行するために使用されるユーザー名。

RepeatMode

期間

コマンドの実行方法を示します。

繰り返し

2

ECSインスタンスでコマンドが実行された回数。

InvocationStatus

Success

単一のECSインスタンスのコマンドステータス。

ErrorCode

InstanceNotExists

コマンドを送信または実行できない場合に返されるエラーコード。

エラー情報

指定されたインスタンスが存在しない

コマンドを送信または実行できない場合に返されるエラーメッセージ。

ドロップ

0

Outputレスポンスパラメーターの値が24 KBを超えたときに切り捨てられ、破棄されたテキストのサイズ。

Output

iZbp1hd5ztmab9cgc0 ****\n

コマンド出力。

ExitCode

0

コマンドの終了コード。

CreationTime

2021-09-26T05:47:20Z

コマンドタスクが作成された時刻。

StartTime

2021-09-26T05:47:20Z

ECSインスタンスでコマンドの実行が開始された時刻。

updateTime

2021-09-26T06:53:00Z

コマンドタスクのステータスが更新された時刻。

FinishedTime

2021-09-26T06:53:00Z

コマンドタスクが完了した時刻。

StopTime

2021-09-26T06:53:00Z

ECSインスタンスでコマンドの実行が停止した時刻。 StopInvocation操作を呼び出して実行を手動で停止した場合、値は操作が呼び出された時刻です。

ファイル送信レコードに含まれるパラメーターを次の表に示します。 有効な値などのパラメーターの使用方法の詳細については、「DescribeSendFileResults」をご参照ください。

パラメーター

説明

RegionId

cn-hangzhou

ファイルが送信されたECSインスタンスのリージョンID。

InstanceId

i-bp1hd5ztmab9cgc0 ****

インスタンスのID

InvokeId

f-hz01xeva44 ****

ファイル送信タスクのID。

FileName

sendfile-test.txt

ファイルの名前

ContentType

Base64

ファイルのコンテンツタイプ。

説明

テストのために使用される

ファイルの説明。

FileContent

c2VuZCBmaWxlIHRlc3Q=

ファイルの内容。

FileGroup

root

ファイルのグループ。

FileMode

0644

リモートファイルに対する権限。

FileOwner

root

リモートファイルの所有者。

ResourceOwnerUid

16099825299 ****

ファイル送信者のAlibaba CloudアカウントID。

CallerUid

16099825299 ****

ファイル送信者のアカウントID。

CallerType

customer

ファイル送信者の呼び出しモード。

上書き

true

ファイルが送信されたファイルと同じ名前の場合、ファイルが宛先ディレクトリで上書きされたかどうかを示します。

TargetDir

/ルート

ファイルが送信された宛先ディレクトリ。

タイムアウト

60

ファイル送信タスクのタイムアウト時間。 単位は秒です。

InvocationStatus

Success

ファイル送信タスクのステータス。

ErrorCode

FileAlreadyExists

ファイルのECSインスタンスへの送信に失敗したときに返されるエラーコード

エラー情報

ファイルは既に存在します: sendfile-test.txt

ファイルのECSインスタンスへの送信に失敗した場合、またはECSインスタンスでのファイル送信タスクの実行に失敗した場合に返されるエラーメッセージ。

CreationTime

2021-09-28T05:31:04Z

ファイル送信タスクの作成時刻。

StartTime

2021-09-28T05:31:04Z

ECSインスタンスでファイル送信タスクの実行が開始された時刻。

updateTime

2021-09-28T05:31:04Z

ファイル送信タスクのステータスが更新された時刻。

FinishTime

2021-09-28T05:31:04Z

ファイル送信タスクが完了した時刻。