こんにちは。CData Software Japan の色川です。
SaaS からのWebhook などSaaS 側起点の連携リクエストを契機にデータ連携したいケースは多いと思います。CData Arc にはWebhook コネクタなどリクエストを受け付けるための機能が搭載されていますが、SaaS からのリクエストを受けつけるためにはCData Arc をインターネットからアクセス可能となるように構成する必要があります。
クラウド環境でArc をホスティングしたり、オンプレミス環境の場合でもDMZ にArc を構成するアプローチもありますが、連携する主なデータソースがオンプレミスのインターナルネットワークにある場合、ネットワークやセキュリティの構成条件などから、CData Arc もインターナルネットワーク内に構成したいケースが多いと思います。
CData Arc の「Cloud Gateway(クラウドゲートウェイ)」は、そのような時に活用できる機能です。この記事では、CData Arc の「Cloud Gateway(クラウドゲートウェイ)」機能をご紹介します。
Cloud Gateway(クラウドゲートウェイ)
CData Arc のCloud Gateway(クラウドゲートウェイ)は、インターネット(パブリックネットワーク)から直接アクセスできないネットワークに構成したArc のエンドポイントを、ファイアウォールの構成を変更せずにインターネットに公開する事ができる機能です。
Cloud Gateway は、パブリックにアクセス可能な位置に構成されたSSH サーバーのリバースSSH トンネル(ポートフォワーディング)を利用して、Cloud Gateway を有効にしたCData Arc のエンドポイントへインターネットからアクセス可能にします。インターネット(パブリックネットワーク)からのリクエストは、SSH サーバーのポートから、Cloud Gateway が構成するリバースSSH トンネルを介してCData Arc に届きます。
SSH サーバーの構成や利用に慣れている方は、こちらのヘルプトピックを参照頂くと、Cloud Gateway の機能をイメージ頂きやすいかも知れません。
https://cdn.cdata.com/help/AZJ/jp/mft/Windows-Edition.html#cloud-gateway
なお、CData Arc のCloud Gateway は、CData Arc の.NET 版で利用できる機能です。
Cloud Gateway の関連記事
Cloud Gateway は、CData API Server など、CData の主要なサーバーアプリケーション(Windows 版 / .NET 版)に搭載されている機能です。Cloud Gateway の活用を検討する際は、こちらの関連記事も参考にしてください。
オンプレミスの RDB から REST API を自動生成・API Server Cloud Gateway 経由でインターネットに公開 | CData Software Blog
オンプレOracle DB にCloudGateway 経由でGoogleAppsScript からWEB APIでアクセスしてみた:CData APIServer | CData Software Blog
この記事のシナリオ
Cloud Gateway では、CData Arc とは別に用意されたパブリックにアクセス可能な SSH サーバーを利用しますが、そのプラットフォームやSSH Server 実装の種類は特に問いません。
この記事では、AWS EC2 のAmazon Linux インスタンスに標準搭載されているSSH サーバーを利用して、インターネット(パブリックネットワーク)から直接アクセスできないネットワークに構成したArc へ、インターネット(パブリックネットワーク)からアクセスするまでの手順をご紹介します。
環境の準備
SSH サーバの準備と構成
この記事では、Amazon Linux 2023 AMI から起動したインスタンスを利用します。
インバウンドセキュリティグループのルールに、CData Arc を公開するポートとして「8401」を追加します。
次に、EC2 インスタンス上のSSH Server 側へ、リバースSSH トンネル(ポートフォワーディング)に必要となる設定を追加します。SSH Server の設定ファイル(sshd_config)に「GatewayPorts yes」を追加して、ポートフォワーディング時のポートを任意のアドレスにバインドできるように変更します。
以上で、SSH サーバ側(この記事ではAWS EC2 上のAmazon Linux 側)の準備は完了です。
CData Arc の準備と構成
CData Arc(.NET 版)の入手方法やインストール、基本的な環境構成については、こちらの記事を参考にしてください。
CData Arc ハンズオンテキスト(環境準備) | CData Software Blog
Arc は、オンプレミス環境のインターナルネットワークに配置しました。一般的な企業内ネットワークの構成(インターネットへのアクセスはできるが、インターネットからは直接アクセスできない配置構成)です。
CData Arc サーバーオプションの設定
それでは、この記事の本題である「Cloud Gateway(クラウドゲートウェイ)」の設定をしていきます。
Cloud Gateway 及び、その前提として構成するCData Arc の組込みWeb Server のTLS/SSL 接続設定をサーバーオプションから実施します。
組込みWeb Server のTLS/SSL 接続設定
Cloud Gateway を利用することで、Arc がインターネット(パブリックネットワーク)からアクセス可能な構成になりますので、通信の暗号化によるセキュリティ確保のためにTLS/SSL 接続の構成が必要です。
サーバーオプションの「Web Server」タブで「Enable TLS」を有効にします。
「Server Certificate」に、TLS/SSL 接続に利用するサーバー証明書を指定します。この記事ではZeroSSL のサーバー証明書を利用しました。ZeroSSL はIP アドレスでサーバ証明書を発行することもできるので検証などの際には手軽ですね。ZeroSSL についてはこちらの記事も参考にして頂けるかと思います。
ZeroSSL で発行したSSL サーバ証明書を使って、CData Arc をHTTPS で構成する方法 | CData Software Blog
限られた検証や評価など、TLS/SSL 接続で認証局によるサーバー証明書を必要としない場合(自己発行証明書で良い場合)は、Arc が備えるサーバー証明書生成機能を利用して自己発行証明書を作成する事もできます。
実際の運用シーンで利用を検討する場合は、適切なサーバー証明書をご利用ください。事前に用意したサーバー証明書を適切な証明書ストアに配置しておくことで選択することができます。詳しくはこちらのヘルプトピックを参考にしてください。
https://cdn.cdata.com/help/AZJ/jp/mft/Windows-Edition.html#host-tlsssl-connections-embedded-server
Cloud Gateway(クラウドゲートウェイ)の設定
サーバーオプションの「Cloud Gateway」タブで「Enable Cloud Gateway」を有効にして、SSH サーバーへの接続を構成します。
Server |
Host |
Arc が接続する SSH サーバー |
Port |
SSH サーバーが接続を待ち受けているポート |
Authentication Type |
SSH サーバーとの接続に利用する認証方式 |
User |
Arc が SSH サーバーへの認証に使用するユーザー名 |
Password |
Arc が SSH サーバーへの認証に使用するパスワード(選択したAuthentication Type で必要な場合) |
Certificate |
Arc が SSH サーバーへの認証に使用する証明書(公開鍵を用いるAuthentication Type の場合) |
Server Fingerprint |
SSH サーバーの SSH ホスト鍵フィンガープリント(読み取り専用) |
Forwarded Port |
Forwarding Port |
SSH サーバーが Arc に転送する接続を待ち受けるポート |
サーバーオプションの「Cloud Gateway」設定について、詳しくはこちらのヘルプトピックを参考にしてください。
https://cdn.cdata.com/help/AZJ/jp/mft/Windows-Edition.html#cloud-gateway
Cloud Gateway を通じたアクセスの確認
ブラウザからSSH サーバーのURI とサーバーオプションで指定したポートを指定して、Cloud Gateway を介したArc へのアクセスを確認します。期待通りにSSH サーバーとCloud Gateway を介して、インターネット(パブリックネットワーク)から直接アクセスできないネットワークに構成したArc へ、インターネット(パブリックネットワーク)からアクセスできる事が確認できました。
その他(ベースURL)
Arc のエンドポイントはデフォルトでWeb コンソールを表示するコンテキストに基づいて自動的に生成されますが、インターネット(パブリックネットワーク)向けのエンドポイントを固定的に設定したい場合は、「設定 - 高度な設定」の「ベースURL」の活用をご検討ください。
よくある利用シナリオ
Cloud Gateway の有効性は特定のシナリオに限りませんが「Arc はオンプレミスに配置したまま、SaaS からのWebhook を受け付けたい」と言うシナリオなどは分かりやすい例かも知れません。Arc のWebhook コネクタを利用するシナリオ自体は、こちらの記事などを参考にしてください。
CData Arc のWebhook コネクタでkintone からのWebhook を受信する | CData Software Blog
まとめ
この記事では、CData Arc の「Cloud Gateway(クラウドゲートウェイ)」機能をご紹介しました。
インターネット(パブリックネットワーク)から直接アクセスできないネットワークに構成したArc のエンドポイントを、ファイアウォールの構成を変更せずにインターネットに公開したい場合、Cloud Gateway の活用を検討してみてください。
Cloud Gateway はCData Arc の.NET 版で利用できる機能です。もしCData Arc のクロスプラットフォーム版を利用して類似のシナリオを実現したい場合は、サポートフォームよりご相談ください。
CData Arc はシンプルで拡張性の高いコアフレームワークに、豊富なMFT・EDI・エンタープライズコネクタを備えたパワフルな製品です。CData Drivers との組み合わせで270を超えるアプリケーションへの連携を実現できます。
皆さんのつなぎたいシナリオでぜひ CData Arc を試してみてください。
CData Arc - セキュアなデータ連携とマネージドファイル転送(MFT)
製品を試していただく中で何かご不明な点があれば、テクニカルサポートへお気軽にお問い合わせください。
CData Software Japan - Support Form
この記事では CData Arc™ 2023 - 23.4.8801.0 を利用しています。
関連コンテンツ