API Edge Gateway
Edge Gatewayにより、管理者はオンプレミスEnvironmentからWorkatoのAPI platformへAPIトラフィックを安全にルーティングしながら、一元化された管理、オブザーバビリティ、ポリシー適用を維持できます。 ゲートウェイは顧客インフラストラクチャ内でローカルに実行されますが、設定とテレメトリのためにWorkatoコントロールプレーンへの接続を維持します。
ベータ価格
API Edge Gatewayは現在、追加費用なしで利用できます。 価格は、ベータ価格期間の終了後に適用されます。
主な機能
Edge Gatewayは、一元管理によりオンプレミスでAPIトラフィックを安全に処理することで、WorkatoのAPIゲートウェイを拡張します。 次の機能を提供します。
- ローカルトラフィック処理: インフラストラクチャ内でAPIリクエストをルーティングおよび処理し、レイテンシを削減してデータレジデンシー要件を満たします。
- ハイブリッドデプロイメントのサポート: コンプライアンス、パフォーマンス、またはアーキテクチャのニーズに基づいて、APIコレクションをクラウドゲートウェイまたはエッジゲートウェイにデプロイします。
- 一元化されたポリシーおよびバージョン管理: Workatoクラウドから設定を管理し、ゲートウェイの健全性を監視し、更新通知を受け取ります。
- オブザーバビリティとアラート: メトリックとログをクラウドにストリーミングし、認証失敗、バージョン不一致、接続喪失に関するアラートを受け取ります。
アーキテクチャとデプロイメントモデル
API Edge Gatewayには、管理とトラフィック実行を分離するハイブリッドデプロイメントモデルが導入されています。
コントロールプレーンとデータプレーン
Edge Gatewayは、コントロールプレーン操作をデータプレーン処理から分離します。
- コントロールプレーンはWorkatoクラウドで実行されます。 設定、ポリシー、バージョニング、オブザーバビリティを管理します。
- データプレーンはインフラストラクチャで実行されます。 APIリクエストとレスポンスを処理します。
ゲートウェイは、TLS(ポート443)経由でWorkatoコントロールプレーンへの安全なアウトバウンドコネクションを維持します。
デプロイメントタイプ
Workatoは、次の2種類のAPIゲートウェイデプロイメントをサポートしています。
クラウドゲートウェイ
APIトラフィックはWorkatoのクラウドインフラストラクチャ内で処理されます。 追加のインフラストラクチャやセットアップは必要ありません。
Edge Gateway
API管理はWorkatoクラウドで一元化されたまま、APIトラフィックはインフラストラクチャ内で処理されます。
次の要件の1つ以上に該当する場合は、Edge Gatewayを使用します。
- 組織に、GDPRやHIPAAなどによりAPIペイロードが外部インフラストラクチャを通過することを禁止するデータレジデンシー義務がある。
- バックエンドサービスがオンプレミスでホストされており、クラウド経由のトラフィックルーティングによって許容できないレイテンシが発生する。
- セキュリティポリシーで、APIトラフィックを定義済みのネットワーク境界内に維持する必要がある。
これらの要件が該当しない場合は、クラウドゲートウェイを使用します。
APIライフサイクル連携
Edge GatewayはAPI設計および公開ワークフローを変更しません。
WorkatoクラウドでAPIコレクションを設計、設定、公開できます。 デプロイメントターゲットとしてEdge Gatewayを選択すると、ゲートウェイは公開済みの設定を同期し、インフラストラクチャ内でAPIトラフィックをローカルに処理します。
コレクションレベルのデプロイメントターゲット設定
Workatoはコレクションごとのデプロイメントターゲット設定をサポートしています。 公開時に、各APIコレクションに対してクラウドゲートウェイまたはEdge Gatewayのいずれかを選択できます。
この柔軟性により、一部のAPIをWorkatoクラウドで実行し、他のAPIを顧客インフラストラクチャ内で実行するハイブリッドアーキテクチャが可能になります。
Edge Gatewayのセットアップ
トラフィックをローカルにルーティングする前に、Edge Gatewayをセットアップする必要があります。 各Edge Gatewayはインフラストラクチャで実行され、安全なgRPCチャネル経由でWorkatoコントロールプレーンと通信します。
前提条件
Edge Gatewayをセットアップするには、次のものが必要です。
- API platformが有効になっているWorkatoワークスペース
- ワークスペースへの管理者アクセス
- 設定済みのローカルEnvironment
エッジゲートウェイをセットアップするには、次の手順を完了します。
API Platform > 設定 > ゲートウェイを管理に移動します。
Edge Gatewayを設定をクリックします。
Edge Gatewayのセットアップ
ゲートウェイ名を入力し、コネクション方法を選択します。 デプロイメント環境に基づいて、DockerまたはKubernetes (Helm)を選択できます。
ダイアログで生成されたインストールコマンドをコピーします。 このコマンドには、ブートストラップコマンドとランタイムコマンドの両方が含まれています。
インフラストラクチャでゲートウェイをデプロイするときに、これらのコマンドを実行します。
トークンの有効期間
登録トークンは5分後に期限切れになります。 必要に応じてコマンドを再生成をクリックします。
Edge Gatewayのセットアップ
完了をクリックします。
サポートされているEnvironment
API Edge Gatewayは次のEnvironmentをサポートしています。
- Linux(x86-64)
- Kubernetes v1.25以降
- DockerおよびPodmanを含む、Docker互換のコンテナランタイム
ネットワーク要件
ゲートウェイには、次のWorkatoエンドポイントへのアウトバウンドHTTPS(ポート443)アクセスが必要です。
apim-edge.workato.comtelemetry.apim-edge.workato.comconfig.apim-edge.workato.com(ブートストラップ時のみ必要)
エンドポイントは、リージョン固有のデプロイメントに次の形式を使用します。
apim-edge.<region>.workato.comtelemetry.apim-edge.<region>.workato.comconfig.apim-edge.<region>.workato.com
ゲートウェイは、相互TLS(mTLS)を使用して、TLS(ポート443)経由の安全なgRPCコネクションを確立します。
Workatoでは、Environmentへのインバウンド接続は必要ありません。
ゲートウェイのインストールとデプロイ
セットアップ中にコピーしたコマンドを使用して、インフラストラクチャにゲートウェイをデプロイします。
トークンの有効期間
登録トークンは5分後に期限切れになります。 トークンの有効期限が切れている場合は、API Platform > 設定 > ゲートウェイを管理に移動し、コマンドを再生成をクリックします。
サポートされているインストール方法
Workatoは次のデプロイメント方法をサポートしています。
単一ホストデプロイメントにはDockerを使用します。 オーケストレーションとスケーリングが必要なプロダクションEnvironmentにはKubernetesを使用します。
Dockerデプロイメント
単一ノードまたは非オーケストレーションEnvironmentのLinuxホストにゲートウェイをデプロイするには、Dockerを使用します。
デプロイメントは2つのフェーズで構成されます。
ゲートウェイのブートストラップ
ゲートウェイコンテナを実行する予定のLinuxホスト上のターミナルで、Workato UIで生成されたブートストラップコマンドを実行します。
docker run --rm \
-v $(pwd)/config:/tmp/egw/config \
registry.workato.com/edge-gateway:<tag> \
/gateway bootstrap \
-t <registration-token> \
-o /tmp/egw/config \
standalone次のプレースホルダーを置き換えます。
<tag>を、Workato UIに表示されるイメージバージョンに置き換えます。<registration-token>を、Workato UIで生成されたワンタイム登録トークンに置き換えます。 トークンは生成されたコマンド内の-tフラグの後に表示され、5分後に期限切れになります。
ブートストラップコマンドは次を実行します。
- ワンタイム登録トークンを使用してゲートウェイを登録
- Workatoコントロールプレーンとの相互TLS(mTLS)信頼を確立
- 設定ファイルと認証情報ファイルを生成
- 生成されたファイルを
configディレクトリに書き込み
configディレクトリを保持します。 ゲートウェイランタイムの起動にはこれらのファイルが必要です。
configディレクトリを削除した場合は、新しい登録トークンを使用してブートストラップコマンドを再実行します。
ゲートウェイランタイムの開始
ブートストラップ中に生成された設定を使用してゲートウェイを開始します。
docker run --rm \
-p 8080:8080 \
-v $(pwd)/config:/etc/edge-gateway/ \
registry.workato.com/edge-gateway:<tag>ランタイムは次を実行します。
/etc/edge-gateway/から設定を読み取り- TLS(ポート443)経由でWorkatoコントロールプレーンに接続
- ポート8080でAPIトラフィックを処理
コンテナが実行中であることを確認するには、次を実行します。
docker psログを表示するには、次を実行します。
docker logs <container-id>Kubernetes(Helm)デプロイメント
オーケストレーション、スケーリング、またはローリングアップグレードが必要な場合は、Kubernetesを使用してゲートウェイをデプロイします。
デプロイメントは次のフェーズで構成されます。
Docker、Helm、kubectlがインストールされ、Kubernetesクラスターへのアクセスが設定されているマシンからこれらのコマンドを実行します。
ゲートウェイのブートストラップ
Workato UIで生成されたブートストラップコマンドを実行します。
docker run --rm \
-v $(pwd)/config:/tmp/egw/config \
registry.workato.com/edge-gateway:<tag> \
/gateway bootstrap \
-t <registration-token> \
-o /tmp/egw/config \
helm次のプレースホルダーを置き換えます。
<tag>を、Workato UIに表示されるイメージバージョンに置き換えます。<registration-token>を、Workato UIで生成されたワンタイム登録トークンに置き換えます。 トークンは生成されたコマンド内の-tフラグの後に表示され、5分後に期限切れになります。
ブートストラップコマンドはゲートウェイをWorkatoコントロールプレーンに登録し、config/values.yamlにHelm設定ファイルを生成します。
configディレクトリを保持します。 Helmはこのファイルを使用してゲートウェイをデプロイします。 configディレクトリを削除した場合は、新しい登録トークンを使用してブートストラップコマンドを再実行します。
Workato Helmリポジトリの追加
Workato Edge Gateway Helmチャートリポジトリを追加します:
helm repo add workato-edge-gateway https://workato.github.io/edge-gateway-helm-chartsリポジトリはマシンごとに1回だけ追加する必要があります。
Helmを使用したデプロイ
Helmを使用してゲートウェイをデプロイします。
helm upgrade -i \
-n edge-gateway \
-f config/values.yaml \
--create-namespace \
edge-gateway \
workato-edge-gateway/workato-edge-gatewaypodが実行中であることを確認するには、次を実行します。
kubectl get pods -n edge-gatewayログを表示するには、次を実行します。
kubectl logs -n edge-gateway <pod-name>ゲートウェイコネクションの確認
Workatoでゲートウェイを作成すると、ゲートウェイを管理ページに表示されます。 ゲートウェイは、ランタイムをデプロイして開始した後にのみアクティブとして表示されます。
ランタイムコンテナ(Docker)を開始するか、Helmリリース(Kubernetes)をデプロイした後、次の手順を完了します。
API Platform > 設定 > ゲートウェイを管理に移動します。
インスタンスに少なくとも1件オンラインと表示されていることを確認します。
最終同期日時にタイムスタンプが表示されていることを確認します。
ゲートウェイバージョンが正しく表示されることを確認します。
これらのインジケーターにより、ゲートウェイが次の状態であることを確認できます。
- Workatoコントロールプレーンへの安全なmTLSコネクションを確立済み。
- 設定を同期済み。
- APIトラフィックの処理を開始済み。
ゲートウェイがオンラインとして表示されない場合は、次の確認を実行します。
- コンテナまたはpodのログを確認します。
- 必要なWorkatoエンドポイントへのアウトバウンドHTTPS(ポート443)アクセスを確認します。
- ブートストラップ中に登録トークンが有効だったことを確認します。
APIコレクションをEdge Gatewayに公開
ゲートウェイがオンラインになると、APIプロキシコレクションを公開できます。 APIプロキシコレクションを作成または編集するときに、APIゲートウェイフィールドでデプロイメントターゲットとしてEdge Gatewayを選択します。
Edge GatewayはAPIプロキシコレクションのみをサポートしています。 APIレシピコレクションはEdge Gatewayでサポートされていません。
認証ポリシー、レート制限、その他のコレクション設定は、クラウドゲートウェイに適用されるのと同じ方法でEdge Gatewayに適用されます。 詳細については、APIプロキシコレクションを参照してください。
Edge Gatewayの管理
設定後、ゲートウェイを管理セクションからすべてのEdge Gatewayを監視および管理できます。 各ゲートウェイは1つ以上のインスタンスを実行し、設定とオブザーバビリティのためにWorkatoクラウドと同期します。
Edge Gatewayインターフェイス
各ゲートウェイについて次を表示できます。
- デプロイメント名
- インスタンス数
- ゲートウェイバージョンと更新の可用性
- 最終同期タイムスタンプ
ゲートウェイの横にある...(省略記号)をクリックして、名前の変更、インストールコマンドの生成、または削除を行います。 Edge Gatewayを削除すると、ワークスペースから削除され、関連付けられたすべてのエンドポイントが非アクティブ化されます。
ゲートウェイの名前変更、再インストール、または削除
ゲートウェイバージョンの更新
ゲートウェイの新しいバージョンが利用可能になると、Workatoから通知されます。 元のインストールに一致する方法を使用してゲートウェイを更新するには、次の手順を完了します。
ゲートウェイバージョンの横にある[version]に更新バッジをクリックします。
ダイアログで更新コマンドとリリースノートを確認します。 コピーをクリックして、インストール方法に対応するコマンドをコピーします。
ローカルEnvironmentでコマンドを実行して、最新のコンテナを取得するか、更新を適用します。
完了をクリックしてダイアログを閉じます。 ゲートウェイが再接続すると、新しいバージョンがステータスパネルに表示されます。
コントロールプレーン接続
Edge Gatewayは、設定を同期し、テレメトリを送信するために、Workatoコントロールプレーンへの安全なアウトバウンドコネクションを維持します。
ゲートウェイは、コントロールプレーンへの接続が失われると、自動的にフォールバックモードになります。 フォールバックモードでは、次のことが発生します。
- ゲートウェイは、最後にキャッシュされた設定を使用してAPIトラフィックの処理を継続します。
- コントロールプレーンからの設定更新が一時停止されます。
- テレメトリとステータスレポートが一時的に停止されます。
ゲートウェイがコントロールプレーンに再接続すると、通常の動作が自動的に再開されます。
デプロイメント制約
API Edge Gatewayデプロイメントには次の制約が適用されます。
- ワークスペースEnvironmentごとに1つのゲートウェイ。
- ゲートウェイごとのインスタンス数に強制される上限はありません。
- コレクションの制限は、標準APIゲートウェイと同じ制約に従います。
API Edge Gatewayは専用のコレクションタイプとしてデプロイされます。
制限事項
API Edge Gatewayには次の制限があります。
- APIレシピコレクションはサポートされていません
- リクエストとレスポンスの変換はサポートされていません
- カスタムリクエスト検証はサポートされていません
- 証明書検証Formulaはサポートされていません
- エアギャップEnvironmentはサポートされていません
API Edge Gatewayは、標準APIゲートウェイで利用可能なすべてのポリシータイプをサポートしています。
Edge GatewayとOPA
OPAベースのハイブリッドデプロイメントでは、APIトラフィックはWorkatoクラウド経由でルーティングされ、OPAはEnvironment内でローカルにポリシーを評価します。 Edge GatewayはすべてのAPIトラフィックをEnvironment内に保持し、インバウンドリクエストをローカルに処理します。 ゲートウェイは、設定とオブザーバビリティのためにWorkatoコントロールプレーンへの安全なアウトバウンドコネクションを維持します。
Edge Gatewayは、次の機能を単一のランタイムデプロイメントに統合します。
- 認証とレート制限。
- 内部サービスへのトラフィックルーティング。
- ゲートウェイポリシー適用。
- メトリックとテレメトリの収集。
このアーキテクチャにより、ハイブリッドAPIデプロイメントが簡素化され、個別のポリシーエンジンやトンネルベースの連携への依存が軽減されます。
Last updated: