[heroku]QuotaGuard Staticを使ってHerokuでのIP固定を試してみる
herokuでのIP固定といえば、Proximoの方が有名っぽいけど、
QuotaGuard Staticというのでも同じく固定できるようなので試してみた。
アプリへのセットアップをコマンドラインからする場合は以下。
無料プランがあるので、それで試してみる。
$ heroku addons:add quotaguardstatic
以下のように結果が返ってくる。
その中にIPアドレスも含まれる。
Adding quotaguardstatic on static-ip-test... done, v4 (free)
Your static IPs are [54.88.136.216, 54.84.188.199]
Use `heroku addons:docs quotaguardstatic` to view documentation.
Proximoでも同じ仕組のようだけど、
入れたアドオンによって指定されたURLを介してアクセスすることで
固定IPを実現しているよ。
アドオンがプロキシの役目を果たす。
このプロキシ経由でのアクセス数に制限があり、その数で値段が変わる仕組み。
そのアクセス用のURLは環境変数に格納されている。
$ heroku config
QUOTAGUARDSTATIC_URL: http://username:pass@us-east-1-static-brooks.quotaguard.com:9293
上記、IPs
となっているのは、2つのIPのうちどちらかでアクセスされる、とのこと。
負荷分散のよう。
一応、公式の理由。
We believe all apps should be built for scalability and high availability. Our commitment to this means we only provide load balanced, high availability services. Load balancing our nodes allows one node to fail or be brought down for maintenance with no impact to your application. Each IP you are given represents one proxy node that is running behind a load balancer.
IPアドレスはアドオンのダッシュボードからも確認できる。
以下、ダッシュボードを開くコマンド
$ heroku addons:open quotaguardstatic
公式にPHPでの動作サンプルが載っていたのでそのまま使用して試してみた。
以下、転載。
<?php
function lookup(){
$quotaguard_env = getenv("QUOTAGUARDSTATIC_URL");
$quotaguard = parse_url($quotaguard_env);
$proxyUrl = $quotaguard['host'].":".$quotaguard['port'];
$proxyAuth = $quotaguard['user'].":".$quotaguard['pass'];
$url = "http://ip.jsontest.com/";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXY, $proxyUrl);
curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyAuth);
$response = curl_exec($ch);
return $response;
}
$res = lookup();
print_r($res);
?>
ここでアクセスしているhttp://ip.jsontest.com/
のURLは、接続元のIPアドレスをJsonで返してくれるサービスのよう。
アクセスすると、以下のようなJSONが返ってきた。
{"ip": "54.84.188.199"}
リロードすると以下のものとランダムに切り替わっているのが確認できる。
{"ip": "54.88.136.216"}
管理画面を確認すると、アクセス数と残りアクセス数がわかる。
アクセス数は、1月の制限のよう。
無料の場合は250/月。
冒頭のProximoと比較すべく、料金表を抜き出してみた。
QuotaGuard Static
プラン | 値段(月) | アクセス数(月) | 帯域幅 |
---|---|---|---|
Starter | 無料 | 250 | 100MB |
Spike | $5 | 500 | 250MB |
Micro | $19 | 10,000 | 1GB |
Medium | $49 | 50,000 | 10GB |
Large | $89 | 1000,000 | 50GB |
Enterprise | $219 | 1,000,000 | 1TB |
Premium | $399 | 5,000,000 | 無制限 |
Proximo
プラン | 値段(月) | アクセス数(月) | 帯域幅 |
---|---|---|---|
Development | $5 | 1,000 | 500MB |
Starter | $25 | 20,000 | 2GB |
Professional | $75 | 200,000 | 100GB |
Dedicated | $250 | 1,000,000 | 1TB |
Elite | $500 | 5,000,000 | 5TB |
Enterprise | $1250 | 無制限 | 無制限 |
QuotaGuardは無料があるのがやはりお手軽。
しかし、安いうちはProximoの方がお得。
増えてくるとQuotaGuardの方がお得かも。
他の機能もあったりするので一概には言えないけれど。