Teradata Vantage 上の Terraform と Airbyte を使用して ELT パイプラインをコードとして管理する
概要
このクイックスタートでは、Terraform を使用して Airbyte データ パイプラインをコードとして管理する方法について説明します。WebUI を介した手動構成の代わりに、コードを使用して Airbyte リソースを作成および管理します。提供されている例は、Airbyte の Terraform プロバイダを使用した、Google スプレッドシートから Teradata Vantage への基本的な ELT パイプラインを示しています。
Airbyte Terraform プロバイダは、Airbyte Cloud、OSS、Self-Managed Enterprise のユーザーが利用できます。
この統合がどのように機能するかについての簡潔な説明をご覧ください:
はじめに
Terraform は、Infrastructure as Code (IaC) 分野における主要なオープンソース ツールです。手動セットアップの代わりに、構成ファイルを介してインフラストラクチャ、クラウド プラットフォーム、およびサービスの自動プロビジョニングと管理を可能にします。Terraform は、Terraform プロバイダと呼ばれるプラグインを使用して、インフラストラクチャ ホスト、クラウド プロバイダ、API、および SaaS プラットフォームと通信します。
データ統合プラットフォームである Airbyte には、 AirbyteのAPIと直接通信する Terraform プロバイダがあります。これにより、データ エンジニアは Airbyte 構成を管理し、バージョン管理を実施し、ELT パイプライン内で適切なデータ エンジニアリング プラクティスを適用できます。
前提条件
- Airbyte クラウドアカウント最初の同期が成功した後に始まる 14 日間の無料トライアルから始めましょう。
- 開発者ポータルにログインしてAirbyte API キーを生成します。
- Teradata Vantage インスタンス。Airbyte の Terraform 構成には、データベース
Host
、Username
、Password
が必要です。
-
ソースデータ。デモンストレーションの目的で サンプルのGoogleスプレッドシート、を使用します。これを個人の Google ワークスペースにコピーします。
-
個人または組織のアカウントで Google Cloud Platform API が有効になっているOAuth またはサービス アカウント キー認証システムを介して Google アカウントを認証する必要があります。この例では、サービスアカウントキー認証を使用します。
Terraformをインストールする
- それぞれのコマンドを適用して、オペレーティング システムに Terraform をインストールします。追加のオプションは Terraformサイトで確認できます。
- MacOS
- Windows
- Linux
まず、すべての Homebrew パッケージのリポジトリである HashiCorp tap をインストールします。
次に、hashicorp/tap/terraform を使用して Terraform をインストールします。
Chocolatey は、Windows 用の無料のオープンソース パッケージ管理システムです。コマンドラインから Terraform パッケージをインストールします。
環境の準備
Terraform 構成用のディレクトリを作成し、 main.tf
と variables.tf
の2 つのファイルを初期化して環境を準備します。
データパイプラインを定義する
main.tf
ファイル内でデータ ソース、宛先、接続を定義します。新しく作成された main.tf
ファイルを Visual Studio Code または任意のコード エディターで開きます。
- Visual Studio Code を使用する場合は、 HashiCorp Terraform 拡張機能 をインストールして、自動補完と構文の強調表示を追加します。構成言語のサポートのために Anton Kuliko による Terraform を追加することもできます。
提供されたテンプレートを使用して main.tf ファイルを入力します。
この例では、cron 式を使用して、毎時 15 分ごとにデータ転送が実行されるようにスケジュールすることに注意してください。
main.tf
ファイルでは、API キー、ワークスペース ID、Google スプレッドシート ID、Google 秘密鍵、Teradata Vantage 認証情報など、[ variables.tf
ファイルに保存されている変数を参照します。次のテンプレートを variables.tf
ファイルにコピーし、 default
属性に適切な構成値を入力します。
variables.tf ファイルの設定
実行コマンド
terraform init
を実行して、terraform プロバイダ ページからプロバイダ プラグインをプルダウンし、作業用の Terraform ディレクトリを初期化します。
このコマンドは、新しい Terraform 構成を記述した後、またはバージョン管理から既存の構成を複製した後にのみ実行する必要があります。
terraform plan
を実行すると、Terraform がリソースを作成し、インフラストラクチャに変更を加えるために使用する実行プランが表示されます。
この例では、3 つの新しいリソースのプランが作成されます。
接続: # airbyte_connection.googlesheets_teradata が作成されます
宛先: # airbyte_connection.googlesheets_teradata が作成されます
ソース: # airbyte_source_google_sheets.my_source_gsheets が作成されます
terraform apply
と yes
を実行して計画を生成し、計画を実行します。
terraform.tfstate
ファイルは、 terraform apply
を初めて実行した後に作成されます。このファイルは、Terraform によって管理されるすべてのソース、宛先、および接続のステータスを追跡します。 Terraform apply
のその後の実行では、Terraform は main.tf
ファイル内のコードと tfstate
ファイルに保存されているコードを比較します。 main.tf
でリソースが追加または削除されると、Terraform はデプロイメント時にデプロイメントと .tfstate
ファイルの両方を自動的に更新します。このファイルを手動で変更しないでください。
これで、Airbyte Cloud 上に、Terraform 経由で作成および管理されるソース、宛先、接続が作成されました。