翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 ジョブを作成するには
AWS Management Consoleにサインインし、AWS Glue コンソール (https://console.aws.amazon.com/glue/
) を開きます。 -
ナビゲーションペインで [ETL ジョブ] を選択します。
-
[ビジュアル ETL] を選択します。
-
[Job 詳細] タブで、[詳細プロパティ] セクションを展開します。
-
[継続的なログ記録] で [CloudWatch でログの有効化] を選択します。
既存の AWS Glue ジョブに対して連続ログ記録を有効にするには
https://console.aws.amazon.com/glue/
で AWS Glue コンソール を開きます。 -
ナビゲーションペインで [Jobs] (ジョブ) を選択します。
-
[Jobs (ジョブ)] リストから既存のジョブを選択します。
-
[Action (アクション)]、[Edit job (ジョブの編集)] の順に選択します。
-
[Job 詳細] タブで、[詳細プロパティ] セクションを展開します。
-
[継続的なログ記録] で [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 でセキュリティ設定を有効にする場合、logs:AssociateKmsKey
を IAM ロールのアクセス許可に追加する必要があります。そのアクセス許可が含まれていない場合、連続ログ記録は無効になります。また、CloudWatch Logs 暗号化を設定するには、Amazon CloudWatch Logs ユーザーガイドの「AWS Key Management Service を使用して CloudWatch Logs のログデータを暗号化する」を参照してください。
セキュリティ設定作成の詳細については、「AWS Glue コンソールでのセキュリティ設定の管理」を参照してください。