TT Lab
はじめる
学ぶ 学習パス コース

クラウドの基本

リフト&シフトが失敗する理由

TT Labで続きを見る

一言でいうと

そのまま移すと(lift and shift)、たいてい高くなります。オンプレミスは買っておいた資源を使い切る構造で、クラウドは使った分だけ払う構造なので、設計の前提が逆だからです。

なぜ必要なのか

「サーバー30台をそのままクラウドに載せたら、コストが2倍になった」という事例は、非常によくあります。それぞれを分解すると、次のようになります。

つまり、移す前に、サイズを測り直し(right-sizing)、使わない時間は止め、トラフィックの経路を描き直して初めて、効果が出ます。その作業をしなければ、クラウドは、ただの高いデータセンターです。

移行の対象から外す基準

移さないほうがよいもの

対象 理由
24時間フル稼働の大規模バッチ 従量課金の利点がありません。買って使うほうが安くなります
超低レイテンシが必要なシステム 物理的に隣に置く必要がある場合があります
特殊なハードウェアへの依存 ライセンスドングル、特定のカード、産業用インターフェース
データの国外移転が禁止された対象 リージョンがなければ、そもそも不可能です
すでに減価償却が終わった安定したシステム うまく動いているものを移すのにも、コストがかかります
大容量を頻繁に持ち出すワークロード エグレス料金で元が取れなくなります

最後の行がよく見落とされます。入ってくるトラフィックはたいてい無料なのに、出ていくトラフィック(egress)は高くつきます。大容量のファイルを絶えず外部に出すサービスなら、クラウド料金の大部分がここから出ます。

ハイブリッドが答えになる場合

すべてか無かで見る必要はありません。

移すと決めたなら順序

  1. インベントリ。何が何に依存しているかを描きます。これがなければ、次はありません。
  2. 分類。そのまま移すもの/作り直すもの/マネージドに替えるもの/捨てるもの。捨てるものを見つけるのが、実際には最も値打ちがあります。誰も使っていないサーバーは、必ずあります。
  3. サイズの再見積もり。実使用のメトリクスを基準に。ピーク基準のスペックをそのまま使いません。
  4. 小さいものから。元に戻せるものから始めて、手順を磨きます。
  5. コストの観測。移した最初の月から、タグ基準で見ます。あとから付けようとしても付けられません。

現場での姿

コストは設計で決まる

移行後に料金を減らそうとしても、たいていできることはあまりありません。クラウドコストの大部分は、何をどう使うと決めた時点で、すでに決まっているからです。そこで、設計の段階で押さえるべきことを別に書いておきます。

どれだけ長く使うかわかっているリソースは、先にコミットメントを結びます。1年または3年を約束すれば、同じインスタンスをかなり安く使えます。逆に、いつでも回収されうる低価格のインスタンスは、中断されてもかまわない処理にだけ使います。バッチやテスト環境がこれに当たり、状態を持つサービスに使うと、回収されるたびに事故が起きます。

ストレージはアクセス頻度で分けます。ログやバックアップのように、ほとんど読まないデータを、頻繁に読むデータと同じ等級に置くと、料金が数倍になります。ただし、安い等級は取り出すときにお金がかかったり、時間がかかったりするので、復旧に使うデータをあまりに冷たい等級に入れると、いざ必要なときに困ります。ライフサイクルルールで、古いものだけを自動で下げるのが無難です。

トラフィックがどこを流れるかを描きます。同じリージョン内、アベイラビリティゾーンの間、リージョンの外、インターネットへ出るものの料金は、すべて違います。データベースを別のアベイラビリティゾーンに置くことは、可用性のために必要ですが、その分料金がかかるので、知って選ぶことと、知らずにそうなることは違います。

マネージドサービスは、運用コストを含めた値段で見ます。自前で運用するデータベースは、料金表だけを見れば安いのですが、バックアップ・冗長化・バージョン更新・夜間対応を人がしなければなりません。その時間をコストに換算して比較しないと、いつも自前運用が安く見えます。チームが小さいほど、この項目の重みが大きくなります。

最後に、タグを最初から強制します。どのチームのどのサービスかが付いていないリソースは、数か月経つだけで誰も手を付けられなくなります。消してよいかわからないので、そのままにしてしまい、そうして残ったリソースが、料金表のかなりの部分を占めるようになります。

次のコース

権限。クラウドで事故が最もよく起きる場所であり、アカウントがなくても、ポリシー文書を自分で書きながら学べる領域です。