メインコンテンツまでスキップ
バージョン: v2.0.0

API Gateway Creation

概要

API Gatewayの作成は、APIMシステムを通じてAPIを公開し管理するための最初のステップです。APIMのインフラストラクチャのような実際の生産環境では、Gatewayの設定はスケーリング、トラフィック分配、ログ転送、DNSマッピングを考慮する必要があります。このチュートリアルでは、例を用いてプロダクショングレードのゲートウェイを作成する手順を案内します。

前提条件

始める前に、以下を確認してください:

  • APIMコンソールへのAdministrator アクセスがあります。
  • Projectが作成されています(例:pj-test-01)。

ステップバイステップチュートリアル

ステップ1. ゲートウェイ作成ページにアクセス

  • APIMコンソールにログインします。
  • プロジェクトを選択:pj-test-01。
  • ゲートウェイ管理に移動します。
  • 「ゲートウェイを作成」ボタンをクリックします。

ステップ2. ゲートウェイ情報

FieldValue
ゲートウェイタイプkong
ゲートウェイ名gateway-prod-mj
ゲートウェイインスタンス名自動入力:gateway-prod-mj
説明ゲートウェイ作成プロセスをテストするためのゲートウェイ
タグtest, kr(ゲートウェイを分類するためにさらにタグを追加できます)

ステップ3. リソース設定

ゲートウェイPodリソース

ResourceValue
CPU1000m
メモリ1000Mi

データベースリソース

ResourceValue
CPU1000m
メモリ1000Mi

スライダーを使用して値を変更します

ステップ4. デプロイ設定

フィールド
ゲートウェイオートスケーリング有効 (トグルオン)
最小レプリカ: 1
最大レプリカ: 5
CPU: 50
メモリ: 50
値を変更するために入力またはスライダーを使用できます
Kong 名前空間mj-test
Kong ストレージクラスgp2
ストレージ容量5 Gi
Kong プロキシサービスの種類LoadBalancer
Kong プロキシサービスノードポート30001

ステップ 5. アフィニティ設定

アフィニティを有効にして設定します:

KeyValue
topology.kubernetes.io/zoneap-northeast-2

これにより、ゲートウェイポッドは特定の可用性ゾーンにのみスケジュールされます。

ステップ 6. トレランス設定

トレランスを有効にして追加します:

OperatorKeyValue
Equalspottrue
Existscritical

これにより、ゲートウェイポッドは spot=true または critical のような汚染を持つノードにスケジュールされることができます。

ステップ 7. トポロジースプレッド構成

フィールド
最大スキュー1
不満足な場合DoNotSchedule

これにより、ゲートウェイポッドはゾーン全体に均等に分散され、不満足なスケジューリングを回避します。

ステップ 8. システムアドオン

コンポーネント設定
Inner Redis有効
Fluent Bit有効
OpenTelemetry: 有効
Elasticsearch: 無効

Fluent Bitを有効にすると、ゲートウェイログを観測パイプラインに集中させるのに役立ちます。

ステップ 9. Kong 設定

次のJSONを入力します:

{
"upstream_keepalive_idle_timeout": 60,
"upstream_keepalive_max_requests": 100000,
```json
"nginx_http_keepalive_requests": 100000,
"upstream_keepalive_pool_size": 1024
}

これらの値は、アップストリーム接続の再利用を最適化し、高パフォーマンス環境での助けになります。

ステップ10. ゲートウェイを作成する

  • 下部の「ゲートウェイを作成」ボタンをクリックします。

  • ゲートウェイの詳細ページに移動し、作成されたゲートウェイを確認します。

ベストプラクティス

  • 名前に環境のサフィックスを使用します: gateway-dev, gateway-staging, gateway-prod。
  • クリーンなリソース分離のために、環境ごとに専用のネームスペースを定義します。
  • メトリクスベースのトリガーがない限り、オートスケーリングはオフにしておきます。
  • 高可用性を実現するために、アフィニティとトポロジースプレッドを一緒に使用します。
  • 監査とロールバックのために、Kong Configuration JSONを文書化し、バージョン管理します。