【ITニュース解説】Set up Customer.io HTTPS links tracking with Google Cloud Platform
2025年09月13日に「Dev.to」が公開したITニュース「Set up Customer.io HTTPS links tracking with Google Cloud Platform」について初心者にもわかりやすく解説しています。
ITニュース概要
Customer.ioのHTTPSリンク追跡をGCPで設定する方法を解説する。Customer.ioでドメイン設定後、GCPのロードバランサやDNSを構成してHTTPS接続を有効にする。公式に情報がないGCPでの具体的な手順がわかる。
ITニュース解説
システムエンジニアを目指す上で、Webサービスやアプリケーションの安定運用とセキュリティ確保は非常に重要な要素となる。ここでは、顧客コミュニケーションツールであるCustomer.ioのメール送信におけるリンク追跡機能を、Google Cloud Platform(GCP)を使ってHTTPS化し、よりセキュアに設定する方法を具体的に解説する。これは、ユーザーがメール内のリンクをクリックした際のデータを正確に追跡しつつ、通信の安全性を高めるための設定である。
まず、Customer.ioのダッシュボードにログインし、ワークスペース設定から「Email」を選び、送信ドメインを追加することから始める。例えば「zenfi.mx」のような自社のドメインを登録し、次に「Link Tracking」タブに進む。ここで、リンク追跡に使うホスト名(例: email.cio)と、Customer.ioが提供する正規名(Canonical name、例: e.customeriomail.com)を確認する。この正規名は、後でGCP側の設定で非常に重要となる情報である。
次に、Google Cloud Platformのコンソールに移動し、ネットワークサービス内の「ロードバランシング」を選択して、新しいロードバランサを作成する。ロードバランサは、インターネットからのトラフィックを適切に分散し、サービスへの安定したアクセスを保証する仕組みである。ここでは「Application Load Balancer (HTTP/HTTPS)」を選び、外部向けでグローバルに動作する「Global external Application Load Balancer」として設定を進める。これは、世界中のユーザーからのアクセスに対応し、HTTPS(暗号化された安全な通信)を処理するために適した選択である。
ロードバランサの設定は大きく「フロントエンド」と「バックエンド」に分かれる。 まず「フロントエンド」の設定では、外部からのアクセスを受け付ける窓口を定義する。任意の名前(例: email-customer-io)を設定し、プロトコルは「HTTPS」、ポートは「443」(HTTPS通信の標準ポート)を指定する。ここで特に重要なのは「IPアドレス」の項目で、新しく静的IPアドレスを作成し、そのアドレス(例: 33.100.10.14)をメモしておく必要がある。このIPアドレスは、後でドメイン名と紐付ける際に使用するため、忘れないようにする。また、HTTPS通信にはSSL証明書が不可欠であるため、「Create Google-managed certificate」を選択して、Googleが自動的に管理してくれる証明書を作成する。これにより、証明書の更新管理の手間を省き、セキュリティを維持できる。
次に「バックエンド」の設定を行う。バックエンドとは、ロードバランサが受け取ったトラフィックを実際に処理するサーバー群やサービスを指す。ここでは、新しいバックエンドサービスを作成する。名前を付け(例: customer-io)、バックエンドタイプには「Internet network endpoint group」を選択する。これは、Google Cloudの外にあるインターネット上のサービス(今回の場合はCustomer.ioのトラッキングサービス)にトラフィックを転送するための設定である。プロトコルは「HTTPS」とする。 「Backends」の項目で「Create Internet network endpoint group」を選択し、新しいグループを作成する。このグループには任意の名前(例: customer-io)を付け、スコープを「Global」、デフォルトポートを「443」とする。そして、重要なのは「Fully qualified domain name and port」の欄に、Customer.ioで確認した正規名(例: e.customeriomail.com)を入力することである。これにより、ロードバランサがCustomer.ioのトラッキングサービスへと正しくトラフィックを転送できるようになる。 さらに、このバックエンド設定で特に注意が必要なのは「Advanced configurations」メニュー内の「Custom request headers」である。ここで、Customer.ioのサービスが正しく機能するために必要な特別なヘッダーを追加する。具体的には、「cname-api-key」としてHTTPS付きの正規名(例: https://e.customeriomail.com)を、そして「host」として自身のドメイン名(例: email.cio.zenfi.mx)を設定する。これらのカスタムヘッダーは、Customer.ioのシステムが受信したリクエストを識別し、適切に処理するために不可欠な情報となる。
バックエンドサービスが作成できたら、次に「ルーティングルール」の設定を行う。これは、ロードバランサが受け取ったリクエストをどのようにバックエンドサービスに振り分けるかを定義する規則である。「Advanced host and path rule」を選択し、デフォルトのルールを編集する。アクションとして「Route traffic to a single backend」を選び、先ほど作成したバックエンド(例: customer-io)を指定する。さらに、非常に重要なのが「Add on action (URL rewrite)」の項目である。ここに、Customer.ioの正規名(例: e.customeriomail.com)を入力する。これは、ロードバランサが受信したURLをCustomer.ioが期待する形式に書き換えて転送するための設定であり、リンク追跡が正しく機能するために必須となる。
最後に、DNS設定を行う。GCPの「Network Services」から「Cloud DNS」を開き、設定しているDNSゾーンに新しいAレコードを追加する。「Add standard」をクリックし、Customer.ioで設定したサブドメイン(例: email.cio)を入力する。リソースレコードタイプは「A」を選択し、IPv4アドレスの欄には、フロントエンド設定時に作成・記録しておいた静的IPアドレス(例: 33.100.10.14)を貼り付ける。このAレコードにより、ユーザーがメール内のリンクをクリックした際に、そのサブドメインがGCPロードバランサの静的IPアドレスに解決され、トラフィックがGCPを経由してCustomer.ioに転送されるようになる。
これらの設定が全て完了したら、Customer.ioのダッシュボードに戻り、「Verify domain」をクリックして設定の最終確認を行う。DNSレコードの反映やSSL証明書のプロビジョニングには数分かかる場合があるため、すぐに検証が完了しない場合は少し時間をおいてから再度試す必要がある。この一連のプロセスにより、メール内のリンク追跡がHTTPSによって安全に行われ、ユーザーは安心してリンクをクリックできるようになるだけでなく、正確なデータに基づいたマーケティング活動が可能になる。システムエンジニアにとって、このように異なるサービスを連携させ、セキュリティと機能性を両立させるスキルは、今後のキャリアにおいて非常に価値の高いものとなるだろう。