こんにちは。エクセルソフトの田淵です。
Kong の Meetup 用にハンズオンの資料を作成しています。
Azure に Ubuntu を立てて、Docker がない方でもハンズオンが出来るようにと、複数の Kong フロントエンドを立てられるようにしています。
するとやらなければいけないのが、複数の Kong で開放するポートにアクセスできるように ufw を設定すること。
基本的な使い方は以下など沢山情報がありますので参考にしてください。
Azure の Ubuntu Server はデフォルトで ufw が入っていて、OpenSSH
だけが allow されている状態です。
$ ufw status verbose Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), deny (routed) New profiles: skip To Action From -- ------ ---- 22/tcp (OpenSSH) ALLOW IN Anywhere 22/tcp (OpenSSH (v6)) ALLOW IN Anywhere (v6)
今回、複数の Kong で使用するポートを範囲で allow したかったのですが、その情報があまりなかったのでメモしておきます。
範囲でポートを公開する方法
$ sudo ufw allow 1000:1020/tcp
これで 1000番~2010番までが allow されます。
アプリケーションとして登録する方法
毎回コマンドでオン/オフするのは面倒なので、OpenSSH
のようにアプリケーションとして登録したいと思います。
/etc/ufw/applications.d/
に所定の形式でファイルを作成して、$ sudo ufw reload
すると $ sudo ufw app list
でアプリリストに表示され、かつ、$sudo ufw allow XXX
とアプリ名だけで allow や deny ができます。便利ですね。
早速作ってみましょう。今回は /etc/ufw/applications.d/
に Kong
というファイルを作成し、例えば次のように中身を作成します。
[Kong] #認識されるアプリ名 title=Kong API Management #アプリのタイトル description=Kong API management server #アプリの説明 ports=8000,8001,8443,8444/tcp|18000:18050/tcp|28000:28050/tcp #ポートの指定
後は、次のコマンドで Kong
を追加できます。
$ sudo ufw allow Kong Rule added Rule added (v6)
削除は
$ sudo ufw delete allow Kong Rule deleted Rule deleted (v6)
です。無事に変更されたか確認してみましょう。念のため(必要かは分かりません)$ sudo ufw reload
をして、$ sudo ufw status verbose
してみましょう。
$ sudo ufw status verbose Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), deny (routed) New profiles: skip To Action From -- ------ ---- 22/tcp (OpenSSH) ALLOW IN Anywhere 18000:18050/tcp (Kong) ALLOW IN Anywhere 28000:28050/tcp (Kong) ALLOW IN Anywhere 22/tcp (OpenSSH (v6)) ALLOW IN Anywhere (v6) 18000:18050/tcp (Kong (v6)) ALLOW IN Anywhere (v6) 28000:28050/tcp (Kong (v6)) ALLOW IN Anywhere (v6)
問題なく登録されていますね。稼働している Kong にアクセスしてみても問題なく帰ってきます。
$ curl -i http://XXX.XXX.XXX.XXX:28001/ HTTP/1.1 200 OK Date: Wed, 07 Mar 2018 10:40:51 GMT Content-Type: application/json; charset=utf-8 Transfer-Encoding: chunked Connection: keep-alive Access-Control-Allow-Origin: * Server: kong/0.12.2 ...略
設定ファイルの書き方を残しておきたかったので、メモしました。
API Management ツールの Kong について気になる方は
をご覧ください。
以上です。