世界を動かす技術を、日本語で。

AWSからHetznerに移行することで、価格の1/4で3倍のパフォーマンスを実現

概要

  • AWSとDigitalOceanからHetznerへの移行で クラウドコストを76%削減 し、 キャパシティを3倍以上 に増強
  • DigitalSociety の主要サービスはクラウド上で稼働、運用コストとパフォーマンスの最適化を追求
  • Hetznerは 自己管理型VPS 中心だが、価格と柔軟性が魅力
  • KubernetesとTalos Linux、CloudNativePGなどで インフラ全体を自動化・一元管理
  • 移行には ネットワーク構成や自動化の課題 もあったが、コスト・性能両立に成功

Hetzner移行でコスト76%削減、キャパシティ3倍超

  • DigitalSociety はクラウドコスト削減とパフォーマンス向上を目的に、AWSとDigitalOceanから Hetzner へ全面移行
  • 旧構成はAWSでtap(SaaSプロダクト)をECS、RDS、ALB等で運用、DigitalOceanではKubernetesを活用
  • AWSは API安定性・信頼性 が高評価、DigitalOceanは シンプルなKubernetes管理 と低コストで選定
  • スタートアップ向けAWSクレジット($1,000)活用でtapを構築したが、 クレジット消費後の運用コスト増 が課題
  • Fargateで2vCPU/4GiB RAMのコンテナは $70/月、tap全体で $449.50/月
  • クレジット消滅後、 自腹での高額運用コスト がスタートアップには大きな負担

代替クラウド検討とHetzner選定理由

  • コスト圧縮・AI規制強化の流れから EU/UK拠点のクラウド を検討
  • Hetzner は自己管理型VPS主体だが、価格が圧倒的に安価
  • Kubernetesベースの既存構成を活かし、 Talos Linux (Kubernetesノード管理自動化OS)を採用
  • マネージドPostgreSQLの代替に CloudNativePG を選定、Kubernetesマニフェストで管理可能
  • その他、 Ingress NGINX Controller (ロードバランサ)、 ExternalDNS (DNS連携)、 cert-manager (TLS証明書発行)を活用
  • Terraform/Helm/GitHub Actions でインフラ全体をコード化・自動化

新インフラ構成と比較

  • HetznerのARM共有vCPUクラウドサーバ、ブロックストレージ、ロードバランサ、S3互換ストレージ等を活用
  • 月額コスト比較
    • AWS+DigitalOcean: $559.36
    • Hetzner: $132.96(-76%)
  • キャパシティ比較
    • AWS+DigitalOcean:12 vCPUs / 24 GiB RAM
    • Hetzner:44 vCPUs / 88 GiB RAM(+367%増)

主な移行課題

  • Hetznerのネットワークゾーン はAWSのアベイラビリティゾーンと非互換
    • Hetznerは「ロケーション」単位、複数ロケーション間通信は 高遅延 でパフォーマンスに影響
    • 単一ロケーション(Nuremberg)+プレースメントグループ で冗長性を確保
  • Dockerベースサービスの移行 は自動化周りで想定以上に工数増
    • ECS→Kubernetes移行では Kustomize を活用し、GitHub設定からKubernetesマニフェストへの連携を実現
    • 機密情報と非機密情報の管理方法も見直し、 設定変更の追跡性向上 を実現

結論

  • Hetzner はコスト効率が圧倒的で、自己管理を厭わなければ AWS/DigitalOceanの代替 として十分実用的
  • tap のようなデータ集約型SaaSも、低コストかつ高性能で運用可能
  • インフラ自動化・一元管理 により、今後のサービス開発と運用の両立が容易に

Hackerたちの意見

Hetznerの専用サーバーの一番の特徴は、無制限の帯域幅だね。画像が多いウェブサイトをいくつかホスティングしてるんだけど(主にモッディング関連)、Hetznerに移ってからは毎月同じ料金で済むって知ってるから、ぐっすり眠れるようになったよ。もう3年くらい、幸せなHetznerユーザーだしね。

俺もHetznerを使ってるけど、いくつか注意点があるよ。すごくいいけど、稼働率はAWSほど良くないし、地域のカバー範囲もイマイチ。Cloudflareと組み合わせることを強く勧めるよ。HetznerをコアにしてK8sを使って、R2/D1/KVとContainer Durable Objectsを使ってエッジコプロセッシングを追加するのがいいと思う。顧客データを個別のDOに分けるのも好きで、これでデータレイヤーのスケーリングのプレッシャーがかなり軽減されるし、セキュリティやプライバシーも向上するよ。

俺もそうしてるよ。基本的に「コア」とデータストレージにはHetznerの専用サーバーを使って、薄いエッジノードを世界中のOVHでホスティングして、俺の自家製CDNを作ってる。

AWSは確かに結構公にダウンタイムがあったよね ;) 俺の経験では大体同じくらいだと思う。IMHO、これを避ける唯一の方法はマルチリージョンだね。

顧客データがエッジと考えられるなら、コアって何?

