![](https://cloudii.jp/wp-content/uploads/2021/05/lb_rp.jpg)
こんにちは。a.nakamuraです。
今回はOracle Cloud Infrastructure(OCI)のLoad Balancer(LB)でルーティング・ポリシーを使用してみました。
LBのパスルーティングといえばパス・ルート・セットですが、2022/3/24にルールの新規作成/変更ができなくなるようです。ルールを変更する予定がなければそのまま使用できるようですが、ルーティング・ポリシーに移行することをお勧めしていたので、パス・ルート・セットからルーティング・ポリシーに移行してみます。
目次
ルーティング・ポリシーについて
- 定義した特定の条件に一致するかどうかに基づいて、入力トラフィックリクエストをルーティングする機能です。リスナーにアタッチして使用します。
- ルール条件はパス、HTTPヘッダー、クエリデータパラメータ、Cookieから選択可能で複数のルーティングルールを作成できます。
- ルールは定義した順序で評価され、最初に一致したルールに従ってルーティングします。ルールのいずれにも一致しない場合、リクエストはリスナーに設定されているデフォルトのバックエンドセットにルーティングされます。
公式ドキュメント
パス・ルート・セットからルーティング・ポリシーに移行する
前提条件/設定内容
- LBが作成されていること。
- バックエンド・セット、リスナーが作成/登録されていること。
- URLパスが[/web1]で始まる場合はwebサーバー#1、[/web2]で始まる場合はwebサーバー#2にルーティングする条件でルールを設定します。
※現在、ルーティングの条件にパスを選択する場合、OCIコンソールの表示を日本語表示にすると作成できません。英語表示にすると作成が可能なため、以下では英語表示にして設定しています。日本語表示にした場合でも作成が可能になるよう対応して頂いている為、確認後に内容を更新します。
2021/06/03修正:日本語表示で作成可能になりました。
ルーティング・ポリシーの作成
1.OCIコンソール画面で左上のハンバーガーアイコン -> [ネットワーキング] -> [ロード・バランサ]を選択します。
![ロード・バランサを選択](https://cloudii.jp/wp-content/uploads/2021/05/lb_rp1.jpg)
2.対象LBを選択 -> LBの詳細画面 -> [ルーティング・ポリシー] -> [ルーティング・ポリシーの作成]を選択します。
![Routing Policyを作成](https://cloudii.jp/wp-content/uploads/2021/05/lb_rp2-1.jpg)
3.①ルールの構成画面で[名前]と[条件]を入力し[次]を選択します。
・ 複数ルールを登録する場合は右下の[+ 別の条件]を選択するとルールを追加できます。
・ 条件の設定方法については公式ドキュメントを参考にしてください。
![ルーティングルールを設定](https://cloudii.jp/wp-content/uploads/2021/05/lb_rp3-1-669x1024.jpg)
4.②セット順序画面でルール内容/順序を確認し、 [ルーティング・ポリシーの作成] を選択します。
ルール順序は[順序の変更]欄で変更することができます。
![ルーティングルールの順序確認](https://cloudii.jp/wp-content/uploads/2021/05/lb_rp4-1-1024x232.jpg)
5.ルーティング・ポリシーが作成できした。
![ルーティング・ポリシー](https://cloudii.jp/wp-content/uploads/2021/05/lb_rp5-1-1024x371.jpg)
リスナーにルーティング・ポリシーを適用
1.LBの詳細画面 -> [リスナー] -> 対象リスナーの右側にある三点トリコロンを選択 -> [編集]を選択します。
![リスナーを編集](https://cloudii.jp/wp-content/uploads/2021/05/lb_rp6-1-1024x150.jpg)
2.リスナーの編集画面の[パス・ルート・セット]で[なし]を選択 -> [ルーティング・ポリシー]で対象のルーティング・ポリシーを選択 -> [変更の保存]を選択します。
![ルーティング・ポリシーを選択](https://cloudii.jp/wp-content/uploads/2021/05/lb_rp7-1-1024x709.jpg)
3.ルーティング・ポリシーが適用できました。
![リスナー画面](https://cloudii.jp/wp-content/uploads/2021/05/lb_rp8-1-1024x173.jpg)
4.URLパスを[/web1]にするとwebサーバー#1、[/web2]にするとwebサーバー#2に接続できることを確認できました。
![検証結果](https://cloudii.jp/wp-content/uploads/2021/05/lb_rp9.jpg)
まとめ
ルーティング・ポリシーの作成、パス・ルート・セットから移行をしてみました。コンソール画面も見やすく、簡単に移行することができました!
また、パス以外の条件を設定する機能ができたので使用する機会が増えそうですね!
以上、ありがとうございました。