ConoHaのDNS APIをCLIから叩くやつを作った

作りました

ConoHa Advent Calendar 2016 24日目の記事です。

ConoHaのDNS

ConoHaには無料で使えるDNS機能が用意されています。
なぜか機能一覧には乗ってません。見落としてるだけだろうか。GeoDNSは書いてある。
料金ページには「ドメインのレコードを登録して使うことができるDNS機能を無料提供。」って書いてありますね。

使ってみる

登録がまだの人は急いで登録しましょう。
ココから登録するとクーポンもらえますよ。
電話認証を選択するのを忘れずに。

とりあえず、ConoHaにログインしたらまず右上のメールアドレスをクリックしてメニューを開き、「アカウント設定 > 表示設定 > モード設定」で”このはモード”を選択します。


あぁ^〜

左のメニューから「DNS」を開けば、こんなカンジでDNSが使えます。

もちろん、ドメインのレジストラの方でネームサーバをConoHaのns-a*.conoha.ioにしないとダメですよ。

それだけ。

DNS API

コレだけだとまぁわざわざConoHaのDNSを使わなくてもレジストラ標準のDNSでいいじゃん!ってなるんですが、
ConoHaのDNSの強みはAPIから設定を操作できる点にあります。

CLIクライアントのpython-designateclientがあるのでそれを使いましょう。

……だと終わってしまうので、自分が使いやすいように作ったconoha-dnsを紹介します。

conoha-dns

nodejsからDNS APIを叩くために書いたコードの副産物的に作りました。

ObjectStorageのCLIクライアントconoha-ojsをリスペクトして

  • 認証情報をファイルに保存
  • シングルバイナリで動作
    するようになってます。

AdC用に急ぎで作ったのでだいぶ作りが荒いです。
問題が起きても責任は取れませんが、よかったら使ってください。
conoha-dns

動作風景

こういうかんじです。
詳しい説明はconoha-dnsを見てね。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ conoha-dns auth
Tenant ID: mytenantid
API User: myusername
Password:
OK
$ conoha-dns add wataraijun.com
id name ttl
------------------------------------ --------------- ----
c8f8677e-742c-4ed6-9a53-de80d76571aa wataraijun.com. 3600
$ conoha-dns add www.wataraijun.com -t CNAME -d www.narusejun.com
id name type ttl data priority
------------------------------------ ------------------- ----- ---- ------------------ --------
bb02410c-2761-4080-9b70-da7445fc714c www.wataraijun.com. CNAME 3600 www.narusejun.com. null

感想

  • 見通しを立ててコード書くの難しい
    • あとからいろいろ変えたらわけわからん設計になった
  • 同じコマンドで別のAPIを叩いてるのが気持ち悪いかもしれない
    • python-swiftclientやconoha-ojsみたいに、list単体だとコンテナを一覧表示、list hogeだとコンテナの中身を一覧表示……みたいなイメージだったんだけど
  • Goはシングルバイナリで配布できる!とか持て囃されてるけどnodejsでもできるから!
    • nexeというものを使います
    • 一部動かないコードがあったり、nodeをまるごとコンパイルするのでクソ時間かかったりしますが……
    • nodejs最高
  • ConoHaちゃんかわいい

以上

このはちゃんが可愛すぎることを差し置いてもConoHaはめっちゃ良いサービスです。
ConoHa最高。

サークルのブログにもConoHa関係の記事があります。
ConoHaでArchLinuxを動かすまで

宣伝

今年の冬コミ(C91)に技術系の合同誌を出します。

トピックは

の5つで200ページとなっております。
角で殴られたら致命傷なカンジな厚さになってます。
1000円です。

木曜日(1日目) 西地区“み”ブロック-18b
「揚羽高校情報処理部」

でお待ちしています。よろしくお願いします!

目次



このエントリーをはてなブックマークに追加