ASPIREでつくるツール開発環境


"ASPIREでつくるツール開発環境"

(2020年8月27日掲載)

目次

ソフトバンク クラウドエンジニアの三浦です。私はホワイトクラウド ASPIREを含めたIaaSおよびDaaSのプロビジョニングを担当しています。
今日はそんな私たちの業務効率を上げるためのASPIRE活用事例をご紹介いたします。
さっそく以下の図をご覧ください。

""

私たちはASPIRE上に業務ツールの開発環境を構築しています。
なぜASPIREを使用し、これが何を解決するのかをこれから説明したいと思います。

ITによる業務効率化が必要な時

日常業務において、いかに無駄を省いて効率を上げるかという課題は常に付きまといます。皆さまもルールやマニュアルの改善などで仕組みを簡素化したり、ITによる業務効率化などで対応されていることかと思います。
ITによる業務効率化というと、私の様にサービスの運用を担当する人たちの間では、DevOps、SREなどのキーワードを目にするようになって久しいです。誤解を恐れずに言うと、これらのキーワードに共通するのは「運用を自動化しましょう。(ITエンジニアは)自動化できる力を身につけましょう。」という運動に於いてのベストプラクティスだと私はとらえています。

職場における開発環境

では業務効率化のためのツールをつくりたい場合、何が必要になるでしょうか。
その作りたいツールを試作できる環境(開発環境)だと思います。
この開発環境というのが曲者で、開発部署ではない立場の人が自分の業務用PCで始めようとした場合、業務環境が開発する為の設計をされていない場合が多く、さまざまなセキュリティ面での制約に直面します。

  • 社内ポリシーで開発に必要なソフトウェアのインストールができない
  • 社内ポリシーで開発に必要なポートが閉じられている
  • 業務影響を出さない為に、開発用ネットワークを新たに引き込む必要がある
  • 作成したツールを実行するサーバがない

業務効率化ツールを開発する必要がある人

これらの問題を解決する方法はいくつかあると思います。
社内の開発チームにツール開発を依頼することや、外注も考えられます。ビジネスインパクトが大きなソフトウェア開発が必要な場合はこれらの選択肢は正しいのかもしれません。
しかし、自分の作ろうとしているツールの影響範囲が部署内に限定される場合はどうでしょうか。部署間でスケジュールやリソースの調整をしている間に、部署内開発ならツールの作成が終わってしまうかもしれません。これはそういった人のための記事です。

ツール開発環境

自分たちで開発環境を構築する場合、何が必要になるでしょうか。

  1. 開発用サーバ
  2. 検証用サーバ
  3. 本番環境サーバ
  4. ソースコードリポジトリサーバ

といったサーバシステムと

  1. 閉域接続ネットワーク
  2. グローバルIP
  3. ファイアウォール
  4. NATルータ

といったインフラが必要になります。

これらの機器を物理的に用意するのは大変費用も時間も掛かります。

開発環境がない

所属部署内に環境はなく、部外は調整に時間がかかる、八方ふさがりでしょうか。
そこでクラウド、そこでASPIREの登場です。上記機器を含めた開発環境の構成は1~数日※あれば構築できてしまいます。今回の様に時間と費用を抑えるのには最適な選択肢だと思います。

※デリバリは新規開通の場合10営業日納期となります。上記日数は環境構築の目安です。

またASPIREには以下の特徴があります。

  • SLA99.999%を誇る国産クラウドサービス
  • VMwareの仮想化基盤をベースとしている
  • ソフトバンクの信頼性の高いネットワーク
  • 国内データセンター
  • 東日本および西日本のデータセンターでBCP・DR対策

一般的なクラウドサービスでは、ネットワーク回線は別途業者選定をしないといけなかったり、社内システムをクラウドサービスの仕様に合わせたシステム構成に変更する必要があります。つまり、ASPIREのネットワーク込みで提供される点、オンプレミスのVMware資産がそのまま流用できる点は大きな魅力といえます。

ASPIRE上で開発環境を作成する

もう一度私たちが使用しているASPIRE上の開発環境を見てみましょう。

""

これがASPIRE上でどの様に表現されているか見ていきましょう。

1.ネットワークの構成

まずは上記構成図で閉域向けネットワーク(VLAN)、インターネット向けネットワーク(VXLAN)と記載されているネットワークの構成を見ていきます。

