aws glue - 開発者ガイド · aws glue 開発者ガイド jdbc...

663
AWS Glue 開発者ガイド

Upload: others

Post on 04-Feb-2020

25 views

Category:

Documents


0 download

TRANSCRIPT

  • AWS Glue開発者ガイド

  • AWS Glue 開発者ガイド

    AWS Glue: 開発者ガイドCopyright © 2020 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

    Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's,in any manner that is likely to cause confusion among customers, or in any manner that disparages or discreditsAmazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may notbe affiliated with, connected to, or sponsored by Amazon.

  • AWS Glue 開発者ガイド

    Table of ContentsAWS Glue とは .................................................................................................................................. 1

    AWS Glue が適している用途 ....................................................................................................... 1仕組み ............................................................................................................................................... 3

    独立で実行されるサーバーレス ETL ジョブ .................................................................................... 3概念 .......................................................................................................................................... 4

    AWS Glue の用語 ............................................................................................................... 5コンポーネント .......................................................................................................................... 6

    AWS Glue コンソール ......................................................................................................... 7AWS Glue データカタログ ................................................................................................... 7AWS Glue クローラおよび分類子 ......................................................................................... 8AWS Glue ETL オペレーション ............................................................................................ 8AWS Glue ジョブシステム ................................................................................................... 8

    半構造化されたスキーマをリレーショナルスキーマに変換する .......................................................... 8ご利用開始にあたって ....................................................................................................................... 10

    AWS Glue の IAM アクセス許可のセットアップ ............................................................................ 10ステップ 1: AWS Glue サービスの IAM ポリシーを作成します。 ............................................. 10ステップ 2: AWS Glue 用の IAM ロールを作成する ............................................................... 14ステップ 3: AWS Glue にアクセスする IAM ユーザーにポリシーをアタッチする ........................ 15ステップ 4: ノートブックサービスの IAM ポリシーを作成する ................................................ 23ステップ 5: ノートブックサービスの IAM ロールを作成する ................................................... 26ステップ 6: Amazon SageMakerノートブックの IAM ポリシーを作成する ................................. 27ステップ 7: Amazon SageMaker ノートブックの IAM ロールを作成する ................................... 29

    VPC での DNS のセットアップ .................................................................................................. 30データストアにアクセスするための環境のセットアップ ................................................................. 31

    Amazon S3 における Amazon VPC エンドポイント ............................................................... 31JDBC データストアに接続するための VPC の設定 ................................................................ 33

    開発エンドポイント用の環境の設定 ............................................................................................. 36開発エンドポイント用にネットワークを設定する ................................................................... 36ノートブックサーバー用の Amazon EC2 の設定 .................................................................... 37

    暗号化のセットアップ ............................................................................................................... 38コンソールのワークフローの概要 ................................................................................................ 40

    セキュリティ .................................................................................................................................... 43データ保護 ............................................................................................................................... 43

    保管時の暗号化 ................................................................................................................. 43転送中の暗号化 ................................................................................................................. 50キーの管理 ....................................................................................................................... 50インターネットトラフィックプライバシー ............................................................................ 50AWS の他のサービスへの AWS Glue の依存関係 .................................................................. 52開発エンドポイント .......................................................................................................... 52

    アイデンティティとアクセスの管理 ............................................................................................. 53認証 ................................................................................................................................ 53アクセスコントロールの概要 .............................................................................................. 55クロスアカウントアクセス ................................................................................................. 65リソース ARN .................................................................................................................. 68ポリシーの例 .................................................................................................................... 73API の権限リファレンス .................................................................................................... 88

    ログ記録とモニタリング ........................................................................................................... 106コンプライアンス検証 .............................................................................................................. 106弾力 ...................................................................................................................................... 107インフラストラクチャセキュリティ ........................................................................................... 107

    VPC エンドポイントでの AWS Glue の使用 ........................................................................ 107共有 Amazon VPC .......................................................................................................... 108

    AWS Glue データカタログ の入力 ..................................................................................................... 109データカタログでのデータベースの定義 ..................................................................................... 110

    iii

  • AWS Glue 開発者ガイド

    コンソールでデータベースを使用する ................................................................................ 110AWS Glue データカタログ でテーブルを定義する ........................................................................ 111

    テーブルパーティション ................................................................................................... 111クローラを使用して手動で作成されたテーブルを更新する ..................................................... 112コンソールでのテーブルの使用 ......................................................................................... 112

    データストアに接続を追加する ................................................................................................. 115接続が使用されるタイミング ............................................................................................. 115AWS Glue データカタログ で接続を定義する ...................................................................... 115VPC の JDBC データストアに接続する .............................................................................. 116コンソールでの接続の操作 ................................................................................................ 117

    クローラの定義 ....................................................................................................................... 121クロール可能なデータストア ............................................................................................. 121クローラを実行するとどうなるか ...................................................................................... 122クローラのプロパティ ...................................................................................................... 124クローラの設定 ............................................................................................................... 129クローラのスケジュール ................................................................................................... 133コンソールでのクローラの使用 ......................................................................................... 133

    クローラに分類子を追加する ..................................................................................................... 135分類子を使用するタイミング ............................................................................................. 135カスタム分類子 ............................................................................................................... 136AWS Glue の組み込み分類子 ............................................................................................ 136カスタム分類子の書き込み ................................................................................................ 138コンソールでの分類子の操作 ............................................................................................. 149

    AWS Glue コンソールでのデータカタログ設定の使用 ................................................................... 150新しいパーティションを使用した Data Catalog の更新 ................................................................. 151AWS CloudFormation テンプレートを使用したデータカタログの事前設定 ....................................... 152

    サンプルデータベース ...................................................................................................... 154サンプルのデータベース、テーブル、パーティション ........................................................... 155サンプルの Grok 分類子 ................................................................................................... 158サンプルの JSON 分類子 ................................................................................................. 158サンプルの XML 分類子 ................................................................................................... 159サンプルの Amazon S3 クローラ ...................................................................................... 160サンプルの接続 ............................................................................................................... 161サンプルの JDBC クローラ .............................................................................................. 162Amazon S3 に書き込む Amazon S3 のサンプルジョブ ......................................................... 164Amazon S3 に書き込む JDBC のサンプルジョブ ................................................................. 165サンプルのオンデマンドトリガー ...................................................................................... 166サンプルのスケジュールされたトリガー ............................................................................. 167サンプルの条件付きトリガー ............................................................................................. 168サンプルの開発エンドポイント ......................................................................................... 168

    ジョブを作成する ............................................................................................................................ 170ワークフローの概要 ................................................................................................................. 170ジョブの追加 .......................................................................................................................... 171

    ジョブプロパティの定義 ................................................................................................... 171Python シェルジョブの追加 .............................................................................................. 175組み込み変換 .................................................................................................................. 179コンソールでのジョブ ...................................................................................................... 181

    スクリプトの編集 .................................................................................................................... 186スクリプトの定義 ............................................................................................................ 186コンソールのスクリプト ................................................................................................... 188独自のカスタムスクリプトを提供する ................................................................................ 189

    ジョブのトリガー .................................................................................................................... 190スケジュールやイベントに基づいてジョブをトリガーする ..................................................... 190トリガータイプを指定する ................................................................................................ 191コンソールでのトリガーの使用 ......................................................................................... 191

    開発エンドポイントを使用してスクリプトを開発する ................................................................... 192開発エンドポイントのワークフロー ................................................................................... 193

    iv

  • AWS Glue 開発者ガイド

    開発エンドポイントの追加 ................................................................................................ 194開発エンドポイントのプロパティの表示 ............................................................................. 196開発エンドポイントへのアクセス ...................................................................................... 197Amazon EC2 でホストされているノートブックサーバーを作成する ........................................ 198チュートリアルの前提条件 ................................................................................................ 200チュートリアル: ローカル Zeppelin ノートブック ................................................................ 204チュートリアル: Amazon EC2 Zeppelin ノートブックサーバー .............................................. 207チュートリアル: SageMaker ノートブックを使用する ........................................................... 210チュートリアル: REPL シェルの使用 ................................................................................. 211チュートリアル: PyCharm Professional を使用する .............................................................. 212

    ノートブックの管理 ................................................................................................................. 218ノートブックサーバーに関する考慮事項 ............................................................................. 220コンソールでノートブックを使用する ................................................................................ 226

    実行とモニタリング ......................................................................................................................... 229自動化ツール .......................................................................................................................... 230ジョブとクローラの時間ベースのスケジュール ............................................................................ 230

    cron 式 .......................................................................................................................... 230ジョブのブックマークを使用した処理済みデータの追跡 ................................................................ 232

    ジョブのブックマークを使用する ...................................................................................... 233AWS Glue スクリプトを使用する ...................................................................................... 234変更のタイムスタンプを使用する ...................................................................................... 237

    AWS タグ .............................................................................................................................. 238例 ................................................................................................................................. 239

    CloudWatch イベント による自動化 ........................................................................................... 240Spark UI を使用したモニタリング ............................................................................................. 242

    ジョブ用の Spark UI の有効化 .......................................................................................... 246開発エンドポイント用の Spark UI の有効化 ........................................................................ 247Spark 履歴サーバーの起動 ................................................................................................ 248

    CloudWatch によるモニタリング ............................................................................................... 251CloudWatch メトリクスの使用 .......................................................................................... 251AWS Glue ジョブプロファイルで Amazon CloudWatch アラームを設定する ............................ 265AWS Glue ジョブの連続ログ記録 ...................................................................................... 265

    ジョブの監視とデバッグ ........................................................................................................... 269OOM 例外とジョブの異常のデバッグ ................................................................................. 270要求の厳しいステージと落伍者タスクのデバッグ ................................................................. 276複数のジョブの進行状況のモニタリング ............................................................................. 280DPU の容量計画のモニタリング ........................................................................................ 285

    CloudTrail を使用したログ作成 .................................................................................................. 289CloudTrail 内の AWS Glue 情報 ........................................................................................ 290AWS Glue ログファイルエントリの概要 ............................................................................. 290

    ワークフローを使用して複雑な ETL アクティビティを実行する ............................................................. 293ワークフローの概要 ................................................................................................................. 293

    ワークフローの静的ビューと動的ビュー ............................................................................. 294ワークフローの制限 ......................................................................................................... 294

    ワークフローの作成と実行 ........................................................................................................ 294コンソールを使用したワークフローの作成と構築 ................................................................. 295ワークフローの実行 ......................................................................................................... 297

    ワークフローの実行プロパティの取得と設定 ............................................................................... 298AWS Glue APIを使用したワークフローのクエリ .......................................................................... 298

    静的ビューのクエリ ......................................................................................................... 299動的ビューのクエリ ......................................................................................................... 299

    ETL プログラミング ........................................................................................................................ 302一般的な情報 .......................................................................................................................... 302

    特別なパラメータ ............................................................................................................ 302接続パラメータ ............................................................................................................... 304形式オプション ............................................................................................................... 309パーティションの管理 ...................................................................................................... 312

    v

  • AWS Glue 開発者ガイド

    入力ファイルのグループ化 ................................................................................................ 313JDBC からの並列読み取り ................................................................................................ 314Amazon Redshift との間でのデータの移動 .......................................................................... 315Spark SQL ジョブの データカタログ サポート .................................................................... 317Amazon S3 ストレージクラスの除外 ................................................................................. 319ETL スクリプトのローカルでの開発およびテスト ................................................................ 320

    Python での ETL プログラミング .............................................................................................. 324Python の使用 ................................................................................................................ 324拡張機能のリスト ............................................................................................................ 325変換のリスト .................................................................................................................. 325Python のセットアップ .................................................................................................... 325API の呼び出し ............................................................................................................... 326Python ライブラリ .......................................................................................................... 328Python サンプル ............................................................................................................. 329PySpark 拡張機能 ........................................................................................................... 343PySpark 変換 ................................................................................................................. 371

    Scala での ETL プログラミング ................................................................................................ 398Scala の使用 .................................................................................................................. 403Scala API リスト ............................................................................................................ 404

    FindMatches によるレコードのマッチング .......................................................................................... 448機械学習変換のタイプ .............................................................................................................. 448

    一致の検索変換 ............................................................................................................... 449機械学習変換の調整 ................................................................................................................. 452

    機械学習の測定 ............................................................................................................... 452適合率と再現率のトレードオフ ......................................................................................... 453精度とコストのトレードオフ ............................................................................................. 453「一致の検索」変換のトレーニング ................................................................................... 454

    コンソールでの機械学習変換 ..................................................................................................... 455変換のプロパティ ............................................................................................................ 455機械学習変換の追加と編集 ................................................................................................ 456変換の詳細の確認 ............................................................................................................ 456

    チュートリアル: 機械学習変換を作成する ................................................................................... 458ステップ 1: ソースデータをクロールする ............................................................................ 459ステップ 2: 機械学習変換を追加する .................................................................................. 459ステップ 3: 機械学習変換をトレーニングする ..................................................................... 459ステップ 4: 機械学習変換の品質を推定する ........................................................................ 460ステップ 5: 機械学習変換でジョブを追加して実行する ......................................................... 460ステップ 6: Amazon S3 の出力データを確認する ................................................................. 462

    AWS Glue API ................................................................................................................................ 464セキュリティ .......................................................................................................................... 471

     —  データ型  — ............................................................................................................. 471DataCatalogEncryptionSettings .......................................................................................... 471EncryptionAtRest ............................................................................................................. 472ConnectionPasswordEncryption ......................................................................................... 472EncryptionConfiguration .................................................................................................... 473S3Encryption .................................................................................................................. 473CloudWatchEncryption ..................................................................................................... 473JobBookmarksEncryption .................................................................................................. 473SecurityConfiguration ....................................................................................................... 474 —  オペレーション  — .................................................................................................... 474GetDataCatalogEncryptionSettings (get_data_catalog_encryption_settings) ............................... 474PutDataCatalogEncryptionSettings (put_data_catalog_encryption_settings) ............................... 475PutResourcePolicy (put_resource_policy) ............................................................................ 475GetResourcePolicy (get_resource_policy) ............................................................................ 476DeleteResourcePolicy (delete_resource_policy) .................................................................... 477CreateSecurityConfiguration (create_security_configuration) ................................................... 477DeleteSecurityConfiguration (delete_security_configuration) .................................................... 478

    vi

  • AWS Glue 開発者ガイド

    GetSecurityConfiguration (get_security_configuration) ............................................................ 478GetSecurityConfigurations (get_security_configurations) ......................................................... 479

    カタログ ................................................................................................................................ 479データベース .................................................................................................................. 480テーブル ........................................................................................................................ 484パーティション ............................................................................................................... 499接続 .............................................................................................................................. 510ユーザー定義関数 ............................................................................................................ 516Athena カタログをインポートする ..................................................................................... 521

    クローラおよび分類子 .............................................................................................................. 522分類子 ........................................................................................................................... 522クローラ ........................................................................................................................ 531スケジューラー ............................................................................................................... 542

    ETL スクリプトの自動生成 ....................................................................................................... 544 —  データ型  — ............................................................................................................. 544CodeGenNode ................................................................................................................ 544CodeGenNodeArg ........................................................................................................... 545CodeGenEdge ................................................................................................................ 545場所 .............................................................................................................................. 545CatalogEntry ................................................................................................................... 546MappingEntry ................................................................................................................. 546 —  オペレーション  — .................................................................................................... 546CreateScript (create_script) ............................................................................................... 547GetDataflowGraph (get_dataflow_graph) ............................................................................. 547GetMapping (get_mapping) ............................................................................................... 548GetPlan (get_plan) .......................................................................................................... 548

    ジョブ ................................................................................................................................... 549ジョブ ........................................................................................................................... 549ジョブ実行 ..................................................................................................................... 560トリガー ........................................................................................................................ 570

    ワークフロー .......................................................................................................................... 578 —  データ型  — ............................................................................................................. 578JobNodeDetails ............................................................................................................... 579CrawlerNodeDetails ......................................................................................................... 579TriggerNodeDetails .......................................................................................................... 579Crawl ............................................................................................................................. 579Node ............................................................................................................................. 580Edge ............................................................................................................................. 580WorkflowGraph ............................................................................................................... 580WorkflowRun .................................................................................................................. 581WorkflowRunStatistics ...................................................................................................... 581Workflow ........................................................................................................................ 582 —  オペレーション  — .................................................................................................... 582CreateWorkflow (create_workflow) ..................................................................................... 583UpdateWorkflow (update_workflow) .................................................................................... 584DeleteWorkflow (delete_workflow) ...................................................................................... 584ListWorkflows (list_workflows) ............................................................................................ 585BatchGetWorkflows (batch_get_workflows) .......................................................................... 585GetWorkflowRun (get_workflow_run) .................................................................................. 586GetWorkflowRuns (get_workflow_runs) ............................................................................... 586GetWorkflowRunProperties (get_workflow_run_properties) ..................................................... 587PutWorkflowRunProperties (put_workflow_run_properties) ...................................................... 588

    DevEndpoints ......................................................................................................................... 589 —  データ型  — ............................................................................................................. 589DevEndpoint ................................................................................................................... 589DevEndpointCustomLibraries ............................................................................................. 591 —  オペレーション  — .................................................................................................... 592

    vii

  • AWS Glue 開発者ガイド

    CreateDevEndpoint (create_dev_endpoint) .......................................................................... 592UpdateDevEndpoint (update_dev_endpoint) ......................................................................... 596DeleteDevEndpoint (delete_dev_endpoint) ........................................................................... 597GetDevEndpoint (get_dev_endpoint) ................................................................................... 597GetDevEndpoints (get_dev_endpoints) ................................................................................ 598BatchGetDevEndpoints (batch_get_dev_endpoints) ............................................................... 598ListDevEndpoints (list_dev_endpoints) ................................................................................ 599

    機械学習 ................................................................................................................................ 600 —  データ型  — ............................................................................................................. 600TransformParameters ....................................................................................................... 600EvaluationMetrics ............................................................................................................ 601MLTransform .................................................................................................................. 601FindMatchesParameters ................................................................................................... 603FindMatchesMetrics ......................................................................................................... 604ConfusionMatrix .............................................................................................................. 604GlueTable ...................................................................................................................... 605TaskRun ........................................................................................................................ 605TransformFilterCriteria ...................................................................................................... 606TransformSortCriteria ....................................................................................................... 606TaskRunFilterCriteria ....................................................................................................... 607TaskRunSortCriteria ......................................................................................................... 607TaskRunProperties .......................................................................................................... 607FindMatchesTaskRunProperties ......................................................................................... 608ImportLabelsTaskRunProperties ........................................................................................ 608ExportLabelsTaskRunProperties ........................................................................................ 608LabelingSetGenerationTaskRunProperties ........................................................................... 608SchemaColumn ............................................................................................................... 609 —  オペレーション  — .................................................................................................... 609CreateMLTransform (create_ml_transform) .......................................................................... 609UpdateMLTransform (update_ml_transform) ......................................................................... 611DeleteMLTransform (delete_ml_transform) ........................................................................... 613GetMLTransform (get_ml_transform) ................................................................................... 613GetMLTransforms (get_ml_transforms) ................................................................................ 615StartMLEvaluationTaskRun (start_ml_evaluation_task_run) ..................................................... 616StartMLLabelingSetGenerationTaskRun (start_ml_labeling_set_generation_task_run) .................. 617GetMLTaskRun (get_ml_task_run) ...................................................................................... 617GetMLTaskRuns (get_ml_task_runs) ................................................................................... 618CancelMLTaskRun (cancel_ml_task_run) ............................................................................ 619StartExportLabelsTaskRun (start_export_labels_task_run) ...................................................... 620StartImportLabelsTaskRun (start_import_labels_task_run) ...................................................... 621

    API のタグ付け ....................................................................................................................... 622 —  データ型  — ............................................................................................................. 622Tag ............................................................................................................................... 622 —  オペレーション  — .................................................................................................... 622TagResource (tag_resource) ............................................................................................. 622UntagResource (untag_resource) ....................................................................................... 623GetTags (get_tags) .......................................................................................................... 623

    共通データ型 .......................................................................................................................... 624Tag ............................................................................................................................... 624DecimalNumber .............................................................................................................. 624ErrorDetail ...................................................................................................................... 624PropertyPredicate ............................................................................................................ 625ResourceUri ................................................................................................................... 625文字列パターン ............................................................................................................... 625

    例外 ...................................................................................................................................... 626AccessDeniedException ................................................................................................... 626AlreadyExistsException .................................................................................................... 626

    viii

  • AWS Glue 開発者ガイド

    ConcurrentModificationException ....................................................................................... 626ConcurrentRunsExceededException ................................................................................... 626CrawlerNotRunningException ............................................................................................ 627CrawlerRunningException ................................................................................................. 627CrawlerStoppingException ................................................................................................ 627EntityNotFoundException .................................................................................................. 627GlueEncryptionException .................................................................................................. 627IdempotentParameterMismatchException ............................................................................ 628InternalServiceException .................................................................................................. 628InvalidExecutionEngineException ....................................................................................... 628InvalidInputException ....................................................................................................... 628InvalidTaskStatusTransitionException ................................................................................. 628JobDefinitionErrorException .............................................................................................. 629JobRunInTerminalStateException ....................................................................................... 629JobRunInvalidStateTransitionException ............................................................................... 629JobRunNotInTerminalStateException .................................................................................. 629LateRunnerException ....................................................................................................... 630NoScheduleException ...................................................................................................... 630OperationTimeoutException .............................................................................................. 630ResourceNumberLimitExceededException ........................................................................... 630SchedulerNotRunningException ......................................................................................... 630SchedulerRunningException .............................................................................................. 631SchedulerTransitioningException ........................................................................................ 631UnrecognizedRunnerException .......................................................................................... 631ValidationException ......................................................................................................... 631VersionMismatchException ............................................................................................... 631

    トラブルシューティング ................................................................................................................... 632AWS Glue トラブルシューティング情報の収集 ............................................................................ 632接続の問題のトラブルシューティング ........................................................................................ 632エラーのトラブルシューティング .............................................................................................. 633

    エラー: リソースを利用できません。 ................................................................................. 633エラー: VPC の subnetId に S3 エンドポイントまたは NAT ゲートウェイが見つかりませんでした ................................................................................................................................. 634エラー: 必要なセキュリティグループのインバウンドルール ................................................... 634エラー: 必要なセキュリティグループのアウトバウンドルール ................................................ 634エラー: ロールにロール継承アクセス許可を付与する必要がある AWS Glue サービスが渡されているため、ジョブの実行に失敗しました ............................................................................. 634エラー: DescribeVpcEndpoints アクションが許可されていません。VPC ID vpc-id を検証できません .............................................................................................................................. 635エラー: DescribeRouteTables アクションが許可されていません。VPC id (vpc-id) の Subnet Id(subnet-id) を検証できません。 ......................................................................................... 635エラー: ec2:DescribeSubnets の呼び出しに失敗しました ...................................................... 635エラー: ec2:DescribeSecurityGroups の呼び出しに失敗しました ............................................. 635エラー: AZ のサブネットが見つかりませんでした ................................................................ 635エラー: JDBC ターゲットへの書き込み時のジョブ実行の例外 ................................................ 635エラー: Amazon S3 タイムアウト ...................................................................................... 636エラー: Amazon S3 アクセスが拒否されました ................................................................... 636エラー: Amazon S3 アクセスキー ID が存在しません ........................................................... 636エラー: s3a:// URI を使用して Amazon S3 にアクセスするときにジョブ実行が失敗します ...... 637エラー: Amazon S3 サービストークンが有効期限切れです .................................................... 638エラー: ネットワークインターフェイスのプライベート DNS が見つかりません ........................ 638エラー: 開発エンドポイントのプロビジョニングに失敗しました ............................................. 638エラー: ノートブックサーバー CREATE_FAILED ................................................................. 639エラー: ローカルノートブックの起動に失敗する .................................................................. 639エラー: ノートブック使用エラー ....................................................................................... 639エラー: クローラの実行に失敗しました .............................................................................. 639エラー: Athena データカタログのアップグレード ................................................................. 639

    ix

  • AWS Glue 開発者ガイド

    エラー : ジョブのブックマークが有効なときにジョブがデータを再処理しています ................... 640AWS Glue のクォータ ............................................................................................................. 640

    既知の問題 ..................................................................................................................................... 641クロスジョブデータアクセスの防止 ........................................................................................... 641

    AWS Glue リリースノート ............................................................................................................... 643AWS Glue バージョン ............................................................................................................. 643

    ドキュメント履歴 ............................................................................................................................ 644以前の更新 ............................................................................................................................. 651

    AWS の用語集 ................................................................................................................................ 653

    x

  • AWS Glue 開発者ガイドAWS Glue が適している用途

    AWS Glue とはAWS Glue は、簡単でコスト効果の高い方法でデータの分類、消去、強化、およびさまざまなデータストア間を確実に移動することができる、完全マネージド型 ETL (抽出、変換、ロード) サービスです。AWSGlue は、AWS Glue データカタログ と呼ばれる中央メタデータリポジトリ、Python または Scala コードを自動的に生成する ETL エンジン、依存性の解決、ジョブのモニタリング、および再試行を処理する柔軟なスケジューラで構成されています。AWS Glue はサーバーレスであるため、セットアップまたは管理するインフラストラクチャはありません。

    AWS Glue は、半構造化データを操作するように設計されています。動的フレームと呼ばれるコンポーネントが導入され、ETL スクリプトで使用できます。動的フレームは、Apache Spark データフレームと似ていますが、各レコードが自己記述できるため、最初はスキーマは必要ありません。動的フレームを使用すると、スキーマの柔軟性と動的フレーム用に特別に設計された一連の高度な変換が得られます。動的フレームと Spark データフレーム間で変換できるため、AWS Glue と Spark の両方の変換を活用して、必要な分析を行うことができます。

    AWS Glue コンソールを使用してデータを検出、変換し、検索とクエリに使用できるようにすることができます。コンソールは、基盤となるサービスを呼び出し、データ変換に必要な作業を調整します。AWSGlue API オペレーション を使用して AWS Glue サービスとインターフェイスをとることもできます。使い慣れた開発環境を使用して Python または Scala Apache Spark ETL コードを編集、デバッグ、およびテストします。

    料金情報については、「AWS Glue の料金表」を参照してください。

    AWS Glue が適している用途AWS Glue を使用してデータウェアハウスまたはデータレイクでのストレージ用にデータを整理、最適化、検証、フォーマットできます。 AWS クラウドのデータ を変換してデータストアへ移動できます。また、通常のレポートおよび分析のために、さまざまなソースからデータウェアハウスまたはデータレイクへデータをロードできます。データをデータウェアハウスまたはデータレイクに保存することで、ビジネスのさまざまな部分の情報を統合し、意思決定のためにデータの共通ソースを提供します。

    AWS Glue により、データウェアハウスまたはデータレイクの構築の際、多くのタスクが簡素化されます。

    • データストアに関するメタデータを検出および分類し、一元的なカタログに保存します。クリックストリームやプロセスログなどの半構造化データを処理できます。

    • スケジュールされたクローラプログラムからのテーブル定義で AWS Glue データカタログ が入力されます。クローラが分類子ロジックを呼び出して、データのスキーマ、形式、データ型を推論します。このメタデータはテーブルとして AWS Glue データカタログ に保存され、ETL ジョブの認証処理に使用されます。

    • ETL スクリプトを生成し、ソースからターゲットへデータを変換、フラット化、強化を行います。• スキーマの変更を検出し、設定に基づき調整します。• スケジュールやイベントに基づいて ETL ジョブをトリガーするジョブを自動的に開始してデータをデー

    タウェアハウスまたはデータレイクに移動できます。トリガーを使用してジョブ間の依存関係を作成できます。

    • ランタイムメトリクスを収集し、データウェアハウスまたはデータレイクのアクティビティを監視します。

    • エラーと再試行を自動的に処理します。• ジョブを実行するために、必要に応じてリソースをスケーリングします。

    1

    https://aws.amazon.com/glue/pricing

  • AWS Glue 開発者ガイドAWS Glue が適している用途

    AWS Glue を使用してサーバーレスクエリを Amazon S3 データレイクに対して実行できます。 AWS Glueで Amazon Simple Storage Service (Amazon S3) のデータを分類し、Amazon Athena および AmazonRedshift Spectrum でクエリに利用できます。クローラでは、メタデータは基盤となるデータと同期し続けます。Athena および Redshift Spectrum は、AWS Glue データカタログ を使用して Amazon S3 データレイクを直接クエリできます。AWS Glue では、複数のデータサイロにロードすることなく、1 つの統一されたインターフェイスを通じてデータにアクセスし分析できます。

    AWS Glue でイベント駆動型の ETL パイプラインを作成できます。 AWS Glue ETL ジョブを AWSLambda 関数から呼び出すことで、Amazon S3 で新しいデータが使用可能になるとすぐに ETL ジョブを実行できます。また、ETL ジョブの処理の一環として、このような新しいデータセットを AWS Glue データカタログ に登録することもできます。

    AWS Glue を使用してデータアセットを理解できます。 さまざまな AWS サービスを使用してデータを保存でき、AWS Glue データカタログ を使用してデータの統一されたビューを維持できます。Data Catalogを表示して所有しているデータセットをすばやく検索および検出でき、関連するメタデータを 1 つの中央リポジトリに維持できます。また、Data Catalog は外部 Apache Hive メタストアのドロップインリプレースメントとしても機能します。

    2

  • AWS Glue 開発者ガイド独立で実行されるサーバーレス ETL ジョブ

    AWS Glue: 仕組みAWS Glue は他の AWS サービスを使用して、データウェアハウスを構築する ETL (抽出、変換、ロード)ジョブをオーケストレーションします。AWS Glue は API オペレーションを呼び出して、データの変換、ランタイムログの作成、ジョブロジックの保存、およびジョブ実行をモニタリングするのに役立つ通知の作成を行います。AWS Glue コンソールはこれらのサービスを管理アプリケーションに接続して、お客様が ETL ワークの作成とモニタリングに集中できるようにします。管理およびジョブ開発のオペレーションは、コンソールがお客様に代わって実行します。データソースへのアクセスとデータウェアハウスへの書き込みを行うために、認証情報と他のプロパティを AWS Glue に提供します。

    AWS Glue は、ワークロードを実行するために必要なリソースのプロビジョニングおよび管理を行います。AWS Glue が代わって行うため、ETL ツールのインフラストラクチャを作成する必要はありません。リソースが必要な場合、起動時間を削減するために、AWS Glue はインスタンスのウォームプールからインスタンスを使用してワークロードを実行します。

    AWS Glue では、Data Catalog にあるテーブル定義を使用してジョブを作成します。ジョブは、変換を実行するプログラミングロジックを含むスクリプトで構成されます。トリガーを使用し、スケジュールに基づいて、または指定されたイベントの結果としてジョブを開始します。ターゲットデータが存在する場所、およびターゲットに入力するソースデータを指定します。入力により、AWS Glue はデータをソースからターゲットに変換するのに必要なコードを生成します。AWS Glue コンソールまたは API でスクリプトを提供してデータを処理することもできます。

    AWS Glue は、複数の AWS リージョンで利用できます。詳細については、アマゾン ウェブ サービス全般のリファレンス の「AWS リージョンとエンドポイント」を参照してください。

    トピック• 独立で実行されるサーバーレス ETL ジョブ (p. 3)• AWS Glue の概念 (p. 4)• AWS Glue コンポーネント (p. 6)• 半構造化されたスキーマをリレーショナルスキーマに変換する (p. 8)

    独立で実行されるサーバーレス ETL ジョブAWS Glue は、Apache Spark サーバーレス環境で ETL ジョブを実行します。AWS Glue は、独自のサービスアカウントでプロビジョニングして管理する仮想リソースでこれらのジョブを実行します。

    AWS Glue は、以下を実行するよう設計されています。

    • お客様のデータを分離します。• 伝送中と保管時のお客様のデータを保護します。• 一時的な制限された認証情報を使用して、またはアカウント内の IAM ロールに対するお客様の同意を得

    て、お客様のリクエストに応え必要な時だけお客様のデータにアクセスします。

    ETL ジョブのプロビジョニング時に、Virtual Private Cloud (VPC) にある入力データソースおよび出力データターゲットを提供します。また、データソースおよびターゲットにアクセスするために必要な、IAMロール、VPC ID、サブネット ID、およびセキュリティグループを提供します。各タプル (顧客アカウントID、IAM ロール、サブネット ID、およびセキュリティグループ) に、AWS Glue は、AWS Glue サービスアカウント内の他のすべての Spark 環境からネットワークおよび管理レベルで分離された新しい Spark 環境を作成します。

    3

    https://docs.aws.amazon.com/general/latest/gr/rande.html

  • AWS Glue 開発者ガイド概念

    AWS Glue はプライベート IP アドレスを使用して、サブネットで Elastic Network Interface を作成します。Spark ジョブはこれらの Elastic Network Interface を使用して、データソースおよびデータターゲットにアクセスします。Spark 環境内外への、また Spark 環境内でのトラフィックは、VPC およびネットワークポリシーにより管理されます。ただし、1 つ例外があり、AWS Glue ライブラリに対する呼び出しは、AWS Glue VPC 経由で AWS Glue API オペレーションにトラフィックをプロキシできます。すべてのAWS Glue API 呼び出しはログに記録されます。そのため、データの所有者は、監査ログをアカウントに配信する AWS CloudTrail を有効にすることで API アクセスを監査できます。

    ETL ジョブを実行する AWS Glue 管理の Spark 環境は、他の AWS サービスが従う同じセキュリティ実施方法で保護されています。それらの実施方法は、AWS のセキュリティプロセスの紹介ホワイトペーパーの「AWS アクセス」セクションを参照してください。

    AWS Glue の概念次の図は、AWS Glue 環境のアーキテクチャを示します。

    AWS Glue でジョブを指定し、データソースからデータターゲットへのデータの抽出、変換、およびロード (ETL) に必要な作業を完了します。通常は、以下のアクションを実行します。

    • クローラを指定し、AWS Glue データカタログ にメタデータテーブルの定義を入力します。データストアでクローラを指定し、クローラは Data Catalog のテーブル定義を作成します。

    テーブル定義に加えて、AWS Glue データカタログ には ETL ジョブを定義するために必要な他のメタデータが含まれています。このメタデータを使用して、データを変換するジョブを定義できます。

    • AWS Glue はデータを変換するスクリプトを生成できます。または、AWS Glue コンソールまたは APIでスクリプトを提供できます。

    4

    https://docs.aws.amazon.com/awscloudtrail/latest/userguide/https://d1.awsstatic.com/whitepapers/Security/Intro_Security_Practices.pdf

  • AWS Glue 開発者ガイドAWS Glue の用語

    • ジョブをオンデマンドで実行する、または、指定したトリガーが発生すると開始するようにセットアップできます。トリガーは、時間ベースのスケジュールまたはイベントです。

    ジョブが実行されると、スクリプトはデータソースからデータを抽出し、データを変換してデータターゲットにロードします。スクリプトは AWS Glue の Apache Spark 環境で実行されます。

    Important

    AWS Glue のテーブルとデータベースは、AWS Glue データカタログ のオブジェクトです。それらにはメタデータが含まれ、データストアからのデータは含まれません。

    正常に処理するために、CSV などのテキストベースのデータは AWS Glue では UTF-8 でエンコードする必要があります。詳細については、Wikipedia の「UTF-8」を参照してください。

    AWS Glue の用語AWS Glue は、複数のコンポーネントの相互作用に依存して抽出、変換、ロード (ETL) ワークフローを作成および管理しています。

    AWS Glue データカタログAWS Glue の持続的なメタデータストア。各 AWS アカウントには 1 つ AWS Glue データカタログ があります。これには、AWS Glue 環境を管理するためのテーブル定義、ジョブ定義、およびその他の制御情報が含まれています。

    分類子データのスキーマを決定します。AWS Glue は、一般的なファイルタイプの分類子を提供します(CSV、JSON、AVRO、XML など)。また、JDBC 接続を使用する一般的なリレーショナルデータベース管理システムの分類子を提供します。独自の分類子を記述するには、 grok パターンを使用する、または、XML ドキュメント内の行タグを指定します。

    Connectionデータストアに接続するのに必要なプロパティが含まれています。

    クローラデータストア (ソースまたはターゲット) に接続し、分類子の優先順位リストを進行してデータのスキーマを判断し、AWS Glue データカタログ にメタデータテーブルを作成するプログラムです。

    データベースAWS Glue の論理グループに分類される、一連の関連付けられたテーブル定義です。

    データストア、データソース、データターゲットデータストア は、データを永続的に保存するリポジトリです。例として、Amazon S3 バケット、リレーショナルデータベースなどがあります。データソースは、プロセスまたはトランスフォームへの入力として使用されるデータストアです。データターゲットはプロセスまたはトランスフォームの書込み先であるデータストアです。

    5

    https://en.wikipedia.org/wiki/UTF-8

  • AWS Glue 開発者ガイドコンポーネント

    開発エンドポイントエンドポイントは、AWS Glue スクリプトの開発およびテストに使用できる環境です。

    動的フレーム構造や配列などのネストされたデータをサポートする分散テーブルです。各レコードは自己記述型であり、半構造化データのスキーマの柔軟性を持つよう設計されています。各レコードには、データとそのデータを記述するスキーマの両方が含まれます。動的フレームと Apache Spark データフレームの両方をETL スクリプトで使用し、それらの間で変換できます。動的フレームは、データクリーニングと ETL 用の一連の高度な変換を提供します。

    ジョブETL 作業を実行するために必要なビジネスロジックです。変換スクリプト、データソース、およびデータターゲットで構成されます。ジョブ実行は、スケジュールされたトリガーにより、または、イベントにトリガーされることで開始されます。

    ノートブックサーバーPySpark ステートメントを実行するために使用できるウェブベースの環境。詳細については、「ApacheZeppelin」を参照してください。開発エンドポイントにノートブックサーバーをセットアップして、PySpark ステートメントを AWS Glue 拡張機能で実行できます。

    Scriptソースからデータを抽出し、変換し、ターゲットにロードするコード。AWS Glue は PySpark またはScala スクリプトを生成します。PySpark は ETL プログラミングの Python ダイアレクトです。

    テーブルデータを表すメタデータ定義。データが、Amazon Simple Storage Service (Amazon S3) ファイル、Amazon Relational Database Service (Amazon RDS) テーブル、または別の一連のデータのどこにあるとしても、テーブルはデータのスキーマを定義します。AWS Glue データカタログ のテーブルは、列名、データ型の定義、および基本データセットに関するその他のメタデータで構成されています。データのスキーマは AWS Glue のテーブル定義で表されます。実際のデータは、ファイルまたはリレーショナルデータベーステーブルにあっても、元のデータストアに残ります。AWS Glue はファイルとリレーショナルデータベースのテーブルを AWS Glue データカタログ に格納します。それらは、ETL ジョブを作成する際にソースおよびターゲットとして使用されます。

    トランスフォームデータを操作して別の形式にするために使用するコードのロジック。

    TriggerETL ジョブを開始します。トリガーはスケジュールされた時間またはイベントに基いて定義できます。

    AWS Glue コンポーネントAWS Glue は、抽出、変換、ロード (ETL) ワークロードを設定し管理するためのコンソールと API オペレーションを備えています。いくつかの言語に固有な SDK と AWS Command Line Interface (AWS

    6

    http://zeppelin.apache.org/http://zeppelin.apache.org/

  • AWS Glue 開発者ガイドAWS Glue コンソール

    CLI) を介して API オペレーションを使用できます。AWS CLI の使用については、『AWS CLI CommandReference』を参照してください。

    AWS Glue は AWS Glue データカタログ を使用して、データソース、変換、およびターゲットについてのメタデータを保存します。Data Catalog は Apache Hive メタストアのドロップインリプレースメントです。AWS Glue Jobs system は、データの ETL オペレーションの定義、スケジューリング、および実行のためのマネージド型インフラストラクチャを備えています。AWS Glue API の詳細については、「AWSGlue API (p. 464)」を参照してください。

    AWS Glue コンソールAWS Glue コンソールを使用して、ETL ワークフローを定義しオーケストレーションします。コンソールは AWS Glue データカタログ および AWS Glue Jobs system のいくつかの API オペレーションを呼び出して、次のタスクを実行します。

    • ジョブ、テーブル、クローラ、接続などの AWS Glue オブジェクトを定義します。• いつクローラが実行するかをスケジュールします。• ジョブトリガーのイベントやスケジュールを定義します。• AWS Glue オブジェクトのリストを検索しフィルタリングします。• 変換スクリプトを編集します。

    AWS Glue データカタログAWS Glue データカタログ は永続的なメタデータストアです。Apache Hive メタストアで行うのと同じように AWS クラウド上でメタデータの保存、注釈付け、および共有ができるマネージド型サービスです。

    各 AWS アカウントには、AWS リージョンごとに 1 つの AWS Glue データカタログ があります。これは均一なリポジトリを備えており、異種システムがデータサイロのデータを追跡するためにメタデータを見つけて保存することができます。また、そのメタデータを使用してデータのクエリや変換を行うことができます。

    AWS Identity and Access Management (IAM) ポリシーを使用して、AWS Glue データカタログ で管理されるデータソースへのアクセスを制御できます。これらのポリシーを使用することで、社内の異なるグループが、機密情報は保護しつつ、より広範な組織にデータを安全に発行できます。IAM ポリシーにより、場所に関係なく、どのユーザーがどのデータへのアクセス権を持つかを明確にかつ一貫性を持って定義できます。

    AWS Glue データカタログ を使用する方法については、「AWS Glue データカタログ の入力 (p. 109)」を参照してください。Data Catalog API を使用してプログラミングする方法については、「CatalogAPI (p. 479)」を参照してください。

    その他の AWS のサービスおよびオープンソースプロジェクトは AWS Glue データカタログ を使用できます。

    • Amazon Athena – 詳細については、『Amazon Athena ユーザーガイド』の「テーブル、データベース、およびデータカタログについて」を参照してください。

    • Amazon Redshift Spectrum – 詳細については、『Amazon Redshift Database Developer Guide』の「Amazon Redshift Spectrum を使用して外部データにクエリを実行する」を参照してください。

    • Amazon EMR – 詳細については、『Amazon EMR 管理ガイド』の「Amazon EMR による AWS Glueデータカタログへのアクセスにリソースベースのポリシーを使用する」を参照してください。

    • AWS Glue データカタログ Apache Hive メタストア用クライアント – この GitHub プロジェクトの詳細については、「Apache Hive メタストア用 AWS Glue データカタログクライアント」を参照してください。

    7

    https://docs.aws.amazon.com/cli/latest/reference/https://docs.aws.amazon.com/cli/latest/reference/https://docs.aws.amazon.com/athena/latest/ug/understanding-tables-databases-and-the-data-catalog.htmlhttps://docs.aws.amazon.com/athena/latest/ug/understanding-tables-databases-and-the-data-catalog.htmlhttps://docs.aws.amazon.com/redshift/latest/dg/c-using-spectrum.htmlhttps://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles-glue.htmlhttps://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles-glue.htmlhttps://github.com/awslabs/aws-glue-data-catalog-client-for-apache-hive-metastore

  • AWS Glue 開発者ガイドAWS Glue クローラおよび分類子

    AWS Glue クローラおよび分類子AWS Glue では、あらゆる種類のリポジトリにあるデータのスキャン、分類、スキーマ情報の抽出、そのメタデータの AWS Glue データカタログ への自動保存ができるクローラを設定することもできます。そこから ETL オペレーションをガイドするのに使用できます。

    クローラおよび分類子の設定方法については、「クローラの定義 (p. 121)」を参照してください。AWSGlue API を使用してクローラおよび分類子をログラミングする方法については、「クローラおよび分類子API (p. 522)」を参照してください。

    AWS Glue ETL オペレーションAWS Glue は、Data Catalog のメタデータを使用して、さまざまな ETL オペレーションを実行するために使用や変更ができる AWS Glue 拡張機能を備えた、Scala または PySpark (Apache Spark 用の PythonAPI) スクリプトを自動生成できます。たとえば、未加工データを抽出、クリーンアップ、および変換してからその結果を別のリポジトリに保存して、クエリと分析を行うことができます。このようなスクリプトは、CSV ファイルをリレーショナル形式に変換し、Amazon Redshift に保存する場合があります。

    AWS Glue ETL 機能の使用方法の詳細については、「ETL スクリプトのプログラミング (p. 302)」を参照してください。

    AWS Glue ジョブシステムAWS Glue Jobs system は、ETL ワークフローをオーケストレーションするためのマネージド型インフラストラクチャを提供します。データを抽出したり変換したり異なる場所へ転送したりするのに使用するスクリプトを自動化するジョブを AWS Glue で作成できます。ジョブはスケジュールしたり連鎖させることができます。または新しいデータの到着などのイベントによってトリガーすることができます。

    AWS Glue Jobs system の使用方法の詳細については、「AWS Glue の実行とモニタリング (p. 229)」を参照してください。AWS Glue Jobs system API を使用したプログラミングについては、「ジョブAPI (p. 549)」を参照してください。

    半構造化されたスキーマをリレーショナルスキーマに変換する

    半構造化データをリレーショナルテーブルに変換することが一般的です。概念的には、階層的なスキーマをリレーショナルスキーマに平坦化します。AWS Glue は、この変換を臨機応変に実行できます。

    通常、半構造化されたデータには、データ内のエンティティを識別するためのマークアップが含まれています。固定されたスキーマのない、ネスト化されたデータ構造を持つことができます。半構造化データの詳細については、Wikipedia の 半構造化データ を参照してください。

    リレーショナルデータは、行と列で構成されるテーブルで表されます。テーブル間の関係は、プライマリキー (PK) と外部キー (FK) の関係によって表すことができます。詳細については、Wikipedia の リレーショナルデータベース を参照してください。

    AWS Glue は、クローラを使用して半構造化データのスキーマを推測します。次に、ETL (抽出、変換、およびロード) ジョブを使用してデータをリレーショナルスキーマに変換します。たとえば、Amazon SimpleStorage Service (Amazon S3) ソースファイルから Amazon Relational Database Service (Amazon RDS)テーブルに JSON データを解析できます。AWS Glue がスキーマの違いを処理する方法を理解すると、変換プロセスを理解するうえで役立ちます。

    この図は、AWS Glue が半構造化スキーマをリレーショナルスキーマに変換する方法を示しています。

    8

    https://en.wikipedia.org/wiki/Semi-structured_datahttps://en.wikipedia.org/wiki/Relational_databasehttps://en.wikipedia.org/wiki/Relational_database

  • AWS Glue 開発者ガイド半構造化されたスキーマをリ

    レーショナルスキーマに変換する

    図は、以下を示しています。

    • 単一の値 A は、直接リレーショナル列に変換されます。• 値のペアである B1 および B2 は、2 つのリレーショナル列に変換されます。• 子の X と Y を持つ C 構造は、2 つのリレーショナル列に変換されます。• 配列 D[] は、別のリレーショナルテーブルを指す外部キー (FK) 列のリレーショナル列に変換されま

    す。2 番目のリレーショナルテーブルには、プライマリキー (PK) に加えて、オフセットと配列の項目の値を含む列があります。

    9

  • AWS Glue 開発者ガイドAWS Glue の IAM アクセス許可のセットアップ

    AWS Glue の使用開始次のセクションでは、概要を説明し、AWS Glue のセットアップと使用の手順を示します。AWS Glue の概念およびコンポーネントについては、AWS Glue: 仕組み (p. 3) を参照してください。

    トピック• AWS Glue の IAM アクセス許可のセットアップ (p. 10)• VPC での DNS のセットアップ (p. 30)• データストアにアクセスするための環境のセットアップ (p. 31)• 開発エンドポイント用の環境の設定 (p. 36)• AWS Glue での暗号化のセットアップ (p. 38)• AWS Glue コンソールのワークフローの概要 (p. 40)

    AWS Glue の IAM アクセス許可のセットアップAWS Identity and Access Management (IAM) を使用して、AWS Glue によって使用されるリソースにアクセスするために必要なポリシーとロールを定義します。次の手順では、環境を設定するために必要な基本的なアクセス許可について説明します。ビジネスニーズに応じて、リソースへのアクセスを追加または削減できます。

    1. AWS Glue サービスの IAM ポリシーを作成する (p. 10)。AWS Glue リソースへのアクセスを許可するサービスポリシーを作成します。

    2. AWS Glue の IAM ロールを作成する (p. 14)。IAM ロールを作成し、AWS Glue サービスポリシーとAWS Glue で使用される Amazon Simple Storage Service (Amazon S3) リソース用のポリシーをアタッチします。

    3. AWS Glue にアクセスする IAM ユーザーにポリシーをアタッチする (p. 15)。AWS Glue コンソールにサインインする IAM ユーザーにポリシーをアタッチします。

    4. ノートブックの IAM ポリシーを作成する (p. 23)。開発エンドポイント上のノートブックサーバーの作成に使用するノートブックサーバーポリシーを作成します。

    5. ノートブックの IAM ロールを作成する (p. 26)。IAM ロールを作成し、ノートブックサーバーポリシーを添付します。

    6. Amazon SageMaker ノートブックの IAM ポリシーを作成する。 (p. 27)IAM ポリシーを作成して、開発エンドポイント上に Amazon SageMaker ノートブックを作成するときに使用します。

    7. Amazon SageMaker ノートブック用の IAM ロールを作成する。 (p. 29)IAM ロールを作成して、開発エンドポイント上に Amazon SageMaker ノートブックを作成するときにアクセス許可を付与するためにポリシーをアタッチします。

    ステップ 1: AWS Glue サービスの IAM ポリシーを作成します。Amazon S3 のオブジェクトにアクセスするなど、別の AWS リソース上のデータにアクセスするオペレーションの場合、AWS Glue には、ユーザーの代わりにリソースにアクセスするためのアクセス許可が必要です。AWS Identity and Access Management (IAM) を使用してアクセス権限を提供できます。

    Note

    AWS 管理ポリシー AWSGlueServiceRole を使用する場合は、このステップをスキップできます。

    10

  • AWS Glue 開発者ガイドステップ 1: AWS Glue サービスの IAM ポリシーを作成します。

    このステップでは、AWSGlueServiceRole に似たポリシーを作成します。AWSGlueServiceRole の最新バージョンは IAM コンソールにあります。

    AWS Glue の IAM ポリシーを作成するには

    このポリシーは、AWS Glue がこのポリシーを使用してロールを引き受ける際に必要となるアカウント内のリソースを管理する Amazon S3 アクションの一部を許可します。このポリシーで指定されているリソースの中には、Amazon S3 バケット、Amazon S3 ETL スクリプト、CloudWatch Logs、およびAmazon EC2 リソース用の AWS Glue で使用されるデフォルトの名前があります。分かりやすいように、AWS Glue はデフォルトで aws-glue-* のプレフィックスが付いた Amazon S3 オブジェクトをアカウント内のバケットに書き込みます。

    1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。