LoginSignup
5
1

More than 1 year has passed since last update.

AzureでUbuntu仮想マシンをデプロイする(Webサーバ用途)

Last updated at Posted at 2023-01-12

船井総研デジタルのよもぎたです。
今回は、AzureにUbuntu仮想マシンをデプロイして、そこにWebサーバを構築してみたいと思います。WebサーバはApacheとNginxの2パターンを考えているので、共通の仮想マシンデプロイの記事(本記事)と、Apacheの構築記事Nginxの構築記事に分けたいと思います。

ネットワークを準備する

まずは、仮想マシンをデプロイするネットワークの準備をします。

仮想ネットワークを作成する

Azureのサービスの検索で@「仮想ネットワーク」と検索し、「仮想ネットワーク」を選びます。このとき、「仮想ネットワーク(クラッシック)」も検索にヒットしますが、こちらはワナです。

スクリーンショット 2023-01-09 150145.png

基本情報で、サブスクリプションとリソースグループを選び、名前を指定してリージョンを選択します。スクリーンショット 2023-01-09 150406.png

今回は仮想ネットワークのアドレスは192.168.0.0/16、サブネットのアドレスは192.168.1.0/24としました。
セキュリティとタグは今回はデフォルトのままなので、ここで「確認及び作成」をクリックしてします。
スクリーンショット 2023-01-09 150632.png

ネットワークセキュリティグループの作成

サービスの検索で「セキュリティグループ」で検索し「ネットワークセキュリティグループ」を選びます。ここでも「~~(クラッシック)」は無視します。

ネットワークセキュリティグループの作成は、仮想ネットワークと同じサブスクリプション、リソースグループ、リージョンで作成します。名前は任意でつけてください。ここで「確認および作成」をクリックしてネットワークセキュリティグループを作成します。トラフィックの許可は作成後に設定します。
スクリーンショット 2023-01-09 151310.png

作成出来たら、リソースに移動します。

ネットワークセキュリティグループの設定

Webサーバ用のポートを開放する

Webサーバなので、HTTP(TCP80番ポート)とHTTPS(TCP443番ポート)をAnyから許可します。左のメニューから「受信セキュリティ規則」をクリックし、右のペインが切り替わったら「追加」をクリックします。
スクリーンショット 2023-01-09 151818.png

「受信セキュリティ規則の追加」で「サービス」のプルダウンメニューから「HTTP」を選び、追加をクリックします。「宛先ポート範囲」と「プロトコル」がグレーアウトして「80」と「TCP」に固定になります。同様の手順で「HTTPS」も追加します。
スクリーンショット 2023-01-09 152003.png

構築作業用のポートを開放する

構築作業用に、SSHのポートを開放します。手順はHTTP/HTTPSと同じですが、「ソース」(IPアドレス)を「My IP address」に、サービスを「SSH」にします。
スクリーンショット 2023-01-09 153333.png

ネットワークセキュリティグループの確認

作成して、HTTP、HTTPS、SSHの3件の許可が追加されていること、HTTPとHTTPSについてはソースは任意、SSHについてはソースが自分のグローバルIPアドレスになっていることを確認します。
スクリーンショット 2023-01-09 153753.png

ネットワークセキュリティグループの適用

ホームの最近使ったリソースから、先ほど作成した仮想ネットワークを選びます。仮想ネットワークの左のメニューで「サブネット」を選び、先ほど作成したサブネットを選びます。右側に追加のメニューが開きます。
追加のメニューのなかの「ネットワークセキュリティグループ」のプルダウンメニューから、先ほど作成したネットワークセキュリティグループを選び「保存」をクリックします。
スクリーンショット 2023-01-09 154234.png

パブリックIPアドレスの作成

Azureのサービスの検索から「パブリックIP」で検索し「パブリックIPアドレス」を選択します。
スクリーンショット 2023-01-09 155728.png

パブリックIPアドレスの作成メニューに入り、値を選択していきます。IPバージョンはIPv4,SKUはStandard、レベルは地域を選択します。名前は任意の名前を付けます。サブスクリプション、リソースグループ、場所は用意したネットワークと同じものを選択します。これで「作成」をクリックします。
スクリーンショット 2023-01-09 155944.png

これで、ネットワークの準備が整いました。

仮想マシンをデプロイする

Azureのサービスの検索から「virtual machines」を検索し、「Virtual Machines」を選択します。
スクリーンショット 2023-01-09 154612.png

Virtual Machinesのメニューから「作成」を選択「Azure仮想マシン」を選択します。

スクリーンショット 2023-01-09 154846.png

仮想マシンの作成メニューに入ります。
基本タブでは、サブスクリプション、リソースグループ、リージョンは準備したネットワークと同じものを選択します。
仮想マシン名は任意で設定します。イメージは「Ubuntu Server 22.04 LTS」を選択します。仮想マシンのサイズは任意で構いませんが、今回は「Standard_B1ls」を選択しました。
管理者アカウントは「SSH公開キー」を選択し、ユーザー名はせっかく任意のものが設定できるので、任意の名前に変更します。
スクリーンショット 2023-01-09 155033.png

ディスクタブはデフォルトのままでスキップします。

ネットワークタブでは、仮想ネットワーク、サブネット、パブリックIPをそれぞれ準備したものをプルダウンメニューから選択します。「NICネットワークセキュリティグループ」は「なし」になっていることを確認します。サブネットにネットワークセキュリティグループが適用されているので、これで問題ありません。
スクリーンショット 2023-01-09 160458.png

「確認および作成」をクリックし「作成」をクリックします。
「新しいキーの組の生成」というダイアログが表示されるので「秘密キーのダウンロードとリソースの作成」を選択します。
秘密鍵がダウンロードできるので、大切に保管します。
スクリーンショット 2023-01-09 160757.png

少し待つと、リソースのデプロイが完了します。

仮想マシンのグローバルIPアドレスは、仮想マシンの概要で確認できます。

スクリーンショット 2023-01-09 161601.png

OSをアップデートする

仮想マシンへのログイン

ここからはWSL2で操作します。
先程ダウンロードしたSSH秘密鍵を ~/.ssh にコピーてパーミッションを設定します。

$ cp WebSv_key.pem ~/.ssh
$ cd ~/.ssh
$ chmod 600 WebSv_key.pem

仮想マシンにログインします。-l <username>は仮想マシンデプロイ時に設定したユーザー名を指定してください。

$ ssh -l t_ymgt -i WebSv_key.pem xx.xx.xx.xx
Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.15.0-1029-azure x86_64)
---snip---
t_ymgt@WebSv:~$

ssh configを設定する場合は次のようにします。こうすると、hostで指定した名前(下記の場合はAzWebSV)でsshできるようになります。

$ grep -A3 AzWebSV ~/.ssh/config
host AzWebSV
        hostname XX.XX.XX.XX
        identityfile ~/.ssh/WebSv_key.pem
        user t_ymgt
$ ssh AzWebSV
Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.15.0-1029-azure x86_64)
---snip---
t_ymgt@WebSv:~$

OSのアップデートをします。

$ sudo apt update -y
$ sudo apt upgrade -y

Apache、Nginx共通の手順はここまでです。インストールしたいWebサーバに応じて以下の記事を参照してください。

ApacheWebサーバのインストールとHTTPS対応まで

NginxサーバのインストールとHTTPS対応まで

最後までお読みいただきありがとうございました。

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1