AWS Glue ジョブの連続ログ記録の有効化 - AWS Glue

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

AWS Glue ジョブの連続ログ記録の有効化

連続ログ記録は、 AWS Glue コンソールまたは AWS Command Line Interface () を使用して有効にできますAWS CLI。

新しいジョブを作成するとき、既存のジョブを編集するとき、または を通じて有効にするときに、連続ログ記録を有効にできます AWS CLI。

Amazon CloudWatch ロググループ名、AWS Glueジョブ実行 ID ドライバー/エグゼキューター ID の前の CloudWatch ログストリームプレフィックス、ログメッセージのログ変換パターンなどのカスタム設定オプションを指定することもできます。これらの設定は、異なる有効期限ポリシーを持つカスタムロググループに集約 CloudWatch ログを設定し、カスタムログストリームのプレフィックスと変換パターンを使用してさらに分析するのに役立ちます。

の使用 AWS Management Console

次のステップに従ってコンソールを使用して、AWS Glue ジョブを作成または編集するときに連続ログ記録を有効にします。

連続ログ記録を有効にして新しい AWS Glue ジョブを作成するには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/glue/ で AWS Glue コンソールを開きます。

  2. ナビゲーションペインで、ETL ジョブ を選択します。

  3. ビジュアル ETL を選択します。

  4. ジョブの詳細 タブで、プロパティの詳細 セクションを展開します。

  5. 「継続的なログ記録」で「 でログを有効にする CloudWatch」を選択します。

既存の AWS Glue ジョブに対して連続ログ記録を有効にするには
  1. https://console.aws.amazon.com/glue/ で AWS Glue コンソールを開きます。

  2. ナビゲーションペインで ジョブを選択します。

  3. [Jobs (ジョブ)] リストから既存のジョブを選択します。

  4. [Action (アクション)]、[Edit job (ジョブの編集)] の順に選択します。

  5. ジョブの詳細 タブで、プロパティの詳細 セクションを展開します。

  6. 「連続ログ記録」で「 でログを有効にする CloudWatch」を選択します。

の使用 AWS CLI

連続ログ記録を有効にするには、 AWS Glue ジョブにジョブパラメータを渡します。他のジョブパラメータと同様の次の特別なAWS Glueジョブパラメータを渡します。詳細については、「AWS Glue ジョブのパラメータ」を参照してください。

'--enable-continuous-cloudwatch-log': 'true'

カスタム Amazon CloudWatch ロググループ名を指定できます。指定しない場合、デフォルトのロググループ名は、/aws-glue/jobs/logs-v2/ になります。

'--continuous-log-logGroup': 'custom_log_group_name'

カスタム Amazon CloudWatch ログストリームプレフィックスを指定できます。指定しない場合、デフォルトのログストリームプレフィックスはジョブ実行 ID になります。

'--continuous-log-logStreamPrefix': 'custom_log_stream_prefix'

カスタムの連続ロギング変換パターンを指定できます。指定しない場合、デフォルトの変換パターンは %d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n になります。変換パターンは、ドライバーログとエグゼキューターログにのみ適用されます。AWS Glue の進行状況バーには影響しません。

'--continuous-log-conversionPattern': 'custom_log_conversion_pattern'

カスタムスクリプトロガーを使用したアプリケーション固有のメッセージのログ記録

AWS Glue ロガーを使用すると、ドライバーログストリームにリアルタイムで送信される、スクリプトのアプリケーション固有のメッセージを記録できます。

Python スクリプトの例を以下に示します。

from awsglue.context import GlueContext from pyspark.context import SparkContext sc = SparkContext() glueContext = GlueContext(sc) logger = glueContext.get_logger() logger.info("info message") logger.warn("warn message") logger.error("error message")

Scala スクリプトの例を以下に示します。

import com.amazonaws.services.glue.log.GlueLogger object GlueApp { def main(sysArgs: Array[String]) { val logger = new GlueLogger logger.info("info message") logger.warn("warn message") logger.error("error message") } }

進行状況バーでのジョブ進行状況の表示

AWS Glue は、JOB_RUN_ID-progress-bar ログストリームでリアルタイムの進行状況バーを提供して AWS Glue ジョブ実行のステータスを確認します。現時点では、glueContext を初期化するジョブのみがサポートされています。glueContext を初期化せずに純粋な Spark ジョブを実行すると、AWS Glue 進行状況バーは表示されません。

進行状況バーでは、以下の進行状況が 5 秒ごとに更新されます。

Stage Number (Stage Name): > (numCompletedTasks + numActiveTasks) / totalNumOfTasksInThisStage]

連続ログ記録によるセキュリティ設定。

CloudWatch ログのセキュリティ設定が有効になっている場合、 AWS Glueは、連続ログに対して次のように という名前のロググループを作成します。

<Log-Group-Name>-<Security-Configuration-Name>

デフォルトのロググループおよびカスタムロググループは次のようになります。

  • デフォルトの連続ロググループは /aws-glue/jobs/logs-v2-<Security-Configuration-Name> となります。

  • カスタム連続ロググループは <custom-log-group-name>-<Security-Configuration-Name> となります。

CloudWatch Logs でセキュリティ設定を有効にする場合は、IAM logs:AssociateKmsKey ロールのアクセス許可に を追加する必要があります。そのアクセス許可が含まれていない場合、連続ログ記録は無効になります。また、 CloudWatch ログの暗号化を設定するには、「Amazon Logs ユーザーガイド」の「 を使用したログの CloudWatch ログデータの暗号化 AWS Key Management Service」の手順に従います。 CloudWatch

セキュリティ設定作成の詳細については、「AWS Glue コンソールでのセキュリティ設定の使用」を参照してください。