Network
dns
traffic
loadbalancer

DNS切り替えを伴う環境移行のハマりどころと気をつけポイント

More than 1 year has passed since last update.

これは何

大きくサーバ群をリプレイスする時に考えるべきこと、詰まりどころをまとめておきたい。

事前リソース見積もりについて

データ取得と方針

  • 継続的にデータを取得しておく
    • ピーク時平均値とスパイクするポイントが重要
  • 負荷について
    • 新環境は負荷をかけても耐えられるか。まずは旧環境と同様の負荷
    • 今後の伸びを考慮した負荷

特に気にすべき負荷

ストレージ
  • ディスクサイズ
    • 負荷とは少し違うかも
    • 今後の伸びを考慮した割当を行う。オンライン後から追加できるならある程度攻めても良い。補足:気軽に増やしたり出来ない物理サーバで5年でリプレイスするなら、5年後に70%になる程度にするとよいかもしれない
  • IOPS ランダムアクセスに対する指標である。ブロックサイズが大きいものについてはIOPSが思ったより出ないこともある。その場合はスループットが重要
ネットワーク
  • 新旧環境をまたぐトラフィックが発生する場合には特に注意が必要
  • レイテンシ
    • サービスでどの程度まで許容できるのか
    • DBなのかcacheなのかでも違う
  • トラフィック量
    • LB、ルータ、スイッチ、ケーブルのキャパ
    • 特に環境間のルータがボトルネックになるし、影響範囲も大きい

疎通問題について

  • 同じIPセグメントなら問題は起こりにくい
  • 違うセグメントに新サーバを立てるなら既存サーバから/に疎通ができるか
    • L7レイヤまで確認するのが望ましい
  • 必要に応じてルーティング設定をいれる
    • 細かく /24に対してのroutingなどを入れていっても良いが、セキュリティ的な問題がない or リスクが飲めるなら /8 でいれるのもあり

LB・FWの設定について

  • Global IPは割り当てられているか
  • LB設定はすべてのドメインとパスに対して入っているか
  • SSL証明書は設定されているか
    • 鍵と証明書は行方不明になりがち
    • 鍵の置き場(秘匿情報置き場)をあらかじめ決めておくと良い
  • IP直うちでアクセスした時にどういう動きをさせるのか決めておく
    • 503を返していいのか、何からのデフォルトサーバに到達させて200にするか、など
  • 社内外からアクセスできるか
    • 特に社内だけ空いていて、社外からアクセスできないということがないか?
  • 必要に応じてACL設定を行う、もしくは抜いておく
    • レイヤは複数あるので注意。FWアプライアンス、LBのACLなど、iptables, nginxなどのミドルウェア

DNS設定切り替えについて

  • ここまでは準備だが、DNS切り替えをした時が本当の切り替えタイミング。重要なので慎重に行う
  • 他の関係者に切り替え時間と目的が分かるように周知する
    • 社内
    • 社外関係サービス(あれば)
  • 設定担当者と動作確認担当者の連絡手段を決めておく
    • いつでもいいのか、連絡が必要なのか
    • メンションなどが必要なのかどうか
    • 同期をとって行うか
  • TTL設定
    • あらかじめ小さくしておく
    • 長いとなかなか反映しない
    • 問題が起こった時に切り戻しに時間がかかる
  • 問題発生時
    • すぐに切り戻す
    • 根本原因究明はその後