Cloud Internet Servicesとは
Cloudflareを使用したCloud Internet Services(CIS)について、2018年3月に開催されたTHINK 2018 にて、アーリー・アクセス・プログラムが発表されました。Cloudflareとの協業により、IBM CloudからCloudflareのインターネット関連サービス(DNS, WAF, Load Balancing等)を利用できるようになりました。
現在、フリーのアーリー・アクセス・プログラムは終わっておりますが、30日間の無料トライアルを利用することが可能です。
https://www.ibm.com/blogs/solutions/jp-ja/ibm-cloud-internet-services-ga/
今回はこのCISを実際に試してみましょう。流れとしては以下の通りです。
- 新たなDNSを作成
- 既存のドメインのNSレコードを変更
- 既存ドメインへアクセスした際に名前解決に利用されるネームサーバーが変更されていることを確認
必要な環境、モノ
・IBM Cloud
・ターミナル (CLI実行環境)
・自己所有のドメイン
CIS on IBM Cloud
IBM Cloudはクレジットカードの登録が不要でいつまででも使えるライトアカウントというのがあります。通常アカウントを作成すると初期状態では全ての人がこのライトアカウントになります。
残念ながらCISはライトアカウントで使うことができません。ではIBM CloudでCISを使うとお金がかかってしまうのか?というのが気になる所だと思います。
ご安心下さい。CISを試してみたい方、そんなに本格的には使わないよという方向けに、無償で使えるプランがあります。アカウントそのものはライトアカウントからPAYGアカウント(クレジットカード登録が必要な従量課金アカウント)へアップグレードが必要になります。ただし、このPAYGアカウントは使ったらいきなり課金が発生するわけではありません。有償のプランを選択しない限りは課金されません。細かい料金体系はサービスごとに異なるので気になる方はお気軽にお聞き下さい。
CISについては、無償で使えるフリートライアルプランが用意されています。こちらは課金が発生しない代わりに30日でExpireする、という制限があります。挙動を確認したり、勉強会などで利用方法を学んだりするレベルであれば十分事足りると思います。
IBM Cloudアカウントの作成
まずはIBM Cloudのアカウントを作成しましょう。初めて作成する場合は前述の通りライトアカウントになります。このままだとKubernetesが使えないのでPAYGアカウントへアップグレードしてください。
すでにライトアカウントをお使いの方も同様にPAYGアカウントへアップグレードしてください。
アカウント登録はこちらから。
https://ibm.biz/Bdzce8
上部メニューからManage (管理) を選択します。
Account settingからAdd credit cardを選択するとPAYGアカウントへアップグレードできます。
Internet Serviceをオーダーする
IBM Cloudへログインします。カタログからNetworking(ネットワーク)を選択します。その中からInternet Servicesを選択してください。
サービス名はそのままで結構です。料金プランから「フリートライアル」を選択して作成ボタンをクリックします。
Let’s get startedボタンを押すとドメイン入力フィールドが出現するので、今回新ネームサーバーで名前解決させたい自己所有ドメインを入力して下さい。ここでは、私が所有しているfillgap.jpというドメインを設定しています。
次にCISのDNSに自己所有ドメインのレコードを登録します。ここでの作業はOptionalなので必須では無いのですが、この後の手順にて自己所有ドメインの名前解決を行うネームサーバーが変更された際に、移行されやすくするためにこのステップを行うことが推奨されています。
自己所有ドメインのDNSレコードをファイルでインポートすることも可能です。その場合は、現在のDNSレコードをエクスポートしておいて下さい。今回は手入力で設定します。
因みに、DNS変更が完了するまでは、ステータスはPendingになっています。以下の画面のDomainの右側です。
Type: CNAME
Name: www
Value: 対象のドメイン
ドメインのNSレコードを編集
ドメイン管理サービスのコントロールパネルからNSレコードを編集します。今回私は自己所有ドメインを管理しているさくらインターネットの環境で作業を行いました。ここの作業は、各自のドメインレジストラサービスにより異なりますので、適宜読み替えて下さい。IBM Cloud IaaS経由でドメインを取得した方はそのままIBM Cloudの管理コンソールで作業となります。
ns1.dns.ne.jp 及び ns2.dns.ne.jp をそれぞれCISで提供されたネームサーバーに書き換えます。
しばらくするとCISのステータスがPendingからActiveへ変更されます。これで設定は完了です。この処理は数十分〜1時間程度かかることがあります。
DNSとwhoisの確認
では、コマンドラインから変更されたことを確認しましょう。
対象サーバーのIPアドレスをwhoisで見てみるとCloudflareのIPアドレスとして登録されていることが確認できました。
$ nslookup www.fillgap.jp
Server: X.X.X.X
Address: X.X.X.X#XX
Non-authoritative answer:
Name: www.fillgap.jp
Address: 104.20.240.133
Name: www.fillgap.jp
Address: 104.20.239.133$ whois 104.20.240.133
% IANA WHOIS server
% for more information on IANA, visit http://www.iana.org
% This query returned 1 object
refer: whois.arin.net
inetnum: 104.0.0.0 - 104.255.255.255
organisation: ARIN
status: ALLOCATED
whois: whois.arin.net
changed: 2011-02
source: IANA
#
# ARIN WHOIS data and services are subject to the Terms of Use
# available at: https://www.arin.net/resources/registry/whois/tou/
#
# If you see inaccuracies in the results, please report at
# https://www.arin.net/resources/registry/whois/inaccuracy_reporting/
#
# Copyright 1997-2019, American Registry for Internet Numbers, Ltd.
#
#
# Query terms are ambiguous. The query is assumed to be:
# "n + 104.20.240.133"
#
# Use "?" to get help.
#
NetRange: 104.16.0.0 - 104.31.255.255
CIDR: 104.16.0.0/12
NetName: CLOUDFLARENET
NetHandle: NET-104-16-0-0-1
Parent: NET104 (NET-104-0-0-0-0)
NetType: Direct Assignment
OriginAS: AS13335
Organization: Cloudflare, Inc. (CLOUD14)
RegDate: 2014-03-28
Updated: 2017-02-17
Comment: All Cloudflare abuse reporting can be done via https://www.cloudflare.com/abuse
Ref: https://rdap.arin.net/registry/ip/104.16.0.0
OrgName: Cloudflare, Inc.
OrgId: CLOUD14
Address: 101 Townsend Street
City: San Francisco
StateProv: CA
PostalCode: 94107
Country: US
RegDate: 2010-07-09
Updated: 2018-10-10
Comment: All Cloudflare abuse reporting can be done via https://www.cloudflare.com/abuse
Ref: https://rdap.arin.net/registry/entity/CLOUD14
~ 以下省略
今回は、アプリの作り方ではなく、インフラ系のサービスの使い方紹介でした。CISを使ってみようと思っている方の参考になれば幸いです!
――――――――――――――――――――――――――――――――――――――
Information
IBM Code Patterns
http://developer.ibm.com/jp/
IBM Developer Advocate Profile
https://developer.ibm.com/code/community/advocates/taijih
Cloud Developers Circle
(ベンダー依存しないクラウドデベロッパーのためのコミュニティ)
https://cdevc.connpass.com/
Node-RED ユーザーグループ
https://node-red.connpass.com/
IBM Cloud ユーザーグループ
https://bmxug.connpass.com/