connecting-to-data-source
Oracle、SQL Server、PostgreSQL、MySQL、RDS、Redshift、Snowflake、BigQuery などのデータソースに対するAWS Glue接続の作成・トラブルシューティングを行います。ユーザーから接続情報を収集し、既存の接続やRDS/Redshiftの候補を検出して、Secrets ManagerまたはIAM DB認証での認証情報登録、VPC設定、接続テストまで対応します。データ移行・テーブル作成・クエリ実行・カタログ探索・SaaS連携(Salesforce、SAP、MongoDB等)には使用しないでください。
description の原文を見る
>- Create and troubleshoot AWS Glue connections to JDBC databases (Oracle, SQL Server, PostgreSQL, MySQL, RDS), Redshift, Snowflake, and BigQuery. Gathers connection hints from user, discovers existing connections and RDS/Redshift candidates, registers credentials in Secrets Manager or IAM DB auth, configures VPC, and tests. Triggers on: connect to database, set up Glue connection, register data source, connect to Snowflake/BigQuery/RDS, connection timeout, test connection, troubleshoot connection. Do NOT use for moving data (use ingesting-into-data-lake), creating tables (use creating-data-lake-table), queries (use querying-data-lake), catalog exploration (use exploring-data-catalog), or SaaS (Salesforce, ServiceNow, SAP, MongoDB, Kafka).
SKILL.md 本文
データソースへの接続
AWS Glue にエクスタナルデータソースを登録して、ダウンストリームスキル (ingesting-into-data-lake) がそこからデータを移動できるようにします。Glue接続は、1つのソースに対するネットワーク設定、ドライバ、認証情報参照を保存します。ソースごとに1回作成し、複数のジョブで再利用します。
哲学
接続はパイプラインではなく、名前付きパイプです。 このスキルはテスト済みで再利用可能な Glue 接続を作成します。データは移動させません。
一般的なタスク
AWS MCP サーバーツールが利用可能な場合は、必ずそれを使用してコマンドを実行してください。検証、サンドボックス実行、監査ログを提供します。MCP が利用できない場合のみ AWS CLI にフォールバックしてください。実行前に各ステップを説明しなければなりません。
ワークフロー
1. 依存関係とコンテキストを確認
- AWS MCP ツールまたは AWS CLI が利用可能かどうか確認し、不在の場合はユーザーに知らせる必要があります
- ターゲット AWS リージョンを確認し、
aws sts get-caller-identityで認証情報を検証する必要があります
2. ソースを分類
ユーザーに接続したいソースタイプを尋ねるか、ヒントから推測します:
| ユーザーが言うこと | ソースタイプ | 接続タイプ | 参照 |
|---|---|---|---|
| 「Oracle」「SQL Server」「Postgres」「MySQL」「RDS <エンジン>」 | JDBCデータベース | JDBC | jdbc-setup.md |
| 「Redshift」「マイクラスタ」「AWS上のデータウェアハウス」 | Redshift | JDBC | jdbc-setup.md (Redshift セクション) |
| 「Snowflake」 | Snowflake | SNOWFLAKE | snowflake-setup.md |
| 「BigQuery」「Google Analytics ウェアハウス」 | BigQuery | BIGQUERY | bigquery-setup.md |
ユーザーが DynamoDB またはローカルファイルを名前に挙げた場合、停止してこう伝えてください: DynamoDB は接続なしで Glue が直接読み込み、ローカルファイルは ingesting-into-data-lake スキルのローカルアップロードワークフローに属しています。
3. ユーザーから接続ヒントを収集
ユーザーが提供できるヒントを尋ねなければなりません。推測してはいけません。
すべてのソース:
- 希望する接続名 (小文字、ハイフン:
oracle-prod-sales,snowflake-analytics) - 既存の Secrets Manager シークレット、または新規作成するか
- ソースが Glue VPC から到達可能か (同じ、ピア、VPN、Direct Connect)
JDBC: ホスト名/エンドポイント、ポート、データベース、RDS/Aurora/自己管理かどうか、IAM DB 認証が有効か (Aurora/RDS MySQL/Postgres)、SSL が必須かどうか。
Snowflake: アカウント識別子、ウェアハウス、ロール、デフォルトデータベース、認証 (パスワード、キーペア、OAuth)。
BigQuery: GCP プロジェクト ID、ロケーション、サービスアカウント JSON がプロビジョニングされているかどうか。
4. 既存接続と候補ソースを発見
作成前に何が存在するかを確認します。
既存の Glue 接続:
aws glue get-connections --filter ConnectionType=<TYPE> --region <REGION>
適切な接続が存在する場合は確認してステップ7に進みます。
アカウント内の候補ソース (JDBC/Redshift のみ):
- RDS:
aws rds describe-db-instances - Aurora:
aws rds describe-db-clusters - Redshift:
aws redshift describe-clusters
候補をユーザーに提示し、選択させます。discovery.md を参照してください。
5. 認証情報を登録
平文パスワードより AWS Secrets Manager を推奨する必要があります。サポートされている場所では IAM データベース認証を優先する必要があります (Aurora/RDS MySQL と PostgreSQL、Redshift)。credential-security.md を参照してください。
- 新しい Secrets Manager シークレットを作成する前にユーザーに確認する必要があります
- 平文認証情報をチャットやログに書き込んではいけません
- IAM DB 認証の場合、シークレットは不要です
6. Glue 接続を作成
ソース固有の参照に従って接続プロパティを設定します:
aws glue create-connection --connection-input '<JSON>' --region <REGION>
プライベートソースには PhysicalConnectionRequirements (SubnetId, SecurityGroupIdList, AvailabilityZone) が必要です。network-setup.md を参照してください。
7. 接続をテスト
引き継ぐ前にテストする必要があります。テストは2段階です: クイック API チェック、次にエンジンレベルの検証。
フェーズ A: Glue TestConnection (ネットワークと認証情報の確認チェック)
aws glue test-connection --connection-name <NAME> --region <REGION>
これは Glue がソースに到達して認証できることを検証します。ユーザーが使用予定のクエリエンジンでエンドツーエンドで機能することを証明しません。
フェーズ B: エンジンレベルの検証
TestConnection がパスしたら、接続がユーザーの意図するエンジンで機能することを検証します。最小限のクエリを実行します:
- Glue ETL (デフォルト): 接続経由で1行を読み込むスモークテスト Glue ジョブを実行します。
troubleshooting.mdを参照してください。 - Athena: ユーザーが Athena 経由でフェデレーション コネクタを使用してクエリを予定している場合、Athena 接続経由で
SELECT 1を実行して Lambda ベースのコネクタがソースに到達できることを確認します。 - Glue Crawler: ユーザーがソースをクロールする予定の場合、単一テーブルのテストクロールを実行します。
フェーズ B は TestConnection が見逃す問題をキャッチします: ジョブランタイムでのドライバ互換性、カタログ設定、Spark レベルのシリアライゼーション、エンジン固有の認証フロー (例: Snowflake SNOWFLAKE タイプは ETL で動作しますが JDBC クローラーでは動作しません)。
両フェーズで成功した場合、接続名が ingesting-into-data-lake の準備ができていることをユーザーに伝えます。いずれかのフェーズで失敗した場合、ステップ8に進みます。
8. トラブルシューティング (テストが失敗した場合のみ)
順序で診断します: ネットワーク、認証情報、ドライバ。troubleshooting.md を参照してください。
制約:
- 認証情報を非難する前に VPC ルーティング、セキュリティグループ、S3 VPC エンドポイントを確認する必要があります
- Glue ロールが Secrets Manager シークレットを読み込めることを確認する必要があります
- ユーザーの確認なしに認証情報をローテーションしてはいけません
引数ルーティング
- 引数なし: ステップ1-7をインタラクティブに実行
- ソースタイプキーワード (例:
snowflake,oracle): タイプをプリフィルしたステップ2にスキップ - 既存接続名: ステップ7 (テスト) にスキップ、失敗時はステップ8
- ホスト名または RDS エンドポイント: 候補をプリフィルしたステップ4にスキップ
注意点
- Glue の
SNOWFLAKE接続タイプは Snowflake 用に設定されたJDBCとは異なります。Spark ETL ジョブにはSNOWFLAKEを使用する必要があります。JDBC を使用してはいけません。 - 接続名は不変です。慎重に選択してください。
PhysicalConnectionRequirements.AvailabilityZoneはサブネットの AZ と一致する必要があります。そうしないと、作成時ではなくジョブランタイムで接続が失敗します。- IAM データベース認証トークンの有効期限は15分です。Glue ジョブは接続ごとに新しいトークンを生成します。キャッシュしないでください。
- プライベートソース接続で使用される VPC に S3 VPC ゲートウェイエンドポイントが存在する必要があります。ないと、Glue ジョブはスクリプトを読み込めず、結果を S3 に書き込めません。
トラブルシューティング
| エラー | 考えられる原因 | 修正 |
|---|---|---|
Connect timed out | VPC ルーティング、SG ルール、または NAT ゲートウェイが不足 | troubleshooting.md を参照 |
Access denied for user / ORA-01017 | 認証情報が間違っている、Secrets Manager アクセスが不足、または IAM DB 認証が不正設定 | troubleshooting.md を参照 |
No suitable driver found | カスタムドライバ JAR が設定されていない、またはクラス名が間違っている | troubleshooting.md を参照 |
SSL handshake failed | JDBC_ENFORCE_SSL が Glue とソース間で不一致 | troubleshooting.md を参照 |
UnableToFindVpcEndpoint | S3 VPC エンドポイントが不足 | 接続の VPC で S3 ゲートウェイエンドポイントを作成します |
参照
jdbc-setup.md-- Oracle, SQL Server, PostgreSQL, MySQL, RDS, Redshiftsnowflake-setup.md-- GlueSNOWFLAKEタイプ、認証モードbigquery-setup.md-- GlueBIGQUERYタイプ、GCP サービスアカウントdiscovery.md-- 既存接続と候補ソースの検出credential-security.md-- Secrets Manager と IAM DB 認証network-setup.md-- VPC、サブネット、セキュリティグループ、エンドポイントtroubleshooting.md-- 接続エラーと診断フロー
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- aws
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/aws/agent-toolkit-for-aws / ライセンス: Apache-2.0
関連スキル
hugging-face-trackio
Trackioを使用してMLトレーニング実験を追跡・可視化できます。トレーニング中のメトリクスログ記録(Python API)、トレーニング診断のアラート発火、ログされたメトリクスの取得・分析(CLI)が必要な場合に活用してください。リアルタイムダッシュボード表示、Webhookを使用したアラート、HF Space同期、自動化向けのJSON出力に対応しています。
btc-bottom-model
ビットコインのサイクルタイミングモデルで、加重スコアリングシステムを搭載しています。日次パルス(4指標、32ポイント)とウィークリー構造(9指標、68ポイント)の2カテゴリーにわたる13の指標を追跡し、0~100のマーケットヒートスコアを算出します。ETFフロー、ファンディングレート、ロング/ショート比率、恐怖・貪欲指数、LTH-MVRV、NUPL、SOPR(LTH+STH)、LTH供給率、移動平均倍率(365日MA、200週MA)、週次RSI、出来高トレンドに対応します。市場サイクル全体を通じて買いと売りの両方の推奨を提供します。ビットコインの底値拾い、BTCサイクルポジション、買い時・売り時、オンチェーン指標、MVRV、NUPL、SOPR、LTH動向、ETFの流出入、ファンディングレート、恐怖指数、ビットコインが過熱状態か、マイナーコスト、暗号資産市場のセンチメント、BTCのポジションサイジング、「今ビットコインを買うべきか」「BTCが天井をつけているか」「オンチェーン指標は何を示しているか」といった質問の際にこのスキルを活用します。
protein_solubility_optimization
タンパク質の溶解性最適化 - タンパク質の溶解性を最適化します。タンパク質の特性を計算し、溶解性と親水性を予測し、有効な変異を提案します。タンパク質配列の特性計算、タンパク質機能の予測、親水性計算、ゼロショット配列予測を含むタンパク質エンジニアリング業務に使用できます。3つのSCPサーバーから4つのツールを統合しています。
research-lookup
Parallel Chat APIまたはPerplexity sonar-pro-searchを使用して、最新の研究情報を検索できます。学術論文の検索にも対応しています。クエリは自動的に最適なバックエンドにルーティングされるため、論文の検索、研究データの収集、科学情報の検証に活用できます。
tree-formatting
ggtree(R)またはiTOL(ウェブ)を使用して、系統樹の可視化とフォーマットを行います。系統樹を図として描画する際、ツリーレイアウトの選択、分類学に基づく枝やラベルの色付け、クレードの折りたたみ、サポート値の表示、またはツリーへのオーバーレイ追加が必要な場合に使用してください。系統推定(protein-phylogenyスキルを使用)やドメイン注釈(今後の独立したスキル)には使用しないでください。
querying-indonesian-gov-data
インドネシア政府の50以上のAPIとデータソースに接続できます。BPJPH(ハラール認証)、BOM(食品安全)、OJK(金融適正性)、BPS(統計)、BMKG(気象・地震)、インドネシア中央銀行(為替レート)、IDX(株式)、CKAN公開データポータル、pasal.id(第三者法MCP)に対応しています。インドネシア政府データを活用したアプリ開発、.go.idウェブサイトのスクレイピング、ハラール認証の確認、企業の法的適正性の検証、金融機関ステータスの照会、またはインドネシアMCPサーバーへの接続時に使用できます。CSRF処理、CKAN API使用方法、IP制限回避など、すぐに実行可能なPythonパターンを含んでいます。