AWSGlueインタラクティブセッション エンジニアは、インタラクティブなノートブックでデータ準備と分析のワークロードを構築、テスト、実行できます。 インタラクティブなセッションは、分離された開発環境を提供し、基盤となるコンピューティング クラスターを処理し、リソースのアイドリングを停止する構成を可能にします。
Glue インタラクティブ セッションでは、デフォルトの推奨構成が提供され、ユーザーは次のことも可能になります。 セッションをカスタマイズする 彼らのニーズを満たすために。 たとえば、より多くのワーカーをプロビジョニングして、より大きなデータセットで実験したり、長時間実行されるワークロードのアイドル タイムアウトを設定したりできます。 ワークロードに応じてこれらのオプションを柔軟に変更できるため、オプションが特定の境界内で変更されていることを確認し、制御メカニズムを適用する必要がある場合があります。
この投稿では、 再利用可能なソリューション AWS Glue のインタラクティブセッション制限を XNUMX つのオプション (接続、ワーカー数、最大アイドル時間) に適用します。 最初のオプションは、対話型セッションが VPC 内でのみ実行されるように強制するなど、トラフィックにカスタム検査と制御を適用する必要性に対処します。 他の XNUMX つは、コストと使用量に制限を適用します。 AWSグルー セッションごとのワーカー数とアイドル時間の上限を強制することで、リソースを削減します。 AWS Glue 内の他のプロパティやサービス向けにソリューションをさらに拡張できます。
ソリューションの概要
提案されたアーキテクチャはサーバーレスコンポーネント上に構築されており、新しい AWS Glue インタラクティブセッションが作成されるたびに実行されます。
ワークフローの手順は次のとおりです。
- データエンジニアは、次のいずれかの方法で新しい AWS Glue インタラクティブセッションを作成します。 AWSマネジメントコンソール またはローカルの Jupyter ノートブックで。
- インタラクティブなセッションにより新しいイベントが生成され、 AWS クラウドトレイル
CreateSession
イベントには、セッションが開始されるとすぐにセッションを識別して検査するためのすべての関連情報が含まれます。 - An アマゾンイベントブリッジ ルールは CloudTrail イベントをフィルタリングし、 AWSラムダ を検査する機能
CreateSession
イベント。 - Lambda 関数は以下を検査します。
CreateSession
イベントを検出し、定義されたすべての境界条件をチェックします。 現在、このソリューションで構成できる境界は、ワーカーの最大数、分単位のアイドル タイムアウト、接続が強制された展開に制限されています。 - 定義された境界条件のいずれかが満たされない場合、たとえば、セッションにプロビジョニングされたワーカーが多すぎる場合、指定された構成に応じて、関数は対話型セッションを直ちに終了し、次の方法で電子メールを送信します。 Amazon シンプル通知サービス (アマゾンSNS)。 セッションがまだ開始されていない場合、関数はセッションが開始されるまで待機してからアクションを実行します。
- セッションが停止された場合は、電子メールが SNS トピックに送信されます。 インタラクティブ セッション ノートブックには、セッション終了の理由に関する情報はありません。 したがって、追加のコンテキスト情報が SNS トピックを通じてデータ エンジニアに提供されます。
- 関数が失敗した場合、セッションは デッドレターキュー 内部 Amazon シンプル キュー サービス (Amazon SQS)。 さらに、キューは監視されており、メッセージの場合は、 アマゾンクラウドウォッチ アラーム。
次の手順では、ソリューションを構築してデプロイする方法について説明します。 コードは次の場所で入手できます。 GitHubレポ.
前提条件
このチュートリアルでは、次の前提条件を満たしている必要があります。
デプロイされたリソースの概要
必要なリソースはすべて AWS CloudFormation ファイルは以下にあります cfn/template.yaml
。 これらのリソースをデプロイするには、次を使用します。 AWSサーバーレスアプリケーションモデル (AWS SAM)。これにより、すべての依存関係を簡単に構築およびパッケージ化できるようになり、AWS CloudFormation のステップも管理されます。
CloudFormation スタックは次のリソースをデプロイします。
- Lambda 関数とそのライブラリ。どちらも src/functions ディレクトリで定義されています。 機能とはコントロールのことです。 定義された制限内でセッションが開始されたことが検証されます。
- EventBridge ルール。 このイベントは CloudTrail をリッスンし、新しい対話型セッションの場合、コントロール Lambda 関数をトリガーします。
- Lambda 関数にアタッチされた SQS 配信不能キュー (DLQ)。 これにより、Lambda 関数の失敗をトリガーしたイベントの記録が保持されます。
- Lambda 関数の失敗と DLQ 内のメッセージを監視する XNUMX つの CloudWatch アラーム。
電子メールによる通知が有効になっている場合、さらに XNUMX つのリソースがデプロイされます。
さらに、AWS CloudFormation は必要なすべてのコンポーネントをデプロイします。 AWS IDおよびアクセス管理 (IAM) の役割とポリシー、および AWSキー管理サービス (AWS KMS) キーを使用して、交換されるデータが確実に暗号化されるようにします。
ソリューションを展開する
ユーザーのローカル環境のセットアップなど、展開ライフサイクルを容易にするために、必要なすべての手順を記述した Makefile が提供されています。 AWS 認証情報が更新されていて、アカウントにアクセスできることを確認してください。 詳細については、以下を参照してください。 構成と認証情報ファイルの設定.
- Makefile を調べ、必要に応じて変数の値を変更してリージョンとスタック名を調整します。
AWS_REGION
およびSTACK_NAME
. - 作成セッションプロセスで
KILL_SESSION = "True"
境界外に検出された対話型セッションをすぐに停止したい場合。 許可される値は True または False です。 デフォルトは True です。 - 作成セッションプロセスで
NOTIFICATION_EMAIL_ADDRESS = <your.email@provider.com>
セクションにMakefile
セッションが境界外に見つかったときに通知を受け取りたい場合。 - コントロールの値を設定します。
ENFORCE_VPC_CONNECTION
VPC 内で実行されていないセッションを停止します (true または false)。MAX_WORKERS
セッションのワーカーの最大数を設定します (数値)。MAX_IDLE_TIMEOUT_MINUTES
セッションの最大アイドル時間を分単位で定義します (数値)。
- すべての前提条件ライブラリをインストールします。
これらは、このリポジトリ内のディレクトリに新しく作成された Python 仮想環境の下にインストールされます。
.venv
. - 新しいスタックをデプロイします。
このコマンドは次のタスクを完了します。
- 前提条件が満たされているかどうかを確認します。
- 実行する
pytest unittest
Python ファイルについて。 - CloudFormation テンプレートを検証します。
- アーティファクト (Lambda 関数と Lambda レイヤー) を構築します。
- AWS SAM 経由でリソースをデプロイします。
ソリューションをテストする
参照する Jupyter の AWS Glue インタラクティブ セッションの紹介 インタラクティブセッションの実行については、「」を参照してください。 投稿の指示に従った場合 (セクションを参照) 最初のコードセルを実行し、AWS Glue ノートブックを作成します)、対話型セッションの初期化は次のようなエラーで失敗するはずです。
セル内のコードの例:
受信した出力:
電子メール機能を有効にしている場合は、電子メール通知も受け取る必要があります。
AWS Glue コンソールで、セッション ID がリストされていないことを確認することもできます。
クリーンアップ
次のコマンドを実行して、デプロイされたリソースをクリーンアップします。
リソースは推奨される投稿に従ってデプロイされることに注意してください。 Jupyter の AWS Glue インタラクティブ セッションの紹介は、前のコマンドでは削除されません。
制限事項
EventBridge への CloudTrail イベントの配信保証はベストエフォートです。 これは、CloudTrail がすべてのイベントを EventBridge に配信しようとすることを意味しますが、まれにイベントが配信されない可能性があります。 詳細については、以下を参照してください。 AWSサービスからのイベント.
まとめ
この投稿では、ワーカー数、アイドルタイムアウト、および AWS Glue 接続に制約を適用するために、AWS Glue インタラクティブセッションに境界条件を適用するソリューションを構築、デプロイ、テストする方法について説明しました。
このソリューションをニーズに基づいて調整し、さらに拡張して他のオプションを制御できるようにすることができます。
AWS Glue インタラクティブセッションの使用方法の詳細については、を参照してください。 Jupyter の AWS Glue インタラクティブ セッションの紹介 および AWSGlueインタラクティブセッションを使用してPyCharmでAWSGlueジョブを作成する.
著者について
ニコラス・ジェイコブ・ベア スイスを拠点とする、データエンジニアリングと機械学習に重点を置いたシニアクラウドアプリケーションアーキテクトです。 彼は企業の顧客と緊密に協力して、データプラットフォームを設計し、高度な分析/mlのユースケースを構築しています。
ルカ・マッツァフェロ アマゾン ウェブ サービスのシニア DevOps アーキテクトです。 彼は、インフラストラクチャが自動化され、再現可能で、安全であることを好みます。 自由時間には、料理、特にピザが好きです。
張克蒙 スイスに拠点を置く、機械学習と UX に重点を置くクラウド アプリケーション アーキテクトです。 彼女は顧客と緊密に連携してユーザー エクスペリエンスを設計し、高度な分析/ML ユースケースを構築しています。
マーク・ウォルザーアマゾン ウェブ サービスのシニア グローバル データ アーキテクトである彼は、顧客と協力してビジネス上の問題を解決し、AWS サービスの導入を加速する革新的なビッグデータ ソリューションを開発しています。 仕事以外では、ランニング、水泳、その他テクノロジーに関連するあらゆることに喜びを感じています。
ガル・ハイネ は、カリフォルニアを拠点とする AWS Glue のプロダクト マネージャーであり、AI/ML、データ エンジニアリング、BI に重点を置いています。 彼女は、顧客のビジネス ニーズを深く理解し、エンジニアと協力して使いやすいデータ製品を設計することに情熱を注いでいます。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- PlatoData.Network 垂直生成 Ai。 自分自身に力を与えましょう。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- プラトンESG。 自動車/EV、 カーボン、 クリーンテック、 エネルギー、 環境、 太陽、 廃棄物管理。 こちらからアクセスしてください。
- ブロックオフセット。 環境オフセット所有権の近代化。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/big-data/enforce-boundaries-on-aws-glue-interactive-sessions/
- :持っている
- :は
- :not
- $UP
- 1
- 10
- 100
- 7
- a
- 私たちについて
- アクセス
- Action
- 適応する
- NEW
- アドレス
- 養子縁組
- 高度な
- AI / ML
- アラーム
- すべて
- 許す
- 許可されて
- ことができます
- また
- Amazon
- Amazon Webサービス
- an
- 分析論
- および
- どれか
- 申し込み
- 申し込む
- 適用
- 建築
- です
- 引数
- AS
- At
- 著者
- 自動化
- 利用できます
- AWS
- AWS CloudFormation
- AWSグルー
- ベース
- BE
- き
- BEST
- ビッグ
- ビッグデータ
- ブログ
- 両言語で
- 境界
- ビルド
- 内蔵
- ビジネス
- 焙煎が極度に未発達や過発達のコーヒーにて、クロロゲン酸の味わいへの影響は強くなり、金属を思わせる味わいと乾いたマウスフィールを感じさせます。
- by
- カリフォルニア州
- 呼び出し
- 缶
- これ
- 場合
- 例
- セル
- 変化する
- 変更
- チェック
- 小切手
- 密接に
- クラウド
- クラスタ
- コード
- 協業
- コンプリート
- コンポーネント
- 計算
- 条件
- 接続
- 領事
- 制約
- コンテキスト
- コントロール
- controls
- コスト
- 作ります
- 作成した
- 作成します。
- クレデンシャル
- Credentials
- 現在
- カスタム
- Customers
- データ
- データエンジニア
- データの準備
- 深いです
- デフォルト
- 定義済みの
- 配信する
- 配信
- 配達
- によっては
- 展開します
- 展開
- 展開する
- 展開
- 配備する
- 記載された
- 設計
- 開発する
- 開発
- 開発
- DevOps
- 簡単に
- 努力
- どちら
- 使用可能
- 可能
- では使用できません
- 終了
- 強制します
- 施行
- エンジニア
- エンジニアリング
- エンジニア
- 確保
- Enterprise
- 企業顧客
- 環境
- 環境
- エラー
- 特に
- エーテル(ETH)
- イベント
- イベント
- 例
- 例外
- 交換した
- エクスペリエンス
- 実験
- 伸ばす
- 容易にする
- フェイル
- 失敗
- 不良解析
- false
- 特徴
- File
- フィルター
- 発見
- 名
- 柔軟性
- フォーカス
- フォロー中
- 次
- 発見
- 無料版
- から
- function
- さらに
- さらに
- GAL
- 取得する
- グローバル
- 保証
- 持ってる
- he
- 彼の
- 認定条件
- How To
- HTML
- HTTP
- HTTPS
- IAM
- ID
- 識別する
- アイデンティティ
- アイドル
- if
- 直ちに
- import
- in
- 含めて
- 情報
- インフラ
- 開始
- 革新的な
- 内部
- 説明書
- 相互作用的
- に
- 呼び出す
- 分離された
- IT
- ITS
- ジョブ
- Jobs > Create New Job
- JPG
- ジュピターノート
- キー
- より大きい
- 層
- LEARN
- 学習
- ライブラリ
- 図書館
- wifecycwe
- 好き
- 限定的
- 制限
- リストされた
- ローカル
- 局部的に
- 位置して
- ログインして
- 機械
- 機械学習
- make
- 管理
- マネージャー
- 管理する
- 多くの
- 五月..
- 手段
- メカニズム
- 大会
- メッセージ
- メッセージ
- 会った
- かもしれない
- 分
- 監視対象
- モニタリング
- 他には?
- 名
- 必要
- 必要
- 必要とされる
- ニーズ
- 新作
- 新しく
- いいえ
- ノート
- 通知
- 数
- 発生した
- of
- on
- の
- 操作
- オプション
- オプション
- or
- 注文
- その他
- でる
- 出力
- 外側
- パッケージ
- 情熱的な
- 以下のために
- ピザ
- プラットフォーム
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- 喜び
- ポリシー
- ポスト
- 準備
- 前提条件
- 現在
- 前
- 問題
- プロセス
- 生産する
- プロダクト
- プロダクトマネージャー
- 製品
- プロパティ
- 提案された
- 提供します
- 提供
- は、大阪で
- 準備
- Python
- 珍しい
- 準備
- 理由
- 推奨される
- 記録
- 地域
- 関連する
- 関連した
- 削除済み
- 新たな
- 倉庫
- リソース
- 役割
- ルール
- ラン
- ランニング
- runs
- サム
- セクション
- セキュア
- 送る
- シニア
- 送信
- サーバレス
- サービス
- セッション
- セッション
- セッションに
- 彼女
- すべき
- 同様の
- 簡単な拡張で
- 溶液
- ソリューション
- 解決する
- 一部
- すぐに
- スパーク
- 特定の
- スピード
- スタック
- start
- 開始
- ステートメント
- Status:
- ステップ
- Force Stop
- 停止
- 強い
- 確か
- 水泳
- スイス
- 取る
- 取得
- タスク
- テクノロジー
- template
- test
- それ
- アプリ環境に合わせて
- そこ。
- したがって、
- ボーマン
- 物事
- この
- それらの
- 三
- 介して
- 時間
- 〜へ
- あまりに
- トピック
- トラフィック
- トランスフォーム
- トリガー
- トリガ
- true
- 2
- type
- 下
- 根本的な
- 理解する
- us
- 使用法
- つかいます
- ユースケース
- ユーザー
- users
- ux
- 検証
- 価値観
- 、
- バーチャル
- wait
- 待っています
- ウォークスルー
- 欲しいです
- ました
- we
- ウェブ
- Webサービス
- いつ
- たびに
- which
- while
- 意志
- 以内
- 仕事
- ワーカー
- 労働者
- ワークフロー
- 作品
- まだ
- 貴社
- あなたの
- ゼファーネット