前回の記事公開から間もなく新型コロナウイルス感染症が拡大したことに伴い、しばらくの空白期間をいただいておりました。今回からまた気持ちを新たに、ウィズコロナ時代のハイブリッドクラウド像を皆さんと共に考えていきたいと思います!

本研究会の活動として定期開催していた勉強会ですが、現在は完全オンラインでの開催にシフトし、直近では6月と9月に勉強会を実施しました。

オンライン開催にシフトしたことを機に、YouTubeチャンネル「HCCJP - ハイブリッドクラウド研究会」にてライブ配信と動画アーカイブが公開されることとなり、リアルタイムで参加できなかった方も後から視聴できるようになっています。ぜひ、アクセスいただければ幸いです。

勉強会の模様はYoutubeをご覧いただければ一番よくおわかりいただけるのですが、なかなかまとまった視聴時間が取れない方のために、今回はそのサマリーをお届けしたいと思います。

Infrastructure as Codeを実現する「HashiCorp Stack」

9月11日に開催されたオンラインイベント「ゼロからわかるHashiCorpでのハイブリッドクラウドジャーニー」では、Infrastructure as Codeの領域で非常に注目を集めている「Terraform」を生み出したHashiCorpにフォーカスが当てられました。

最初に登壇したHashiCorp 伊藤仁智氏は、ハイブリッドクラウドを導入する際には、オンプレミス/クラウドの環境の違いやツールに対する理解が必要であるとし、考慮すべきプロセスとして「Run」「Connect」「Secure」「Provision」を提示。

考慮すべきプロセス

考慮すべきプロセス

これらのプロセスをカバーするものとして、HashiCorpが提供する製品群「HashiCorp Stack」を紹介しました。同製品群のメインプロダクトは、「Terraform」「Vault」「Consul」「Nomad」です。

「HashiCorp Stack」

「HashiCorp Stack」

Terraform

Terraformは、異なるインフラ環境のプロビジョニングを単一のコードで自動化するツールです。

クラウド/オンプレミスの環境において、それぞれプロビジョニングツールが提供されていても、全くの別物となっている場合、ツールの使い分けや技術のキャッチアップが技術者の負担となります。Terraformは、そうした技術習得の悩みを解決しつつ、クラウド、オンプレミスといった異なる環境の違いを吸収するツールです。

「HashiCorp Stack」

環境の違いを吸収するのが「Terraform Provider」というプラグインの仕組みです。AWS、Azure、オンプレミスといった多様なシステムを「Provider」というかたちで呼び出すことで、単一のツールから複数の異なる基盤に対するプロビジョニングを可能にしています。現在Providerの数は増え続けており、公式/コミュニティコントリビュートを含め、300を超えています。

一覧

Terraform Provider 一覧

また、Infrastructure as Codeに対するポリシー制御機能も有しており、エンタープライズ/大規模企業向けにコンプライアンスなどを考慮したポリシー管理ツール「Sentinel」を提供しています。合わせて、さまざまなインフラを展開する上で考慮すべき点が網羅されたガイドライン「CIS Benchmark」に準拠しています。Sentinelを利用することで、非常に多岐にわたるガイドライン項目の準拠/非準拠といったポリシーチェックの自動化を実現し、人為的ミスなどの問題を解消しています。

Vault

Vaultは、ハイブリッドクラウドジャーニーで重要となるシークレット監理ツールです。

パスワード、APIトークン、証明書など、決して流出してはならないのが「Secret(シークレット)」ですが、シークレットには「Secret sprawl」と呼ばれる以下のような問題があります。

  • どこにシークレットが存在するのか把握できていない
  • シークレット管理に特化したアクセス制御ができていない
  • シークレット流出に対する検知/対策ができていない

そのため、クラウドシフトやハイブリッドクラウド導入後には、多くの組織でシークレット監理が検討項目のトップに上がります。Vaultは、シークレットの中央管理、強力な鍵暗号化アーキテクチャによって、上記の問題を全て解決します。

「HashiCorp Stack」

Vaultは、認証と認可から独立したシークレットエンジンとして動作し、多様な認証基盤への対応、アプリケーションやシステムへのアクセス認可に対応しています。提供するサービスは、以下の通りです。

  • 動的シークレット
  • 静的シークレット
  • 証明書
  • 暗号化サービス

Consul

Consulは、疎結合なサービスをシンプルに効率良く結び付ける多機能ツールです。

