Azureで開発を行うための環境構築

はじめに

Microsoftが提供するクラウドサービスAzure(以下Azureとする)は、手軽に利用でき、運用をサービス提供者に任せることができます。またサービスやシステム提供開始までの時間を短縮できるという利点により、個人や法人に開発手段として現在浸透してきています。この記事では、個人がAzureを開発環境として利用するためには、どのようにすれば良いのかをまとめました。

Azureとは

Azureとは、マイクロソフト社の提供するクラウドサービスです。クラウドとは端的に言えば、ITリソースの利用形態の一つです。インターネットなどのネットワークに接続されたリソースを、利用者はサービスとして利用します。ネットワーク経由で利用するため、利用者はリソースがどこで動いているか意識する必要がありません。提供されているITリソースの種類はベンダーによって様々ですが、基本となるサービスとしては、コンピューターからネットワーク、ストレージ、データベース、アプリケーションなどが挙げられます。

Azureの主なサービスについて

Azureは、PaaSとIaaSを提供できるサービスである事が分かりました。しかしPaaSとIaaSのサービス内容は多岐にわたるため、具体的にどのようなサービスがあるのかご紹介していきます。

Azure AI

Azure Alとは、AI(人工知能)を活用して画像解析や音声認識、自然な対話、各種データを使った未来予測などを行うものです。Azure AIでは、機械学習機能を利用する事で、機械学習モデルの構築や各種トレーニングなどを簡単に行う事が出来ます。ナレッジマイニングでは、様々なコンテンツから情報を引き出せる検索サービスであるAzure Searchを活用し、ドキュメントや画像の情報を見つけることが出来ます。また、AIアプリを活用することで、様々なサービスから構築したAIモデルにアプローチすることが可能です。これらの事から、各サービスがAI機能を活用して様々な用途に展開することができるようになります。

DevOps

DevOpsとは、開発手法やツールを使って開発者(Development)と運用者(Operations)が密接に連携することで、より柔軟かつスピーディーにシステムを開発することです。DevOpsを利用することで、簡潔かつ簡単にクラウドアプリやモバイルアプリのビルド、リリース、テスト、監視が行うことが出来ます。自社に合わせて、多様な開発を行うことが出来るのがDevOpsの特徴であり、Azure DevOpsやVisial Studio App Centerなど様々な製品があります。

ID管理とアクセス管理(IAM)

Azureではリスクベースのアクセス権の制御やユーザIDの保護、それを支える認証機能など、悪意のある攻撃からID管理とアクセス管理の守る機能が提供されています。

データベース

Azureのデータベースは世界中に多重分散管理されている事から、いつでもどこでも必要なデータを引き出すことが出来ます。またAzureはフルマネージドサービスであり、高い可用性を有しています。そのため、ダウンタイムなどに阻まれることなく安定的な利用が可能です。

コピーティング

コピーティングでは、アプリを利用するために必要となるインフラを必要に応じて、リソースを手に入れることが出来ます。WindowsとLinuxの仮想マシンをデプロイして移行させる、ハイブリッド環境を利用するなど、幅広い用途に対応しています。

次にそのサービスモデルについてNIST(米国国立標準技術研究所)の定義から解説します。

実装モデルの定義

□パブリッククラウド:組織によって管理され、一般に公開されている形態です。
□プライベートクラウド:組織の専用利用のために提供される形態です。
□ハイブリットクラウド:2つ以上の異なるクラウドを組み合わせる形態です。

AzureはIaaS、PaaSを提供するパブリッククラウドです。IaaSとは、仮想サーバーを使用して、コンピューティング、ストレージ、ネットワークなどの基本的なリソースを提供します。AzureではVirtual Machine(仮想マシン)が該当します。PaaSとは利用者のアプリケーションを動かすためのプラットフォームを、ランタイムやツールを合わせて提供します。AzureではAzure App Serviceが該当します。

Azureで開発を行うメリット

Azureの開発手順を解説する以前に、Azureで開発をすることのメリットについて気になる方も多いのではないでしょうか。そこで最初にAzureで開発するメリットについて簡単にご紹介します。

世界最大規模のクラウド