うちの会社でも同じことをしたよ。小規模でステートレスなサービスはAWSに残して、データベースや高スケール・高パフォーマンスのサービスをベアメタルサーバーに移行したんだ。バックアップはS3に保存してるから、可用性も確保できてる。物理的に接続されたSSDやDDR5のオンダイRAMのおかげで、パフォーマンスもかなり向上したよ。コストも大幅に下がって、サーバーサイズも大きくなったから、RDSやEC2のコストを気にする必要がなくなったんだ。

専用サーバーの方がずっと先に進めると思うよ。俺はHetznerでいくつかのノードを運用してるけど、専用マシンから得られるパフォーマンスは、たとえ3年前のサーバーオークションで手に入れたものであっても、VMとは比べ物にならないくらいすごいよ。ただ、ほとんどのサーバーハードウェアは、高コア数・低クロックスピードのプロセッサに最適化されていて、計算よりもI/Oを重視してるんだ。クラウドプロバイダーは過剰にプロビジョニングしてるし、ディスクのI/O部分もすごい。NASに座ってローカルディスクをエミュレートするドライブを使うために、いろんな手を使ってるんだ。ほとんどのスタートアップは、ハイパーバーチャル化されたNASベースのドライブは必要ないよ。Hetznerの専用サーバーレンタルを使えば、もっと遠くまで、もっとコスト効率よく進めることができる。北米(特にカナダ)の企業で、Hetznerと同じように価格やサービスの質で競えるところがあれば知りたいな。OVHは知ってるけど、他にも同じような企業があれば教えてほしい。

OVHは知ってるけど、他にも同じような企業があれば教えてほしい。アメリカで専用サーバーが必要なときは、過去にVultrを使ったことがあるよ。比較的良心的な価格だけど、無制限の帯域幅がないから、メインにはなり得ないかな。でも、アメリカ特有のケースは他の人が払ってることが多いから、個人やコミュニティのものをHetznerでホスティングして自分で払ってるのに比べたら、あまり気にならなかった。

最近、役立ちそうなウェブサイトを再発見したよ: https://vpspricetracker.com これはシェアしないと損だね。そこに載ってるプロバイダーのほとんどは専用サーバーもあるよ。

wholesaleinternet.netを使ったことがあるけど、アメリカの中心に位置してるよ。

アメリカでGTHostを使ったことがある。パフォーマンスは悪くないけど、1gbit/sのリンクが必要だと結局高くつくよ。

実はこれをベンチマークして、数年前に記事を書いたんだ。今でも十分通用するよ: https://jan.rychter.com/enblog/cloud-server-cpu-performance-...

北米(特にカナダ)の企業で、Hetznerの価格やサービスの質に競えるところがあれば知りたいな。ちなみに、Hetznerはアメリカに2つのデータセンターがあるから、「アメリカでのHetznerの品質」を求めてるなら、アメリカやカナダの企業を探してるわけじゃないよね。

VMはAWSと専用ハードウェアの中間に位置するね。ハードウェアだと監視が必要だし、問題や故障をプロバイダーに報告したり、必要な設定変更(ノードの追加や削除など)をしなきゃいけない。もしチームがAWSから来ているなら、不完全なハードウェアによる問題の監視やトラブルシューティングの経験がないかもしれないね。

北米(特にカナダ)の企業で、Hetznerの価格やサービスの質に競えるところがあれば知りたいな。2日前のスレッドで、https://ioflood.com/ がアメリカの代替案として推薦されたよ。

Hetznerのクラウドブロックストレージは結構遅いなって感じた。すぐにタイムスケールデータベースのボトルネックになっちゃった。今はnetcup.comの「ルートサーバー」を試してるんだけど、これは専用のCPUコアとすごく速いストレージがたくさんあるVPSなんだ。

似たような話で、「HetznerのAPAC版、特に東アジアで」探してるんだけど、日本、台湾、韓国の良い選択肢が見つからなくて困ってる。

Hetznerは本当に素晴らしいけど、スケールしようとすると問題が出てくるよ。最初はHetznerの上にサービスを構築して、数百のVMを運用してたんだけど、ピーク時には1000以上のVMにスケールしなきゃいけなかったんだ。そこでいくつかの問題が発生したよ。ブラックリストに載ってるIPが頻繁に出てくるから、GoogleやAWSのサービス(S3など)に接続しようとすると、届かないことがあるんだ。それに、ある時点で俺たちの地域ではVMがもう利用できなくなって、かなりの問題が起きた。でも、一般的には、あまりスケールしないならHetznerは素晴らしいよ。今でも多くのものがHetznerで動いてるけど、スケールが必要なときは他のサービスにファンアウトしてる。

誰にブラックリスト入りさせられたの?

これ、ヘッツナーのクラウド製品についての話みたいだね。専用サーバーじゃなくて。クラウド製品は比較的新しいし、ヘッツナーに移る人たちは専用インスタンスを使いたくて来ることが多いんだ。

ある時点で、私たちの地域ではVMが全く利用できなくなって、いろいろ問題が起きたんだ。これが他のクラウドとの違いかは分からないけど、少なくとも数年前はGCPではこれが週に1回、いや毎日の問題だった。私の経験では、ピーク時に何百ものVMを急いでリクエストすると、どのクラウドも苦戦するよ。

