エンジニアの佐野です。今日はインフラの話です。主に物理インフラの話です。カンムがデータセンター(以下、DC)の選定や契約をした際の勘所について書きます。クラウドと DC の相互接続であったりネットワーク構成や機器のコンフィグレーションなどのテクニカルな話はまた別途書こうと思います。
カンムでは主に AWS や GCP 上にインフラを展開して開発を行っています。メインは AWS、機械学習やデータプロセッシングの一部は GCP です。そして先に書いたとおり DC 契約もしています。基本的にはクラウド中心のインフラ運用ですが DC はビジネスパートナーと専用線接続するための重要な拠点となっていて、シンガポール拠点の企業などと専用線で接続しています。DC と AWS 間は AWS Direct Connect で接続しています。
今や特にスタートアップは DC を自前契約することはほとんどないと思っています。大企業でも自社 DC を持っていてさらに強力なプラットフォームチームがなければクラウドを採択するケースの方が多いんじゃないかと思います。強力なプラットフォームチームがいたとしてもパブリッククラウドを選択した方が良いかもしれません。しかしながら歴史のある業種であったりシステム連携先が多い事業体の場合どうしても専用線接続が必要なケースがあります。早くクラウドに対応してくんねーかな〜、と手をこまねいていても何も始まりません。しかし「よしじゃあやるか」と腰を上げるにも筋力が必要かと思います。今まで物理インフラを触ったことがない、触ったことはあるけど DC の選定をやったことがないという人はどうしたらいいかわからないんじゃないかと思います。ニッチかもしれませんがそんな状況の参考になれば幸いです。
- DC という事業体
- DC 選定の勘所
- 契約書には適切な修正要求を出す
あたりについて書きます。
1. DC という事業体
まずDCとはなんなのか?契約するとはどういうことなのか?について整理しておきます。
まず DC とはなんなのか?について簡単に書くと、サーバやその他機器を稼働させるための通信回線、電力、機器の設置場所を提供する施設になります。その施設のスペックはピンキリで、世界各地とのコネクティビティを売りにしている事業体もあれば、強力な電力供給能力を売りにしている事業体もあります。サービスも様々で、機器や備品のレンタルや販売も行っている事業体、機器の設置代行や業務代行を行っている事業体もあります。契約する際にはいくつかの DC とコンタクトを取って話すことになるのですがけっこう面白いです。私は DC 作業や物理設計は過去に仕事でやったことがありますが DC 契約からするのはカンムが初めてだったのでなかなか新鮮でした。
続いてDCとの契約です。「データセンター」を検索すると、大手から小規模事業者までたくさん出てきます。これらの企業と契約して始めて DC を利用することができるようになります。これら DC 事業者が提供しているサービスを非常にざっくりいうと次の3つです。
- コロケーション: 平たく言うと場所貸しです。決まったスペースと電源設備と通信設備を利用することができます。ラック(これはご存じの人も多いと思いますが機器を収納するための鍵のついた棚)の設置は借りた側がやります。
- ハウジング: すでに備え付けられたラックを借りて、借りた側がラック内に自由にサーバやネットワーク機器を置いて運用するようなイメージです。電力や通信設備はコロケーション同様に利用することができます。
- ホスティング: 俗に言うレンサバです。既に備え付けのサーバや機器を借りるようなイメージです。
カンムはクラウドにメインのインフラを置きつつ、特別な対応が必要な企業とは専用線接続する必要がありました。メインのAWS とは AWS Direct Connect で DC に繋いで、接続先企業に回線を伸ばすという要件です。よって AWS と接続先企業との中継をするネットワーク機器を置くためのラックが1つあれば十分でした。つまり上記3択とするとハウジングで小さなラックを1つ借りるのが適切です。以下、電源・通信設備およびラックをハウジング契約する前提として書きます。
2. DC 選定の観点
選定の観点を箇条書きにすると次の通りとなります。DC自体のスペックや扱いやすさに加えて、カンムの事業と接続先の要件を加味する必要があるためけっこうアイテムがあります。
- カンムの事業的な観点
- 運用観点
- AWS との Direct Connect のしやすさ
- オフィス/家からのアクセスが良いか
- オフィスからの接続
- 入館のしやすさ
- 機材の持ち込み
- 備え付けの設備
- 設備のスペックとコスト
- ラックあたりの電力
- 空調
- 耐震構造
- UPSの有無
2.1 カンムの事業的な観点
カンムが事業をするにあたっての前提条件です。DCのスペックやコストに関する事を多く箇条書きにしました。しかしどんなに低コストで高品質な DC と契約できたとしてもここをクリアしないとカンムが事業を行うことができません。
2.1.1 PCI DSS に準拠しているか
カンムはクレジットカード決済をしている事業体として、 PCI DSS という業界セキュリティ水準に準拠していることが求められます。その範囲はカンムが契約する DC も含まれます。もちろん AWS など利用しているクラウドサービスや提携先の企業も例外ではありません。例えば AWS はサービスごとに PCI DSS に準拠しているかどうかを公開しています(https://aws.amazon.com/jp/compliance/pci-dss-level-1-faqs/)。よって DC およびその運営体が PCI DSS に準拠しているかどうか?がまず最初の選定の観点になります。
2.1.2 PCI DSS の証明書は欲しいときにすぐに発行してもらえるか
監査機関から少なくとも年に1回 PCI DSS の証明書の提示を求められます。上に書いた通りカンム自体の証明書だけでなく利用している DC のものも提示を求められます。その取得の手続きが比較的簡単な事業体を選びます(ました)。
2.1.3 マルチキャリア対応していてそのキャリア回線のポートに空きがあるか
専用線接続する企業から要件として、指定の回線事業者 x 2 とのマルチキャリア対応が求められていました。カンム側のDCと先方の DC 間は指定の回線を使って冗長性を担保した上で接続しますよ、と。ここでいう回線事業者というのは例えば日本国内であれば NTT 系や KDDI 系などの企業が該当します。海外企業で著名な事業者であれば Verizon, Telstra ...などになります。だいたい大丈夫だとは思うのですが、DC に指定の回線事業者の回線が来ていないということになると NG になるのでそれの確認は選定の時点で行いました。 加えてその回線事業者が接続するDC内のポートの空きの確認です。回線が来ていたとしても物理的に空きがないと使うことができません。そうなった場合はどうにかして増設してもらう必要があります(増設の可否は不明)。もしここでそのような事案になった場合プロジェクトが足止めになります。よって指定されたキャリアの回線の引き込みがされていて、かつ、それらが利用可能であること、というのを選定の条件としました。
2.2 運用観点
実際に契約が完了して DC を使えるようになると機器の設置や検証を経て本番運用が始まります。セキュリティとトレードオフになる事柄も多いのですが、DC への入館のしやすさや持ち込みに制限があるか?などの観点が必要です。
2.2.3 AWS との Direct Connect のしやすさ
AWS の接続拠点は日本国内にいくつかあり、そこと接続しやすく、コンフィグレーションがしやすい事業者を選びます。 AWS Direct Connect は AWS 側の設定に加えて DC 側の設定も必要です。DC 側の設定はエクセルや文書で申請するような事業者もあります。初期設定だけならともかく、設定変更の際も文書でやりとりするのはあまりやりたくないと思います。DCの管理コンソールがあり、こちらの自由なタイミングで自由に設定できるところがベターです。
2.2.2 オフィス/家からのアクセスが良いか
機器の設置や接続検証を行うタイミングであったり、実際に運用が始まってからも DC に行く機会があります。物理的な距離を考慮します。のっぴきならぬ事情で遠いDCを使う必要がある場合は運用代行してくれる会社と別途契約するなど運用負荷を軽減する必要も出てきます。ただしこれはこれで PCI DSS 的な監査が少し手間になります。
2.2.3 入館のしやすさ
DC は入館証を持っていけばすぐ入れる施設もあれば、事前にウェブや電話で申請を行い、許可が下りるまで待つ必要がある施設もあります。運用開始後に障害発生時の対応を考慮し、入館が煩雑ではないDCを選びます。
2.2.4 機材の持ち込み
設置する機器とは別に、スマートデバイスなどの通信機器やラップトップを持ち込めるかどうか?です。厳しいDCでは持ち込み一切禁止で持ち物検査がある施設もあります。機器を持ち込んで現地で設定を変更するときであったり、運用開始後の対応が煩わしくなると大変なので、我々の考える最低限の機材(スマートフォン、ラップトップなど)が持ち込み可能なDCを選択します。
2.2.5 備え付けの設備
機材の持ち込みと同様にDC 内部での作業のしやすさに繋がります。施設内に wifi は飛んでいるか?ドライバーやナット、ネジなどの貸し出しはあるか?など。テザリングしてもいいかもしれませんが wifi は欲しいところです。
2.3 設備のスペックとコスト
一番気になるポイントであり、意識しやすいポイントかと思います。
2.3.1 ラックあたりの電力
ラックにどのくらいの電力供給があるのかを確認しておきます。お金を積めば供給電力が増える場合もあります。機器をたくさん置きたい、電力消費が激しい機器を置きたい場合は電力供給が不十分だとマシンがダウンするリスクがあります。
2.3.2 空調
熱対策を確認しておきます。今時は大丈夫だと思いますが、古めの DC だったりするとちょっと熱対策に不安があるような場所もあります。ラック内に機器を置きすぎるなど利用する側の運用にもよるのですがエアフローが滞ると機器は簡単に熱落ちします。
2.3.3 耐震構造
耐震構造含め災害時にどのような対策が取られているのかを確認しておきます。
2.3.4 UPSの有無
予備電力です。災害時の生命線になります。
3. 契約書には適切な修正要求を出す
さて、選定が完了したら契約書にサインして契約を締結するのですが、割とノールックサインしてしまう人も多いんじゃないかと思います。しかしよく読みましょう。例えばこちらが設備を破損したときであったり何かしでかしてしまったときの賠償金額に法外な金額(小さな会社からすると会社が飛ぶような金額)が設定されていたりします。また指定の保険会社の保険への加入が義務づけられていたりするケースもあります(ありました)。 そして基本的には借りる側が不利になるような条項が書かれています。もちろんこれは悪意があるようなものではなく貸す側の論理から考えると理解できる内容です。しかしながら適切に修正要求を出すべきです。例えば「一切の責任を負わないものとする」 -> 「一切の責任を負わないものとする。ただし乙の過失があった場合はその限りではない。」など。こうしておけば何かあったときにそこに過失はあったのか?と争うことができます。前者のままだと争う余地すらありません。私は門外漢なので法務担当者に協力してもらいながら契約書の修正を要求しました。契約書はただの紙ではないです。
今日はここまで。いずれ AWS との接続の検証やネットワーク設計について書きます。
おわり