Azureは世界で58箇所のリージョン(2020年4月現在)があり、140カ国で利用できる巨大なクラウドサービスとなっています。日本国内では、東日本リージョン、西日本リージョンが設置されており、遠隔地のリージョンを使わずにデータ転送の遅延を最小化することが出来ます。

セキュリティ対策も万全

多層構造のカスタマイズされたハードウェアで構成され、3,500名以上のサーバーセキュリティの専門家によるチームがセキュリティを監視しています。DDosなどの脅威から保護するのはもちろんのこと、全世界から供給される新たな脅威に関する情報がリアルタイムで蓄積されるため、最新の脅威にも迅速に対応しています。

開発環境が用意されている

開発環境をゼロから立ち上げようとすると時間も掛かります。しかし、Azureには開発環境が用意されており、迅速に開発からデプロイが出来ます。OSSと親和性が高いことも開発者の多様な要求に応える仕様と言えます。また、Azureは、ECサイトやモバイルアプリの開発にとどまらず、先端のIoT、AIや機械学習、画像認識や音声認識のサービスに対応した機能を備えています。

Azureで開発をするには

Azureで開発を行う事のメリットが分かったところで、実際開発するにはどうすればよいのでしょうか。まず、Azureで開発を行うにはAzureを契約して仮想マシンを構築する必要があります。

Azureを契約する

Azureの契約方法は大きくわけて2種類あります。オンライン契約(従量課金制、無償試用版)か、書面ベースで契約する方法です。オンライン契約は誰でもWebで直接契約でき、使用した分だけの従量課金を支払い、いつでもキャンセルすることができます。書面契約の場合は、代理店などと契約を締結する方法があります。料金前払いなどの条件がありますが、エンタープライズポータルで複数の契約を統合管理、部門管理ができる、課金アラート機能が使える等のメリットがあります。

仮想マシンについて

仮想マシンは、一つのハードウェア上で仮想化という技術により、まるで別のCPUやOSを搭載した複数のマシンを起動したかのように動作します。つまり、一言で表すと「仮想的に作り出されたハードウェア」となります。1台の物理サーバーがあるとして、その物理サーバに対して複数の仮想サーバーを作り出し、稼働されることが出来ます。通常の物理サーバーの稼働だけでは、メモリやCPUなどのリソースが有り余ってますが、この余剰リソースも有効活用が可能です。

仮想マシンを構築する

仮想マシンを構成するには、リソースグループの作成が必要になります。では具体的にどうやって構築するのか、その手順を簡単に解説していきます。

リソースグループの作成

①Azure 管理ポータルサイトを開き、ナビゲーションウィンドウで[リソースグループ]を選択します。
Azure管理ポータルサイトはこちらから → https://portal.azure.com

②[リソースグループ]を選択します。

③表示される画面中央の[リソースグループの作成]をクリックし、次の値を入力します。

  • リソースグループ名:任意
  • サブスクリプション:規定
  • リソースグループの場所:東日本

④入力したら作成ボタンをクリックします。これでリソースグループが作成されました。

※[補足]リソースグループ

リソースグループとは、Azureにおいて複数のリソースを管理するための仕組みで、簡単にいうとリソースをまとめる入れ物、いわば箱のことです。リソースグループを利用することで、リソースグループに含まれるリソースを一覧表示したり、一括で削除したり、お互いに関連するリソース同士をまとめて管理することが出来ます。

仮想マシンの作成

リソースグループ作成作業で仮想マシーンを構築する準備が整いました。次は仮想マシンの構築です。

①ナビゲーションウィンドウから[Virtual Machines]を選択し、[Virtual Machinesの作成]をクリックします。

②次に仮想マシンにWindows Serverをインストールします。[Comute]の画面[Windows Server]→[Windows Server2016 Datacenter]の順でクリックし、デプロイモデルの選択で[Resouce Manager]を選び、[作成]ボタンをクリックします。

これで仮想マシンの構築は終了し、Azureで開発を行うことができるようになります。

まとめ

Azureで開発を行うためには、Azureを契約して仮想マシンの構築を行う必要があり、Azure管理ポータルサイトでリソースグループの作成をしてから仮想マシンの作成を行うことによって、開発環境が完成されるということを本記事で紹介させて頂きました。Azureを使うことによって、様々なシステムの構築やアプリケーションの開発を行う事が出来るので、是非挑戦してみてください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次の記事

Azure Storageとは