SpeedData

コーディングする図

CI/CDワークフローでCatchpoint Terraform Providerを使用する

2024年10月11日
著者: Kelly Avina
翻訳: 逆井 晶子

この記事は米Catchpoint Systems社のブログ記事「Use the Catchpoint Terraform Provider in your CI/CD workflows」の翻訳です。
Spelldataは、Catchpointの日本代理店です。
この記事は、Catchpoint Systemsの許可を得て、翻訳しています。


私たちは最近、Catchpoint Terraform providerをTerraform Registryで提供開始しました。
これにより、お客様は最小限の設定でCatchpoint IPMテストを管理できるようになり、開発者、SRE、DevOpsチームがTerraformとCatchpointデータをシームレスに統合することができるようになりました。

このブログでは、Catchpoint Terraform providerを使用してオブサーバビリティの設定をコードとして作成・管理し、新しいレジリエンスの立ち上げ時の効率性向上など、さまざまな利点について見ていきます。


	terraform {
  required_providers {
    catchpoint = {
      source = "catchpoint/catchpoint"
      version = "1.1.0"
    }
  }
}

Terraformが大流行

Terraformは約10年前に登場し、宣言型の設定言語を使用して、クラウドおよびオンプレミスでサーバー、ネットワーク、およびアプリケーションインフラストラクチャをプロビジョニング、管理、およびバージョン管理するためのツールとして進化してきました。
このプロセスにより、再現性とスケーラビリティの向上を実現し、インフラストラクチャ管理の効率と信頼性を向上させることができます。
そのため、Terraformは最も広く使用されているオープンソースのInfrastructure as Codeツールの一つであり、現代のネットワークやCI/CDパイプラインの重要な要素となっています。

その利点には次のものがあります:

プロビジョニングとデプロイメントの高速化:
リソースの自動プロビジョニングによって、デプロイメントの速度と効率が向上します。
インフラストラクチャ管理の効率化:
単一のワークフローで異なるクラウドやオンプレミスにアプリケーションをデプロイし、クロスクラウドの依存関係を処理し、変更管理とバージョン管理を容易にします。
リソース最適化:
ビジネスニーズの変化に適応し、必要に応じてインフラストラクチャをスケールアップまたはスケールダウンすることで、不要な支出を削減し、自動化の向上によりインフラストラクチャ管理に費やす時間を短縮します。

Catchpoint Terraform providerでオブザーバビリティをコードとしてデプロイする

私たちはTerraformを使用した Observability as Code のサポートを提供できることを嬉しく思います。
Catchpoint Terraform providerは、オブサーバビリティの設定をコードとして作成・管理する機能を提供し、レジリエンスの一部として組み込むことができます。
既存のTerraformワークフローを再利用して、CI/CDパイプライン内でレジリエンスとオブサーバビリティの設定を管理できるようになりました。


Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # web_test.test will be created
  + resource "web_test" "test" {
      + alerts_paused            = false
      + division_id              = 3876
      + enable_test_data_webhook = true
      + end_time                 = "2023-09-05T03:59:00Z"
      + id                       = (known after apply)
      + product_id               = 15330
      + status                   = 0
      + test_name                = "catchpoint"
      + test_url                 = "https://www.catchpoint.com"
    }

Plan: 1 to add, 0 to change, 0 to destroy.

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

web_test.test: Creating...
web_test.test: Creation complete after 4s [id=catchpoint]

Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

最も一般的な方法で、お客様がTerraformを使用しているのは、新しいインフラストラクチャをデプロイする際に、Web、API、トランザクション、DNS、SSL、BGP、トレースルート、Ping、Playwright、Puppeteerテストを自動的に作成できることです。
Terraformプラグインを使用すると、ユーザーはCatchpointテストを管理し、Terraformを使用してアラートを作成することもできるため、ワークフロー全体をより簡単に管理し、他の重要なオブザーバビリティおよびインフラストラクチャツールと統合することができます。

Observability as Codeの採用によるさらなる利点は以下の通りです:

組織組織全体の一貫性の実現:
コードを通じてCatchpointリソースを管理することで、IPMプロファイルを一括で繰り返し、スケーリング、更新し、すべての重要なサービスに対してテストプロファイルを標準化することができます。
Terraform などのプロビジョニングツールを使用すると、アラートやワークロードなどの共有リソースを迅速に設定し、異なるチーム間で簡単に共有することができ、組織全体の標準化を向上させるとともに、起動時間を短縮することができます。
バージョン管理と監査可能な履歴:
コードによるオブザーバビリティと自動化されたプロビジョニングワークフローを組み合わせることで、すべてのチームがアクセスすることができる監査可能な履歴を設定することができます。
バージョン管理を通じたロールバックとリカバリーにより、ワークフローの選択を明確に共有し、必要に応じて以前のバージョンに戻ることも可能です。
労力の削減と価値の創出:
リソースが限られている時代において、Infrastructure as Code(IaC)とObservability as Codeはオブサーバビリティの投資から最大の価値を引き出す助けとなります。
オブザーバビリティをコードとして使用してオブザーバビリティツールの設定を自動化することで、人間は労力を削減し、組織は OpEx の支出を削減することができます。

最も優秀なSREやDevOpsのリソースは、レジリエンスをユーザーインターフェース経由で管理するのに比べて、プロビジョニングにかける時間を大幅に削減することができ、大規模な作業時には大きなコスト削減が可能です。

仕組み

すでにCatchpointをご利用のお客様は、Terraformプロバイダのインストールと設定に関する詳細なドキュメントについて担当者にお問い合わせください。

まだご利用でない方は、CatchpointのIPMプラットフォームを使用してDevOpsライフサイクル全体でアプリケーションのレジリエンスを保証する方法について、ウェビナーHow to Achieve Agility with Stabilityをご覧ください。

さらに詳しいリソース

CatchpointのTerraform Registryページ:
https://registry.terraform.io/providers/catchpoint/catchpoint/

CatchpointのTerraformプロバイダのGitHubリポジトリ:
https://github.com/catchpoint/terraform-provider-catchpoint

DevOpsライフサイクルにおけるCatchpointの使用方法に関する詳細:
https://www.catchpoint.com/application-experience/devops-lifecycle