

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ステップログファイルのログの場所のカスタマイズ
<a name="emr-plan-debugging-step-log-customization"></a>

Amazon EMR バージョン 7.11 以降、ステップごとにステップの S3 ログ記録動作をカスタマイズできるようになりました。1 つのステップで、ステップのログがアップロードされる一意の S3 バケットを選択できます。S3 で保管中のステップのログを暗号化するために使用される一意の KMS キーを選択することもできます。これらのオプションは、クラスターの起動時に設定されたクラスター全体のログ記録設定よりも優先されます。

## 前提条件
<a name="emr-plan-debugging-step-log-prerequisites"></a>
+ クラスターでは、クラスターのログ記録が有効になっている必要があります。詳細については、[「Amazon EMR クラスターのログ記録とデバッグを設定する](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-debugging.html)」を参照してください。
+ EC2 インスタンスプロファイル:
  + クラスターの EC2 インスタンスプロファイルは、ステップのログ記録設定で使用される S3 バケットへのアクセスを許可する必要があります。
  + クラスターの EC2 インスタンスプロファイルには、ステップのログ記録設定で使用される KMS キーへのアクセスを許可する必要があります。さらに、クラスターの EC2 インスタンスプロファイルは `kms:Decrypt` および `kms:GenerateDataKey`アクションを許可する必要があります。

## ステップログ設定
<a name="emr-plan-debugging-step-log-config"></a>

EMR にステップを送信すると、[StepMonitoringConfiguration](https://docs.aws.amazon.com/cli/latest/reference/emr/add-steps.html) を介してステップのログ記録動作を設定できます。StepMonitoringConfiguration には S3MonitoringConfiguration オブジェクトが含まれており、ステップの S3 ログ記録バケットや KMS キーを指定できます。

次の例は、Python スクリプトからステップの S3 バケットと KMS キーをカスタマイズする方法を示しています。

```
import boto3

emr_client = boto3.client("emr", region_name="us-east-1")

# Define your step:
example_step = [
    {
        "Name": "Example Step for StepMonitoringConfiguration",
        "ActionOnFailure": "CONTINUE",
        "HadoopJarStep": {
            "Jar": "command-runner.jar",
            "Args": ["bash", "-c", "echo 1"]
        },
        "StepMonitoringConfiguration": {
            "S3MonitoringConfiguration": {
                "LogUri": "s3://your-s3-bucket/", # Replace this with your S3 bucket
                "EncryptionKeyArn": "arn:aws:kms:your-kms-key-arn" # Replace this with your KMS key ARN
            }
        }
    }
]

response = emr_client.add_job_flow_steps(
    JobFlowId="j-xxxxxxxxxxxxx",  # Replace this with your EMR cluster ID
    Steps=example_step
)
```

## 考慮事項
<a name="emr-plan-debugging-step-log-considerations"></a>
+ クラスターがクラスターログ記録を有効にしない場合、 を指定してもステップログは S3 にアップロードされません`StepMonitoringConfiguration`。
+ ステップで Spark アプリケーションを実行すると、アプリケーションのコンテナログも で指定された場所にアップロードされます`StepMonitoringConfiguration`。
+ を指定`LogUri`せずに を指定することも、`EncryptionKeyArn`その逆を指定することもできます。EMR はデフォルトで、 で省略されているフィールドのクラスター全体の設定になります`StepMonitoringConfiguration`。