このチュートリアルでは、Container Service for Kubernetes (ACK) 上で実行されているアプリケーションをインターネットに公開する方法について説明します。HTTP API を作成し、Cloud-native API Gateway でルートを設定して、マイクロサービスへの外部アクセスを許可する方法を学びます。
前提条件
-
コンテナクラスターを作成済みであること。詳細については、「ACK マネージドクラスターの作成」をご参照ください。
-
ACK クラスターにサンプルマイクロサービスをデプロイ済みであること。
ソリューション概要
このソリューションでは、Cloud-native API Gateway インスタンスを作成し、ACK クラスターに関連付けます。次に、ゲートウェイでルートを設定してトラフィックをコンテナ化されたアプリケーションに転送し、クライアントが API ゲートウェイを介してアクセスできるようにします。
-
Cloud-native API Gateway インスタンスの作成。
既存のマイクロサービス環境に基づいて Cloud-native API Gateway インスタンスを作成します。
-
HTTP API を作成します。
-
サービスのルートを追加して公開します。
-
サービスソースの作成
Cloud-native API Gateway でサービスソースを追加し、ソースタイプとして ACK を選択します。
-
サービスの追加
Cloud-native API Gateway は ACK ソースからサービスの名前空間を取得し、既存のサービスをバックエンドサービスとして追加できます。
-
-
マイクロサービスのルートをテストします。
ステップ 1: Cloud-native API Gateway インスタンスの作成
-
Cloud-native API Gateway コンソールにログインします。Cloud-native API Gateway を初めて使用する場合は、次の手順を実行します。
説明Cloud-native API Gateway に初めてアクセスすると、サービスリンクロールを作成するための承認を求めるメッセージが表示されます。
-
Authorize Now をクリックします。表示されるダイアログボックスで、OK をクリックします。
-
Experience Cloud-native API Gateway Now をクリックすると、コンソールに移動します。
-
-
左側のナビゲーションペインで、インスタンス を選択します。トップメニューバーでリージョンを選択し、Create Instance をクリックします。
重要Cloud-native API Gateway インスタンスは、ACK クラスターと同じリージョンに配置する必要があります。
-
クラウドネイティブ API ゲートウェイの購入ページで、インスタンスのパラメーターを構成し、今すぐ購入 をクリックします。
[リージョン]、[ゲートウェイ名]、[ゲートウェイ仕様]、[VPC]、[VSwitch] などの主要なパラメータを設定します。
-
注文確認 ページで、クラウドネイティブ API ゲートウェイ (従量課金) サービス利用規約を読み、同意しました チェックボックスにチェックを入れ、次に Activate Now をクリックします。
説明インスタンスの作成には 2〜3 分かかる場合があります。
-
[管理コンソール] をクリックし、インスタンス ページに戻ってゲートウェイの情報とステータスを表示します。
ゲートウェイのStatusがRunningであれば、ゲートウェイは正常に作成されています。
ステップ 2: HTTP API の作成
-
左側のナビゲーションペインで、API を選択し、Create API をクリックします。
-
HTTP API カードで、Create をクリックします。「HTTP API の作成」パネルで、API Name を入力し、[作成] をクリックします。
ステップ 3: ルートの作成
-
左側メニューで、API ページに移動し、API の名前をクリックします。
Create Route をクリックします。Create Route パネルで、パラメーターを設定します。
基本的なルート情報
[基本情報とマッチングルール] ページで、[ルート名] を httpbin-demo に設定します。[ドメイン] で httpbin.com を選択します。[パス] では、マッチング方法として [前方一致] を選択し、パスに / と入力して、[大文字と小文字を区別] チェックボックスにチェックを入れます。
-
ドメイン:右側の [ドメインの追加] をクリックして、ドメインの追加パネルでドメイン名を作成できます。
-
パス: パスが
/で始まる HTTP リクエストに一致します。
インスタンスとバックエンドサービス
ゲートウェイインスタンスを作成すると、デフォルトの環境が自動的に作成され、インスタンスに関連付けられます。
-
Instance ドロップダウンリストから、ステップ 1 で作成したインスタンスを選択します。
[バックエンドサービス] セクションで、[サービス名]、[サービスポート]、[プロトコル] を設定します。
-
シナリオ: Scenario リストから、Single Service を選択します。
-
Backend Services セクションで、Service Name ドロップダウンリストから Associated Service をクリックします。
-
サービスソースとサービスを作成します。
-
Source Type には、 ACK を選択します。
-
Add Source をクリックし、前提条件セクションで作成したクラスターを選択します。
-
Services から
httpbinサービスを選択し、OK をクリックします。 -
Backend Services セクションで、Service Name ドロップダウンリストから、追加した httpbin サービスを選択します。
-
-
Save and Publish をクリックします。
ステップ 4: ルートのデバッグ
-
左側メニューで、API ページに移動し、API の名前をクリックします。
-
ルートリストで、
httpbin-demoルートを探し、Actions 列の Debug をクリックします。 -
リクエストパラメーターとしてバージョンを入力し、Send をクリックしてサービスレスポンスを表示します。
レスポンスには
version: v1とhostname: httpbin-xxxが含まれます。ここで、xxx は実際の Pod 名のサフィックスです。
関連ドキュメント
-
複数の ACK クラスターを管理する方法については、「Cloud-native API Gateway を使用した複数の ACK クラスターの管理」をご参照ください。
-
Cloud-native API Gateway の使用中に問題が発生した場合は、「FAQ」をご参照ください。