hetzner cloud
- https://www.hetzner.com/cloud
- ドイツのホスティングプロバイダhetznerのpublic cloud。なぜかフィンランドにもDCがある。
- isoインストールできるKVM VPSとして使える
- 同EUはフランス・オランダにDCのあるscalewayあたりを意識した価格設定で安価。2GBRAMが2.49EUR/mより。
- Digital Oceanなどと同様、リソースタイプが複数用意され、大抵のリソースが1時間単位で課金される
- プライマリストレージはNVMeとCephストレージを選択して性能と可用性と選択可能
- プライマリのスナップショットは0.01EUR/GB/m。fstrimと圧縮が効くので安価。qemu-guest-agentを入れればオンラインでも取得可能。
- ブロックストレージは10GB 0.4EUR/mから利用可能
- 帯域は20TB/mが付属
日本とのRTTさえ気にならない用途であればテスト環境としていろいろと嬉しい
基本構成
- 仮想環境: KVM
- CPU: Skylake以降の命令セットが使える(モデルはマスクされている)
- RAM: プランごと固定
- DISK: プランごと固定サイズのNVMe/Cephの選択制。どちらも同料金。
ストレージ
ランダムIOはIOPS制限されているように見える。(グラフが提供されていて監視されていることは伺える)
4k random read/write 並行で
- NVMe: 34K/3K IOPSほど
- ブロックストレージ(ceph?): 8K/400 IOPSほど
Seq readは安定しないけれど数100MB/sはでているので実用的に困ることはなさそう。
Cephらしいブロックストレージは/dev/sdb以降にアタッチされる。
マウント関連のスクリプトがcloud-initで提供されているが挙動が怪しい。LVMにactivate任せたほうが楽だろう。
ネットワーク
VMにグローバルIPアドレスが直接振られるものの、構成が一般的ではない。手動設定か、cloud-initを使う必要がある。
IPv4はDHCPで以下のように通知される。
- /32でグローバルIPアドレス1個
- 172.31.1.1/32 へのホストルートをens3へ
- 172.31.1.1をデフォルトゲートウェイ
このため、debian/ubuntuのインストーラはIP設定が不適切と判定するらしく、DHCP取得に失敗する。上記設定を手動で行うか、インストール後にDHCPを有効化する必要がある。
IPv6はRA/DHCPともに応答が無い。固定IPアドレスで以下のように設定する必要がある。
- /64のグローバルIPアドレス
- fe80::1へのデフォルトルート
cloud-initにはipv6アドレス範囲しか乗っていないので、いずれにせよDHCPv4は有効にする必要があり、v4/v6で非対称になってしまっている。
フローティングIPはv4/v6ともに1EUR/m。これも手動で設定が必要。スナップショットから復元時にVM内部からAPIを叩いて取得するとかしたほうが早そう。
特にファイアーウォール機能はなさそう。
API・コンソール
hcloud CLIが提供されている。
複数アカウントで共有する「プロジェクト」という単位でVMやリソースを管理可能。
コンソールは大体の機能にアクセス可能。スナップショット取得進捗が出るなどUXは十分に思う。
ISOマウントできるものの、カスタムISOアップロードが提供されていないため、どうしても必要ならrescueでブートしてからネットワークインストールが必要。
その他
アカウント作成にID要求あり。VATは0%として表示・適用された。
ドイツ語ページは多いもののの英語ドキュメントがあり、現状機能も多くはないので十分。