このブログは、Microservices March 2022のKubernetesネットワーキングに関する全5回シリーズの第3回です。
- プログラム概要:Microservices March 2022:Kubernetesネットワーキング
- ユニット1:高トラフィックWebサイト向けKubernetesクラスターの設計
- ユニット2:KubernetesでAPIを公開する(本記事)
- ユニット3:Kubernetesにおけるマイクロサービスのセキュリティパターン
- ユニット4:高度なKubernetesデプロイ戦略
また、NGINXを使用したKubernetesネットワーキングの実装について詳しく解説した無料eBook『Managing Kubernetes Traffic with NGINX: A Practical Guide』もぜひダウンロードしてください。
KubernetesからAPIリクエストを処理する予定で、APIゲートウェイのデプロイに関するベストプラクティスを知りたい方には、Unit 2がおすすめです。
3つのアクティビティを通じて、概要から実践的な応用へと段階的に学べます。学習効果を最大限に高めるため、3つすべてを完了することをお勧めします。
ステップ1:ライブ配信を視聴(1時間)
Microservices Marchの各ライブストリームでは、learnk8sとNGINXの各分野の専門家を迎え、トピックの概要をご紹介します。3月14日のライブ配信を見逃しても、ご心配はいりません。オンデマンドでご視聴いただけます。
このエピソードでは、次の疑問にお答えします。「KubernetesでAPIを公開するにはどうすればよいですか?」取り上げる内容は次のとおりです。
- KubernetesにAPIゲートウェイをデプロイするためのベストプラクティス
- 認可と認証
- OpenID Connect (OIDC)
- レート制限
 
ステップ2:知識を深める(1~2時間)
ライブストリームの視聴後には、さらに疑問が生じることでしょう。そこで、関連する記事や動画を厳選しました。このユニットでは、KubernetesにAPIゲートウェイをデプロイするためのツールの選択肢と、それらのツールで実現できるユースケースという2つのトピックを詳しく解説します。

まずはこのブログをご覧ください。南北方向と東西方向のAPIトラフィックのシナリオ例を交えながら、APIゲートウェイのユースケースにどのテクノロジーを使用すべきか判断するためのポイントを解説します。

さまざまなツールとユースケースについて解説するほか、Ingressコントローラーとサービスメッシュを使用してAPIゲートウェイのユースケースを実現する方法を、F5のエキスパートが実演します。
KubernetesでAPIゲートウェイをデプロイする方法について基礎を理解したところで、一般的なユースケースを詳しく見ていきましょう。以下のブログでは、Kubernetesツールを使用して、本人確認とレート制限という2つの一般的なユースケースを実装する方法を解説します。
Ingress Controllerは、Kubernetesで認証と認可を一元化するのに最適な場所であり、エラーの削減と効率の向上に役立ちます。このブログでは、OIDC認可コードフローにおいて、NGINX Ingress Controllerをリライングパーティ、Oktaをアイデンティティプロバイダーとしてシングルサインオンを実装する方法を解説します。

大量のリクエストによってKubernetesサービスが過負荷になる可能性があります。そのため、各クライアントからのリクエスト数を適切な範囲に制限することは、レジリエンス戦略の重要な要素です。このブログと動画では、NGINX Service Meshを使用して、10分未満でレート制限ポリシーを定義し、適用する方法をご紹介します。
追加調査
APIとAPIゲートウェイについてさらに理解を深めたい方で、1~2時間以上の時間を確保できる場合は、以下の追加リソースをご覧になることをおすすめします。
eMagazine | リアルタイムAPI:設計、運用、可観測性
このeMagazineでは、信頼性の高い柔軟性を実現するためのAPIの効果的な計画、アーキテクチャ、デプロイについて解説します。

このeBookは、妥協することなくアプリケーションとAPIのレイテンシーを低減するための包括的なガイドです。リアルタイムAPIを推進するトレンド、あらゆる企業に役立つ実践的なリファレンスアーキテクチャ、適切なAPI管理ソリューションへの投資をビジネス面から裏付けるのに役立つベンダー比較やケーススタディを取り上げています。

