Networking for Nerds

ネットワーキングを極める:コードとしてのネットワーク

ソフトウェア実行のスピードでネットワークを導入する

Oscar Cobles
ネットワーキングを極める:コードとしてのネットワーク

過去10年間で、クラウド、ソフトウェア定義、DevOpsなどの用語は、日常会話で使われる頻度がますます高まり、ほとんどの組織にとって、経営や戦略に関する決定を下す際の指針となっています。

クラウドファーストの世界では、システムの全体的なソリューションを構成するデジタルインフラストラクチャの様々な階層が存在しています。これらの階層の一部、特にコンピューティングとストレージが存在している階層は、市場から求められる新たな変更に適応できるよう大幅に進化しています。コネクティビティ(接続性)などのデジタルインフラストラクチャのその他の側面は、設計にその重要性が十分に反映されていないことがあり、デジタルインフラストラクチャがより集中的に使用され、ビジネスのグローバル化が進むにつれて、このことがより明白な影響を与えるようになっています。

ほとんどの企業は、クラウドやインフラストラクチャを設計する際に、コネクティビティの重要性を考慮に入れていません。クラウドやデジタルインフラストラクチャがいつでもどこでも使用され、ビジネスが世界中に分散するに伴い、このことの影響がますます明白になっています。この記事では、コネクティビティの課題について説明するとともに、エクイニクスの「Network-as-Code(コードとしてのネットワーク)」がこれらの課題の解決をどのように支援できるかを示します。

API Playgroundで試験導入

エクイニクスのモックAPIコレクションを使用すると、モックの要求オブジェクトと応答オブジェクでプロジェクトの設計を開始できます。

今すぐ登録する
callout image - developer

ネットワーク管理の新たな課題

まず、デジタルトランスフォーメーションを遂げている組織が必ずと言っていいほど直面する、コネクティビティ関連の主な課題を定義しておきましょう。

  • グローバル化 – 新たな時代のビジネス要求を満たすためには、世界中の場所を問わず、ユーザーとアプリケーションのインターコネクション(相互接続)が不可欠となっています。
  • 分散化 – いわゆる「IT部門」はもはや存在しません。使いやすいクラウドサービス、新しいテクノロジー、新しい本番稼働方法が実装された結果、ネットワークは今や、コネクティビティニーズの異なるあらゆる部門で使用されるようになっており、このことがネットワーク管理をさらに煩雑にしています。
  • 仮想化 – ソフトウェア定義ネットワーク(SDN)やネットワーク機能仮想化(NFV)などのテクノロジーが加速し、ネットワークのさまざまな問題を解決しています。しかし、ネットワーク管理が煩雑であることに変わりはありません。
  • 拡張性 – 動画やソーシャルネットワーキングなどのデータ集約型のインタラクティブメディアに加えて、人工知能、ビッグデータ分析、モノのインターネット(IoT)などのトレンドに後押しされ、データ量が指数関数的に増加し続けています。

ネットワークの次なる課題を見据えたエクイニクスの対応

エクイニクスは現実のネットワークの問題を解決するためのサービスとツールをお客様に提供しています。ここでは、その例をいくつか示します。

ソフトウェア定義の相互接続 – Equinix Fabric™は、サービスプロバイダやエクイニクスの別のお客様との間、またはさまざまな場所に導入されたお客様独自のインフラストラクチャ間に、直接でセキュアかつ柔軟なコネクティビティをもたらすプラットフォームです。

VNFマーケットプレイス – エクイニクスのNetwork Edgeは、モジュラー型インフラストラクチャプラットフォーム上で運用される仮想ネットワークサービスを提供し、ネットワークサービスの即時導入と相互接続に最適化されています。追加のハードウェア要件を生じさせることなく、エッジでの仮想ネットワークサービスの選択、導入、および接続を数分で完了できます。

Network-as-Code(コードとしてのネットワーク)」によってDevOps自動化を強化 – これらのサービスで広範囲の課題に対処できますが、分散化、俊敏性、拡張性の問題に取り組む際には、さらに一歩踏み込んだ対応が必要です。まず、サードパーティ製アプリケーションや内部プロセスと簡単に統合できるためには、サービスがAPIファーストでなければなりません。そして最終的には、これらのAPIを利用するためのメカニズムの提供も必要です。そうすることで、冒頭で言及したすべての階層で同じツールを使用し、一貫した方法でネットワークを管理できるようになります。ここで活躍するのがEquinix Terraformプロバイダです。

コネクティビティなどのデジタルインフラストラクチャのその他の側面は、設計にその重要性が十分に反映されていないことがあり、デジタルインフラストラクチャがより集中的に使用され、ビジネスのグローバル化が進むにつれて、このことがより明白な影響を与えるようになっています。

Equinix Terraformプロバイダ

Terraformについて聞いたことがないという方はおそらくいらっしゃらないと思いますが、ここで簡単にご説明しておきましょう。Terraformは、インフラストラクチャの構築、変更、およびバージョン管理を安全かつ効率的に行う「コードとしてのインフラストラクチャ」(Infrastructure-as-Code、IaC)ツールです。Terraformでは、広く利用されている既存のサービスプロバイダだけでなく、カスタムの社内ソリューションも管理できます。

