Azureを使用したインフラ環境構築
(超初心者向け)
目的
パブリッククラウドであるAzureを使用しインフラ環境を構築してみる。
目標
Azure上のWindows Serverで動作するWEBアプリケーション環境を構築する。
目指す構成は以下の通り。まずはミニマムスタートでAzureに慣れる。
やること
- 基礎知識習得
- 構築作業
- 接続確認
- 構築作業・・・続き
やったこと
-
基礎知識習得
-
Microsoft Learnを学習材料としてAzureの全体概要を掴む
Microsoft Learn
Azure をはじめとする Microsoft の各種サービスの使い方をハンズオン形式で学ぶことができるサイトです。
Microsoft Learn -
各サービスの概要を確認
Azureのドキュメント
Microsoft Azure Cloud Services を使用して、強力なアプリケーションを構築し、管理する方法について説明されています。
ドキュメント、サンプルコード、チュートリアルなどを入手できます。
Azureのドキュメント
-
-
構築作業
-
アカウント登録
-
アカウントの種類
Azureを利用するためのアカウントにはビジネス向けの「Azure AD アカウント」とコンシューマ向けの「Microsoft アカウント」が存在する。
今回は「Microsoft アカウント」を利用する。 -
アカウント登録
以下のURLにアクセスし、必要事項を入力し、アカウント登録
アカウント登録
-
-
リソースグループの作成
Azureでは作成される仮想マシンやストレージなどを指して「リソース」と呼びます。
リソースグループはAzureにおいて複数のリソースを管理するためのしくみであり、
リソースグループを利用することによってリソースグループに含まれるリソースを一覧表示したり、
複数のリソースを一括で削除したり、互いに関連するリソース同士をまとめて管理することができます。
以降では1つのリソースグループ内にサービスを含めていきます。 -
仮想ネットワークの作成
Azure内に他ネットワークと論理的に分離されたプライベートなネットワークを構築できるサービスです。
作成したリソースグループに含めます。 -
Web App Serviceの作成
Web App Serviceはインフラを管理することなく、任意のプログラミング言語で Web アプリケーション、
モバイル バックエンド、および RESTful API を構築し、ホストできます。
主な特徴は- インフラを管理する必要がない(PaaSの特徴)
- 任意のプログラミング言語を動作させる事ができる
対応言語は、.NET、.NET Core、Java、Ruby、Node.js、PHP、Python - WindowsとLinuxOSをサポートしている
- 自動的なスケールアップとスケールアウトによる高可用性
- 標準で自動デプロイに対応している(GitHub、Azure DevOps、Gitリポジトリ)
-
アプリケーションデプロイ
アプリケーションのデプロイには以下のような方法が参考に挙げられる。
今回は「Visual Studio」を経由のデプロイ方法で検証した。- Azure ポータルからデプロイする
- ARM テンプレートを使ってデプロイする
- 予めビルドしておいたパッケージを PowerShell から手動でデプロイする
- Visual Studio からビルドした WebApp を直接 App Service としてデプロイする
- DevOps でビルドしたものを Azure Pipeline 経由でデプロイする
-
-
構築作業・・・続き
基礎的なルートは疎通確認出来たので、今後取り組んでいきたいこと。- SQL Databaseの連携
- 可用性の向上(N-Act構成)
- Azure Application GatewayまたはAzure Load Balancerの連携
- 仮想マシンにWEBサーバを構築する方法とWeb App Serviceを利用する方法との比較
コスト計算
コストを計算するにはAzureが提供している料金計算ツールが利用できます。
料金計算ツール
# | サービス | 費用 | 備考 |
---|---|---|---|
1 | Web App Service | 0円 | レベル:無料 |
2 | 仮想ネットワーク | 0円 | - |
- | 合計 | 0円 |
作業記録
# | 作業 | だいたいの作業時間 |
---|---|---|
1 | アカウント登録 | 60分程度 |
2 | リソースグループの作成 | 30分程度 |
3 | 仮想ネットワークの作成 | 20分程度 |
4 | Web App Serviceの作成 | 60分程度 |
5 | アプリケーションデプロイ | 60分程度 |
- | 合計 | 230分程度(4時間程度) |
超初心者としては「良し」とする |
AWSとのサービス比較
更新中