初版: 2018/12/18
著者: 田畑義之, 株式会社日立製作所 (GitHubアカウント: @y-tabata)
本記事は、あくまで執筆者の見解であり、所属企業及びRed Hatの公式なドキュメントではありません。
はじめに
2018年12月11日、Red Hat 3scale API Management Platform (以下、3scale)のバージョン2.4がリリースされました。2018年10月5日の2.3のリリースから約2か月ぶりの新バージョンです。
本稿では、3scale 2.4の主な変更点を紹介します。
3scaleとは
3scaleとは、Red Hat主体で開発が進められているAPI管理製品です。
詳細は、筆者の過去記事「OSSベースのAPI管理製品 3scale 2.2を試してみた」の「3scaleとは」をご参照ください。
2.4の主な変更点
2.4の主な変更点は4つです。
- サービスディスカバリ
- GUIの刷新
- CLIのサポート
- IPチェックポリシー
他のマイナーな変更点に関してはリリースノートをご参照ください。
サービスディスカバリ
2.4の特筆すべき点は、このサービスディスカバリ機能が追加されたことです。
この機能はRed Hatが推進するアジャイル・インテグレーションを実現するための機能です。
アジャイル・インテグレーションとは、Red Hatが提供する3scale、OpenShift、Fuse、AMQを統合し、設計から公開までのAPIライフサイクル全般の全フェーズをカバーするというソリューションです。アジャイル・インテグレーションの詳細は、公式サイトをご参照ください。
サービスディスカバリ機能では、このアジャイル・インテグレーションを実現すべく、OpenShiftのサービスをAPIとして3scaleにインポートすることができるようになりました。また、OpenAPI Specification (Swagger)も3scaleのActive docsとしてインポートすることができるようになりました。
これにより、今まで3scale独自で設定する必要があったAPIの情報を、シームレスに取り込むことができるようになり、時間とコストの無駄がなくなりました。
GUIの刷新
2.4では、GUIが刷新されました。
例えば、管理者ポータルのダッシュボードは以下のようになりました。
比較のために、以下に2.3の管理者ポータルのダッシュボードを示します。
ボタンやタブ等の配置もガラッと変わり、2.3以前を使い慣れていた方にとっては、慣れるのに時間がかかるかもしれません。
しかし本変更の目的は、Red Hatの他製品(OpenShiftなど)と使用感を統一するためということですので、アジャイル・インテグレーションを考えると、製品ごとの違いが吸収されて使い勝手が良くなったかと思います。アジャイル・インテグレーションの推進に力を入れようとしていることが見て取れますね。
CLIのサポート
2.4では、CLIが正式にサポートされました。
GitHubリポジトリは「3scale_toolbox」です。
実は約1年前、筆者も本リポジトリにコミットしていました。
筆者は、既存のサービスを更新するUpdateコマンドを作り(PR #34)、またCopyコマンドをエンハンスして、"API Key (user_key)"のサービスのみではなく、"App_ID and App_Key Pair"のサービス、"OAuth 2.0"のサービス、"OpenID Connect"のサービスをコピーできるようにしました(PR #33)。
筆者がコミットしていたころは、3scale_toolboxはまだ非公式の便利ツール的な立ち位置でしたが、今回ドキュメントも整備され、正式サポートとなったようです。
自ら手を加えた製品が正式にサポートされるのはうれしいですね。
IPチェックポリシー
2.4では、IPチェックポリシーが追加されました(PR #907)。
これは、IPアドレスによるアクセス制御を実現できるポリシーです。実際にアクセスしてきたクライアントのIPアドレスのみではなく、X-Forwarded-For
ヘッダやX-Real-IP
ヘッダに指定されたIPアドレスに対してもアクセス制御を適用することができます。
おわりに
本稿では、3scale 2.4の主な変更点を紹介しました。
アジャイル・インテグレーション実現に動きだし、GUIも刷新され、また一回り製品としてグレードアップしたように感じます。
昨今マイクロサービスの分野では次々と新しい技術が登場し、それに伴いAPI管理の分野も目まぐるしく発展しています。今後の動きにも乞うご期待です。