Terraformは、約200の公式プロバイダと700以上のコミュニティによってサポートされるなど、市場をリードするIaCツールとしての地位を確立しています。主要なサービスプロバイダと同様に、エクイニクスは独自のTerraformプロバイダを開発し、人間可読コードテンプレートを使用してEquinix FabricおよびNetwork Edgeプラットフォームのあらゆるリソースを簡単に作成および管理できるようにしています。

Terraformは、プロバイダにかかわらず、同じ言語とリソース定義を使用してインフラストラクチャオブジェクトを表します。次に例を示します。

Terraformの構文とリソース定義)

この例は、Terraformのチュートリアルとしての使用を意図したものではなく、Terraformの機能の仕組みを示すものです。以下のスクリプトを実行することにより、Equinix Fabricを使用した冗長なAzure ExpressRoute接続を作成し、Network Edge仮想ルータ1台とMicrosoft Enterprise Edge(MSEE)ルータ2台を数分で接続できます。

Terraform Equinixプロバイダを使用してAzureへのEquinix Fabric接続を定義する方法の例

まず、サードパーティ製アプリケーションや内部プロセスと簡単に統合できるためには、サービスがAPIファーストでなければなりません。

複数のクラウド間のセキュアな直接接続の確立を完全に自動化

2つのポイント(たとえば2つのルータ)間で接続を確立する場合、通常は、ソースルータに特定の構成パラメータを追加し、接続先ルータに別の構成を追加して、両方が相互に認識できるようにします。Terraformなどのマルチベンダ自動化ツールを使用すると、エクイニクスのプラットフォーム側のリソースを作成および管理できるだけでなく、接続先サービスプロバイダ側で必要となるリソースの構成と統合も実行できます。これにより、ハイブリッドまたはマルチクラウドのインフラストラクチャ全体をエンドツーエンドで自動化することが可能となります。

この機能の仕組みを理解しやすくするためのサンプルコードが、「Equinix Terraformプロバイダ – マルチクラウドサンプル」で公開されています。このコードを実行して、下図に定義するアーキテクチャを簡単に導入できます。

Equinix FabricNetwork Edgeを使用したクラウド間ルーティングの概略図

ここでは、複数のクラウドにまたがるアプリケーションを例として取り上げています。このシナリオでは、あるオンライン旅行代理店が一般向けWebサイトをAWSでホスティングする一方で、顧客データベースにはGoogle Cloudを利用しています。データへのアクセスを保護し、アプリケーションのパフォーマンスを最適化するには、Google CloudのデータベースとAWS Webサイト間のトラフィックを迅速かつプライベートにルーティングできることが必要です。

これらのクラウドプロバイダは相互に直接通信しないため、旅行会社はNetwork Edgeサービスを使用して両方のクラウドプロバイダに接続する仮想ルータを導入し、すべてのマルチクラウドトラフィックを送信します。クラウド間のプライベートで高速、かつ低レイテンシのコネクティビティには、Equinix Fabric接続が使用されます。

このアーキテクチャの導入用に、使いやすいWebポータルとAPIが用意されていますが、導入手順に煩雑な手動プロセスが含まれる場合があります。さらに悪いことに、何百回も実行する必要がある場合は、人的エラーを引き起こす可能性もあります。一方、Terraformを使用すると、以下に示すこのプロセスの全ステップを最初から最後まで自動化できます。

  1. フロントエンドアプリケーションを含んだインフラストラクチャをAWSでセットアップします(仮想ネットワークの定義、EC2インスタンスの起動、アプリケーションとセキュリティグループのインストールと初期化、仮想インターフェイスとBGPセッションの設定)。
  2. Network Edgeデバイス(仮想ルータ)を起動し、ライセンスを取得して、SSHユーザーを作成し、アクセス制御リストテンプレートを定義します。
  3. エクイニクス仮想ルータからクラウド仮想インターフェイスへのEquinix Fabric接続を確立し、BGPを設定します。
  4. データベースを含んだインフラストラクチャをGCPでセットアップします(仮想ネットワークの定義、仮想マシンの起動、ファイアウォールルールの定義、仮想ルータとBGPセッションの設定)。
  5. エクイニクス仮想ルータからクラウド仮想ルータへのEquinix Fabric接続を確立し、BGPを設定します。

Terraform Equinixプロバイダ、Terraform AWSプロバイダ、Terraform GCPプロバイダを使用したクラウド自動化の概略図

このサンプルコードをテストすれば、マルチクラウドインフラストラクチャを30分以内にセットアップできることがおわかりいただけます。

マルチクラウドコネクティビティのさらにその先へ

ここでは、複数のクラウドにまたがるアプリケーションのユースケースを例として取り上げましたが、これと同様に自動化できるシナリオは他にもあります。たとえば、エクイニクスのデータセンターからサービスプロバイダ(ネットワークプロバイダ、インターネットプロバイダ、クラウドプロバイダなど)への接続を確立したり、同じくEquinix Fabricに参加している他の企業と相互接続してデジタルビジネスを加速したりすることが可能です。

Equinix FabricNetwork Edgeを使用して対応できるさまざまなユースケースの詳細をご確認ください。

エクイニクスのAPIと開発者ツールについて詳しくは、エクイニクス開発者プラットフォームをご覧ください。

Terraformなどのマルチベンダ自動化ツールを使用すると、エクイニクスのプラットフォーム側のリソースを作成および管理できるだけでなく、接続先サービスプロバイダ側で必要となるリソースの構成と統合も実行できます。
Oscar Cobles
Oscar Cobles Global Solutions Architect
Subscribe to the Equinix Blog