ここで話してることがちょっと違うかもしれないね。俺たちの中には、すごく速くてコスパもいいHetznerの物理サーバーを使ってる人もいるし、仮想サーバーを好む人もいる。個人的には、仮想サーバーはそれほど革新的じゃないと思うけど、それでも競合よりはずっと安いよね。

1000台のVM?それって約100万人の同時顧客がいるってこと?すごい数字だね。その規模ならAWSから優遇価格をもらえるはずだよ。

同じ傾向を見てるよ。価格とパフォーマンスのためにヘッツナーに移るチームが多いけど、結局Postgresの運用周り(バックアップ、フェイルオーバー、モニタリングなど)を全部再構築しなきゃいけないことに気づくんだ。私たちは、ヘッツナー上で直接動くマネージドPostgresを構築したよ。同じセットアップだけど、HAやバックアップ、PITRは自動で処理される。オープンソースで、ハードウェアに近いところで動いて、AWSでのエグレス/I/Oのトラブルを避けられる。興味がある人のために、私たちの取り組みについてのメモをここに追加したよ [1], [2]。質問があれば、いつでも話すのは大歓迎だよ。 [1] https://www.ubicloud.com/blog/difference-between-running-pos... [2] https://www.ubicloud.com/use-cases/postgresql

これはBig Cloud、特にPaaSや管理されたSQLにとっての大きな魅力だね(俺やアドバイスしてる開発チームにとって)。オペレーションのバックグラウンドがないから不安なことがいくつかある。* データベースのバックアップと復元 * セキュリティパッチをタイムリーに適用すること(OSやランタイムレベルで) * 本番マシンへのアクセスが正しく制限されているか、アクセスがログに記録されているか、ポートがロックされているか、異常なアクセスパターンが検出されているかといった他のセキュリティ問題 * DoSやそれに類似する保護は俺の責任じゃない。人気のあるクラウドプロバイダーを選ぶと、こういうことに対してかなりのカバーが得られる気がする。時には技術的に、そうでなければ少なくとも政治的にね。

自己管理のオマカセPostgresの隣接カテゴリ:https://www.elephant-shed.io/

もう10年以上、ヘッツナーのサーバーでSaaSを運営してるよ。専用ハードウェアで、DEとFIにクラスターを持ってて、ansibleで管理してる。サーバー間にプライベートVPNを設定するためにvpncloudを使ってる(ちなみに、素晴らしいソフトウェアだよ)。ホスティング費用はAWSや他の同様のプロバイダーに比べてほんの一部で、サーバーもずっと速い。これで、シンプルなアーキテクチャと少ないサーバーで運用できる。スケールが必要なときは、いつでもサーバーを追加できる。ただ、物理サーバーだと、数分でスケールアップ/ダウンはできないから、数時間や数日計画しなきゃいけないけど、それは全然問題ないよ。フォールトトレランスのために分散データベース(RethinkDB、FoundationDBに切り替え中)を使ってる。

Hetznerはすごく好きだったんだけど、一つ問題があって痛い目にあった。そこで個人プロジェクトをいくつか動かしてたんだけど、支払い方法が失敗しちゃったんだ。自動メールもスパムや通知が多すぎて機能しなくて、問題に気づいたときにはデータが全部消去されてて復旧不可能だった。これで、請求管理をしっかりしないといけないって目が覚めたけど、クラウドプロバイダーはサポートやコミュニケーションがしっかりしてないとダメだなって思った。全ての作業を消去する前に、自動SMSがあれば良かったのに。でも、安いから、月100ドルのアカウントに対してはそれができないんだろうね。AWSでも似たような問題があったけど、彼らはもっとフレンドリーな猶予期間があるよ。

それは残念だね。でも、支払わずにメールもチェックしなかったら、基本的には自分の責任だよ。今どきSMSを使ってる人なんているの?

「請求をしっかり管理することについて目が覚めた瞬間だった。バックアップをしっかり管理することについても目が覚めるべきだね。」

Hetznerは専用サーバーには最適だけど、小規模で安全・機密性の高いVMが必要な人には、ハイパースケーラー以外の選択肢があまりない気がする。性能とコストパフォーマンスでHetznerの専用サーバーホストと、セキュリティ面でAWS/GCPの間に位置するVMベンダーって誰か知ってる?基本的にはTPM/vTPM + AMD SEV/SEV-SNP + UEFIセキュアブートのサポートが必要なんだけど。ネットを探しても、AWS/GCP以外で仮想化された信頼できるコンピューティングを提供してるところが見つからない。HetznerはVMにTPMを提供してないし、データ使用中の暗号化についても言及してないし、UEFIセキュアブートをサポートしないって明言してる。これらは高い信頼性が求められる用途には重要な要件なんだよね。

ここにいる人で、https://github.com/vitobotta/hetzner-k3s や https://github.com/kube-hetzner/terraform-hcloud-kube-hetzne... を使ってK3Sクラスターを構築してる人いる?経験談を聞けたら嬉しいな。ありがとう!