Kong Konnect のData Planeとして、AWS ECS(Elastic Container Service)Fargate を使ってマイクロサービスをデプロイし、API Gateway環境の構築方法を紹介します。
準備するもの
- AWSアカウント
- Kong Konnectアカウント
構築手順
Kong Konnect側
Konnectにログインし、Gateway manager -> Data Plane Nodes -> Configure data planeの順でData Plane作成画面にきて、Generate Certificateをクリックしてdocker runのコマンドが生成されます。このコマンドのパラメータが以降使いますのでコピーしていきます。

証明書が生成されたらKonnect側の作業が終わります。この証明書とkeyに改行が入っています、後でECSの環境変数として設定するため、下のコマンドで一行になるように変更します。
| |
AWS ECS側
コンテナーの定義
AWS ECS -> Task definitions -> Create new task definition with JSON でコンテナーの定義を行います。

利用するJSONは以下になります。
| |
docker runコマンドを参考し、以下のKong関連のパラメータを修正する必要があります。
KONG_CLUSTER_CONTROL_PLANEKONG_CLUSTER_SERVER_NAMEKONG_CLUSTER_TELEMETRY_ENDPOINTKONG_CLUSTER_TELEMETRY_SERVER_NAMEKONG_CLUSTER_CERTKONG_CLUSTER_CERT_KEY
AWS側の設定に合わせて修正すべきパラメータは
logConfiguration.optionsexecutionRoleArn
Serviceを起動
Clusterを作成した後に、ServiceをCreateします。

Serviceの作成にいくつかポイントがあります。その他は適切に設定してください。
Service Details内のTask definition familyは先ほど作ったTaskを選択
Networking内で選択するSecurity groupでは、8000と8443ポートを公開する必要がある外部からアクセスする必要があるため、
Public IPをTurned onにする
設定が完了したら、ページ右下のCreateをクリックします。
動作確認
Serviceが無事起動したら、KonnectのData Plane NodesでECS Data Planeを確認することができます。

AWS ECS側では、Service以下のTaskで、付与されたPublic IPのアドレスを確認できます。

アドレスにアクセスしてみると、no Route matched with those valuesが返され、Kong Data Planeの構築が無事完了したことを確認できます。
| |
まとめ
この記事では、Kong KonnectのData PlaneをAWS ECS(Fargate)上で動かすことで、最小構成でAPI Gateway環境を構築する方法を紹介しました。
軽量・省リソース
Fargateの設定はCPU: 512/Memory: 1024の最小構成でも動作可能 Konnect利用のため外部DB不要構築が簡単
複雑なネットワーク設定やLB構成不要。
Konnect側で発行されるdocker runコマンドを元に、ECS Task Definition をコピー&修正するだけSaaS連携で管理不要
Konnect(SaaS)上でAPIのルーティングやセキュリティを一括管理。
データプレーン側は単純なリバースプロキシとして起動すればOK
Kong KonnectとAWS Fargateの組み合わせは、インフラ構築に手間をかけずにAPI Gatewayを試したい方に最適です。データベースやロードバランサの構成が不要で、SaaS型の管理機能とマネージドな実行環境により、最小限の構成で手軽に始められます。シンプルに導入でき、スケールにも対応できる柔軟な構成です。