翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS FIS の実験ロギング
実験ロギングを使用すると、実験の実行時に実験に関する詳細情報を取得できます。
実験ロギングについては、各ログの宛先タイプに関連付けられたコストに基づいて経費が請求されます。詳細については、「Amazon CloudWatch 料金
アクセス許可
設定した各ログ送信先にログを送信する権限を AWS FIS に与える必要があります。詳細については、Amazon CloudWatch Logs ユーザーガイドの以下を参照してください。
ログスキーマ
以下は実験ロギングで使用されるスキーマです。スキーマの現在のバージョンは 2 です。details
のフィールドは log_type
の値によって異なります。resolved_targets
のフィールドは target_type
の値によって異なります。詳細については、「ログレコードの例」を参照してください。
{
"id": "EXP123abc456def789",
"log_type": "experiment-start | target-resolution-start | target-resolution-detail | target-resolution-end | action-start | action-error | action-end | experiment-end",
"event_timestamp": "yyyy-mm-ddThh:mm:ssZ",
"version": "2",
"details": {
"account_id":"123456789012",
"action_end_time": "yyyy-mm-ddThh:mm:ssZ",
"action_id": "String",
"action_name": "String",
"action_start_time": "yyyy-mm-ddThh:mm:ssZ",
"action_state": {
"status": "pending | initiating | running | completed | cancelled | stopping | stopped | failed",
"reason": "String"
},
"action_targets": "String to string map",
"error_information": "String",
"experiment_end_time": "yyyy-mm-ddThh:mm:ssZ",
"experiment_state": {
"status": "pending | initiating | running | completed | stopping | stopped | failed",
"reason": "String"
},
"experiment_start_time": "yyyy-mm-ddThh:mm:ssZ",
"experiment_template_id": "String",
"page": Number,
"parameters": "String to string map",
"resolved_targets": [
{
"field
": "value
"
}
],
"resolved_targets_count": Number,
"status": "failed | completed",
"target_name": "String",
"target_resolution_end_time": "yyyy-mm-ddThh:mm:ssZ",
"target_resolution_start_time": "yyyy-mm-ddThh:mm:ssZ",
"target_type": "String",
"total_pages": Number,
"total_resolved_targets_count": Number
}
}
リリースノート
-
バージョン 2 で次が導入されました。
-
target_type
フィールドを導入し、resolved_targets
フィールドを ARN のリストからオブジェクトのリストに変更しました。resolved_targets
オブジェクトの有効なフィールドは、ターゲットのリソースタイプであるtarget_type
の値によって異なります。 -
account_id
フィールドを追加するaction-error
およびtarget-resolution-detail
イベントタイプ。
-
-
バージョン 1 は初期リリースです。
ログの宛先
AWS FIS は次の宛先へのログ配信をサポートしています。
Amazon S3 バケット
Amazon CloudWatch Logs ロググループ
S3 ログ配信
ログは次の場所に配信されます。
bucket-and-optional-prefix
/AWSLogs/account-id
/fis/region
/experiment-id
/YYYY
/MM
/DD
/account-id
_awsfislogs_region
_experiment-id
_YYYYMMDDHHMM
Z_hash
.log
ログがバケットに配信されるまでに数分かかることがあります。
CloudWatch ログの配信
ログは /aws/fis/experiment-id
という名前のログストリームに配信されます。
ログは 1 分以内にロググループに配信されます。
ログレコードの例
以下は、ランダムに選択された EC2 インスタンスで aws:ec2:reboot-instances アクションを実行する実験のログレコードの例です。
レコード
experiment-start
以下に示したのは、experiment-start
イベントのレコードの例です。
{
"id": "EXPhjAXCGY78HV2a4A",
"log_type": "experiment-start",
"event_timestamp": "2023-05-31T18:50:45Z",
"version": "2",
"details": {
"experiment_template_id": "EXTCDh1M8HHkhxoaQ",
"experiment_start_time": "2023-05-31T18:50:43Z"
}
}
target-resolution-start
以下に示したのは、target-resolution-start
イベントのレコードの例です。
{
"id": "EXPhjAXCGY78HV2a4A",
"log_type": "target-resolution-start",
"event_timestamp": "2023-05-31T18:50:45Z",
"version": "2",
"details": {
"target_resolution_start_time": "2023-05-31T18:50:45Z",
"target_name": "EC2InstancesToReboot"
}
}
target-resolution-detail
以下に示したのは、target-resolution-detail
イベントのレコードの例です。ターゲットの解決に失敗した場合、レコードには error_information
フィールドも含まれます。
{
"id": "EXPhjAXCGY78HV2a4A",
"log_type": "target-resolution-detail",
"event_timestamp": "2023-05-31T18:50:45Z",
"version": "2",
"details": {
"target_resolution_end_time": "2023-05-31T18:50:45Z",
"target_name": "EC2InstancesToReboot",
"target_type": "aws:ec2:instance",
"account_id": "123456789012",
"resolved_targets_count": 2,
"status": "completed"
}
}
target-resolution-end
ターゲットの解決に失敗した場合、レコードには error_information
フィールドも含まれます。total_pages
が 1 より大きい場合、解決されたターゲットの数が 1 つのレコードのサイズ制限を超えています。残りの解決済みターゲットを含むレコードが他にも target-resolution-end
レコードあります。
EC2 アクションの target-resolution-end
イベントのレコード例を以下に示します。
{
"id": "EXPhjAXCGY78HV2a4A",
"log_type": "target-resolution-end",
"event_timestamp": "2023-05-31T18:50:45Z",
"version": "2",
"details": {
"target_resolution_end_time": "2023-05-31T18:50:46Z",
"target_name": "EC2InstanceToReboot",
"target_type": "aws:ec2:instance",
"resolved_targets": [
{
"arn": "arn:aws:ec2:us-east-1:123456789012:instance/i-0f7ee2abffc330de5"
}
],
"page": 1,
"total_pages": 1
}
}
以下は EKS アクションの target-resolution-end
イベントのレコード例です。
{
"id": "EXP24YfiucfyVPJpEJn",
"log_type": "target-resolution-end",
"event_timestamp": "2023-05-31T18:50:45Z",
"version": "2",
"details": {
"target_resolution_end_time": "2023-05-31T18:50:46Z",
"target_name": "myPods",
"target_type": "aws:eks:pod",
"resolved_targets": [
{
"pod_name": "example-696fb6498b-sxhw5",
"namespace": "default",
"cluster_arn": "arn:aws:eks:us-east-1:123456789012:cluster/fis-demo-cluster",
"target_container_name": "example"
}
],
"page": 1,
"total_pages": 1
}
}
action-start
以下に示したのは、action-start
イベントのレコードの例です。実験テンプレートでアクションのパラメータが指定されている場合、レコードには parameters
フィールドも含まれます。
{
"id": "EXPhjAXCGY78HV2a4A",
"log_type": "action-start",
"event_timestamp": "2023-05-31T18:50:56Z",
"version": "2",
"details": {
"action_name": "Reboot",
"action_id": "aws:ec2:reboot-instances",
"action_start_time": "2023-05-31T18:50:56Z",
"action_targets": {"Instances":"EC2InstancesToReboot"}
}
}
action-error
以下に示したのは、action-error
イベントのレコードの例です。このイベントは、アクションが失敗したときにのみ返されます。アクションが失敗したアカウントごとに返されます。
{
"id": "EXPhjAXCGY78HV2a4A",
"log_type": "action-error",
"event_timestamp": "2023-05-31T18:50:56Z",
"version": "2",
"details": {
"action_name": "pause-io",
"action_id": "aws:ebs:pause-volume-io",
"account_id": "123456789012",
"action_state": {
"status": "failed",
"reason":"Unable to start Pause Volume IO. Target volumes must be attached to an instance type based on the Nitro system. VolumeId(s): [vol-1234567890abcdef0]:"
}
}
}
action-end
以下に示したのは、action-end
イベントのレコードの例です。
{
"id": "EXPhjAXCGY78HV2a4A",
"log_type": "action-end",
"event_timestamp": "2023-05-31T18:50:56Z",
"version": "2",
"details": {
"action_name": "Reboot",
"action_id": "aws:ec2:reboot-instances",
"action_end_time": "2023-05-31T18:50:56Z",
"action_state": {
"status": "completed",
"reason": "Action was completed."
}
}
}
experiment-end
以下に示したのは、experiment-end
イベントのレコードの例です。
{
"id": "EXPhjAXCGY78HV2a4A",
"log_type": "experiment-end",
"event_timestamp": "2023-05-31T18:50:57Z",
"version": "2",
"details": {
"experiment_end_time": "2023-05-31T18:50:57Z",
"experiment_state": {
"status": "completed",
"reason": "Experiment completed"
}
}
}
実験ロギングを有効にする
実験ロギングは、デフォルトで無効になっています。実験用に実験ログを受け取るには、ロギングを有効にした実験テンプレートから実験を作成する必要があります。過去にロギングに使用したことのない宛先を使用する設定のテストを初めて実行するときは、この宛先へのログ配信を設定するため、実験開始までに約 15 秒の遅延が生じます。
コンソールで実験ロギングの作成を有効にするには
https://console.aws.amazon.com/fis/
で AWS FIS コンソールを開きます。 -
ナビゲーションペインで、[実験テンプレート] を選択します。
-
実験テンプレートを選択し、[アクション]、[実験テンプレートを更新する] を選択します。
-
[ログ] では、送信先オプションを設定します。S3 バケットにログを送信するには、[Amazon S3 バケットに送信] を選択し、バケット名とプレフィックスを入力します。ログを CloudWatch Logs に送信するには、 CloudWatch ログに送信を選択し、ロググループを入力します。
-
[実験テンプレートの作成] を選択します。
AWS CLI を使用した実験ロギングを有効にするには
update-experiment-template
実験ロギングの無効化
実験のログを受け取りたくない場合は、実験ロギングの作成を無効にできます。
コンソールを使用して実験ロギングの作成を無効にするには
https://console.aws.amazon.com/fis/
で AWS FIS コンソール を開きます。 -
ナビゲーションペインで、[実験テンプレート] を選択します。
-
実験テンプレートを選択し、[アクション]、[実験テンプレートを更新する] を選択します。
-
ログ の場合、Amazon S3 バケットへの送信 と CloudWatch ログ への送信 をクリアします。
-
[実験テンプレートの更新] を選択します。
AWS CLI を使用して実験ロギングの作成を無効にするには
update-experiment-template