""

VLANタイプのネットワークは申請を頂いてから提供するVLANタイプのネットワークです。ここでは、TenantNW01という名前で作成しています。このネットワークはソフトバンクが提供する様々なサービスと接続することができます。今回の様な場合は、セキュアインターネットアクセス3の様な閉域と接続できるサービスを接続先として選択します。
「セキュアインターネットアクセス3」サービス詳細

VXLANタイプのネットワークはお客様が自由に作成できるネットワークで、名称は自由に決めて頂くことができます。ここでは、toInternetという名前で作成しています。今回はインターネットへ出るための経路として作成しているので、ソフトウェアファイアウォールに接続しています。上の画像だと、接続方法がゲートウェイ接続、接続先がEdgeGWとなっているネットワークです。EdgeGWとはエッジゲートウェイと読み、ASPIRE上でのソフトウェアファイアウォールの事です。

2.仮想マシングループ

仮想マシングループとは、VMやネットワークをグルーピングできる機能です。この機能によってASPIRE上のリソースを用途ごとに纏めて管理できるようになります。
ここで仮想マシングループを定義してから、各ネットワークや仮想マシンをグループ内に設置します。ここではツール開発環境という仮想マシングループを作成しています。

3.ソフトウェアファイアウォール

ソフトウェアファイアウォールの事をASPIREではEdgeGW(エッジゲートウェイ)という名前で提供しています。

""

画像にも記載がある様に、DHCP, NAT, ファイアウォール, 固定ルーティング, VPN, ロードバランサ, SSL-VPNの設定ができます。今回の場合、社内ネットワークから開発環境にアクセスする想定なので、開発用サーバが必要なソフトウェアライブラリをインターネット上から取得できる様に、外向きの通信を許可するファイアウォールルールとNATの設定を行っています。

これで先程必要だったインフラが揃いました。

  1. 閉域接続ネットワーク
  2. グローバルIP
  3. ファイアウォール
  4. NATルータ

4.仮想マシン

最後に仮想マシンですが、先程の仮想マシングループ(今回だとツール開発環境という名称)の中に作成する様にします。

サーバに関してはLinuxサーバVMを3つ立ててそれぞれ以下のソフトウェアを入れています。

  1. DevVM01:開発用・検証用VM(開発ツールとDocker)
  2. ProdVM01:本番環境VM(Docker)
  3. RepoVM01:ソースコード管理VM(GitLab)

開発用と検証用が1つにまとまっているのは、まだ開発者数も開発ツール規模も小さい為、スモールスタートとして同居しています。本来であれば開発者人数分の開発用サーバを用意し、検証サーバが独立していたり、本番環境はネットワークを分けるなどしている方が望ましいです。

これで、

  1. 社内から開発用・検証用サーバへ接続
  2. ソースコードリポジトリサーバでコード&Dockerイメージ管理
  3. ソースコードリポジトリサーバから本番環境サーバへ自動デプロイ

の小規模なDevOps環境が整いました。

最後に、仮想マシングループから表示することのできるネットワーク図を見てみましょう。

""

仮想マシングループ内で、開発環境が構成されていることが確認できます。

いかがでしたか?
ASPIREを使用することにより、物理リソースを準備するよりも安く・素早く、お好みの構成で構築できます。また閉域接続も同時に申し込めるので、ネットワーク業者の選定から解放され、必要なことにより集中できます。その結果、業務ツールによる業務の工数削減や品質向上が実現されるのも早くなります。

特に今回の様に影響範囲が限定されている場合、少人数で開発をすることが多いと思います。スピーディであることやシンプルさ以外にも、オンプレミス環境上にある既存のVMware製VMを移行できることは、痒い所に手が届く仕様ではないでしょうか。
もしASPIREに興味を持っていただけた場合は、お問い合わせ頂ければ幸いです。

また機会があれば、この開発環境の使用例(なぜDockerを使用しているのか、DevOpsの実装など)を掘り下げて紹介していきたいと考えています。
ご精読いただき、ありがとうございました。

関連サービス

ホワイトクラウド ASPIRE

IaaS市場において最高クラスの信頼性と柔軟性の高いネットワーク構成が可能なソフトバンクのパブリッククラウドサービスです。→詳細はこちら