近年、マイクロサービスに代表されるように、複数の異なる環境で疎結合によるサービスが提供される分散アーキテクチャが広く採用されています。そうした環境下で、どのサービスがどの環境(サーバ、コンテナなど)で動いているかを常に検出し、最適なサービスコネクションを提供するのがConsulです。

Consulが提供する機能は、以下の通りです。

◆サービスディスカバリー

  • サービス登録/カタログ化
  • ヘルスチェック
  • DNSとHTTPインタフェース
  • ロードバランサとの連携

◆サービスセグメンテーション

  • サービス間の認証
  • サイドカープロキシ
  • mTLSコネクション

◆サービスコンフィグレーション

  • リアルタイムでの設定変更
  • サービスのリロード

◆サービスメッシュ

  • DC間をまたいだサービスによってメッシュ化/複雑化した通信をMesh Gatewayを介してよりシンプルな運用にシフト可能
メッシュ メッシュ

サービスメッシュのイメージ

Nomad

Nomadは、さまざまな環境をシングルバイナリで提供するオーケストレーションツールです。

コンテナオーケストレーションツールとしてのKubernetesなどと同様に、さまざまな環境のワークロードをオーケストレーションし、スケジュールジョブなどを実行することができます。

Kubernetesの導入/管理には経験や学習などのコストが必要ですが、Nomadはシングルバイナリで導入が容易であり、サーバ/クライアントのロール設定をするだけですぐに利用できるため、多くの技術者に支持されています。

伊藤氏は、「これらのHashiCorp製品を利用することによって、モノリシック、スタティックな環境からダイナミックな環境へのシフトを後押しするとともに、システムの複雑さを取り除きシンプルなワークフローを生み出すことが可能」だと強調しました。

デモを交えてInfrastructure as Codeの魅力を紹介

2つ目のセッションには、筆者と同じくネットワールドに在籍する海野航氏が登壇。Terraformを利用してVMwareやAzureなどの環境に仮想マシンを展開するデモを交え、Infrastructure as Codeの魅力や、Terraform導入のメリットを紹介しました。

Terraformの提供形態にはオンプレミス版とクラウド版が存在し、それぞれに無償版と有償版があります。

提供形態

セッションでは、Terraform実行に必要なステップを振り返りながら、以下の4つのデモが実演されました。

◆オンプレミス版Terraform デモ

  • vSphere 環境を対象に仮想マシンの展開
  • Azure環境を対象に仮想マシンの展開

◆クラウド版Terraform Cloudデモ

  • Azure環境への仮想マシン展開
  • 有償版Terraform Cloud Businessデモ
  • Terraform Cloud Agentを介したvSphere環境への仮想マシン展開

デモで使用した設定ファイルや手順はGitHubで公開しており、以下のリンクからすぐに体験することが可能です。

* * *

2つのセッションを通して、HashiCorpが提供する製品/サービスが、環境や場所の違いによって左右されない、一貫した設計思想の下に開発されていることを筆者も強く感じました。

またセッション終了後のQAでは多数の質問が寄せられたことからも、参加者の関心の高さがうかがえました。

多様なシステム、アーキテクチャの境界を結び付けるハブのような役割を持つHashiCorp製品群。シームレスなハイブリッドクラウド環境を実現する上で、研究会も今後の動向に注目していきます。

今後の活動予定

最後に直近のイベントに関する告知となります。9月26日(土)に「Azure Rock Star community Day1 Hello World」というイベントが開催されます。参加を希望する方は、登録URLからご登録ください。

Microsoft主催ではありますが、さまざまな分野のコミュニティが一同に会する合同イベントとなります。筆者もハイブリッドクラウド研究会の一員としてコミュニティトークとパネルディスカッションに登壇する予定です。開催が直前に迫っていますが、土曜日の午後、ご都合のつく方はぜひご参加いただければ幸いです。

なお現在、ハイブリッドクラウド研究会では、毎月第2金曜日を「HCCJP勉強会の日」として勉強会を開催しています。今後の予定は以下の通りです。

10月9日(金):第13回勉強会
11月13日(金):第14回勉強会
12月11日(金):第15回勉強会

10月9日の勉強会は、9月22~24日に米国で開催されるMicrosoftの年次テクノロジーカンファレンス「Microsoft Ignite」で発表された内容を紹介する予定です。こちらも奮ってご参加ください!