このO’ReillyのeBookでは、Mike Amundsenが、APIトラフィックの監視と管理に関する基本概念や課題を開発者とネットワーク管理者向けに解説します。外部(南北)トラフィックを可視化・制御する方法と、内部(東西)トラフィックを最適化する方法を学べます。また、ビジネス目標や社内の進捗指標を、実用的なトラフィックの監視、レポート、分析に結び付ける、適切なAPIトラフィック運用のビジネス価値についても考察します。
ステップ3:実際に操作する(1時間)
どれほど優れたウェビナーや調査資料があっても、実際にテクノロジーに触れる体験に勝るものはありません。ラボでは一般的なシナリオを実践し、学んだ内容を定着させることができます。
2つ目のセルフペース型ラボでは、NGINX Ingress Controllerを使用してレート制限を実装し、過剰なリクエストによるAPIやアプリの過負荷を防ぎます。このラボのウォークスルー動画で実際の動作を確認し、各手順の理由を学びましょう。
ラボにアクセスするには、Microservices March 2022への登録が必要です。すでに登録済みの場合は、Unit 2 Learning Guideとともに届いたメールにアクセス手順が記載されています。または、NGINXチュートリアル:レート制限によるKubernetes APIの保護を参考に、ご自身の環境でラボをお試しいただけます。
 
Microservices Marchに登録する理由
一部のコンテンツ(ライブ配信とブログ)は無料でご利用いただけますが、すべてのコンテンツをお楽しみいただくために、少量の個人情報をご提供いただく必要があります。登録すると、以下をご利用いただけます。
- 一般的なシナリオを通じてテクノロジーを実際に体験できる、4つの自習形式ラボへのアクセス
- 専門家への質問や他の参加者との交流に利用できるMicroservices March Slackチャンネルへの参加
- 予定に沿って学習を進めるための週次学習ガイド
- ライブ配信のカレンダー招待
今後の予定
ユニット3:Kubernetesにおけるマイクロサービスのセキュリティパターンは3月21日に始まります。サイドカーパターン、サービスのセキュリティとレジリエンスの向上に役立つポリシー、サービスメッシュ、mTLS、エンドツーエンド暗号化について学びます。

NGINXを使用したKubernetesネットワーキングの実装に関する詳しいガイダンスについては、eBook「Managing Kubernetes Traffic with NGINX:実践ガイド」をダウンロードしてください。
著者について

関連するブログ記事
チュートリアル:NGINXを使用してアプリケーション向けにOpenTelemetryを構成する
OpenTelemetryを使用してNGINXサーバーの状態と健全性をより明確に把握することで、問題のトラブルシューティングを行い、Webアプリケーションのパフォーマンスを向上できます。
AkitaのNGINX Plus認定モジュールでAPIエンドポイントの問題を特定・修正
Akita SoftwareのAPIオブザーバビリティ向け新しいNGINX Plus Certified Moduleを活用して、APIエンドポイントの問題をより迅速に特定し、修正できます。
JavaプロジェクトをスキャフォールディングしてKubernetesネイティブアプリを構築する方法
Red HatのシニアプリンシパルデベロッパーアドボケイトであるDaniel Oh氏が、Javaプロジェクトをゼロから構築するためのひな形を作成し、Kubernetesネイティブアプリケーションとしてビルドする方法を解説します。
F5 NGINXaaS for Azureのご紹介:Microsoft Azureでネイティブに利用できるSaaS型ロードバランシング
NGINXaaS for Azureは、NGINX PlusをAzureネイティブのSaaSとして利用できるサービスです。NGINXの設定を容易にリフト&シフトできるため、クラウド導入とモダンアプリの展開を加速できます。

SELinuxでNGINXおよびNGINX Plusを使用する
Red Hat Enterprise Linux(RHEL)および関連ディストリビューションでSecurity-Enhanced Linux(SELinux)を有効にすると、デフォルト設定によりNGINXとNGINX Plusの一部の操作が制限されます。この記事では、すべての機能を利用できるようにSELinuxの設定を変更する方法について説明します。
NGINX PlusによるAWS Auto Scalingグループの負荷分散
新しいnginx-asg-sync統合ソフトウェアにより、NGINX PlusはAWS Auto Scalingグループの負荷を直接分散できるため、クラウドでの負荷分散がさらに柔軟になります