ミライサーバー(VPS)を使ってみたいけど、どのような使い方があるか知りたいため、実行例やポイントを教えて欲しい。
こんなお悩みを解決します。
共用サーバよりも仮想専用サーバ(VPS)の方が自由度が高いため、自前の開発環境や学習用環境として利用している方は多いと思います。
今回は、ミライサーバーと呼ばれるホスティングサービスを実際に利用して、Webサーバを立ち上げるところまで取り組んでみたいと思います。
具体的には、以下の5つを取り上げます。
- SSH接続
- システムのアップデート
- 初期設定
- Dockerの導入
- コンテナの起動&動作確認
Linuxの勉強を始めた方やVPSを初めて扱う方にとって、役立つ情報になればと思います。では、実際に取り組んでいきましょう。
ミライサーバーとは?
まず、ミライサーバーについて紹介します。
ミライサーバーは、Unix系OSのホスティングサービスとなります。
ホスティングサービスとは、サービス事業者が運用保守するサーバを、インターネット経由でレンタルできるサービスです。
ホスティングサービスとは?基本機能やセキュリティをわかりやすく解説
ミライサーバーでは、Windows専用のホスティングサービス「Winserver」を20年以上提供しており、その中で培ったノウハウを活用することで、高品質・低価格なサービスを提供できています。
詳しく知りたい方は、以下の記事でメリット・デメリットをまとめています。ぜひご覧ください。
【VPS】ミライサーバーとは?メリット・デメリットと契約方法について解説
続きを見る
事前準備
ミライサーバーで契約を進めると、以下のように会員登録完了のお知らせと契約に関する情報がメールで送られてきます。
今回は、2週間の無料トライアルを申し込んだため、「トライアル利用開始のお知らせ」が届きました。
また、トライアル利用開始時にPDFファイルも送付されていると思います。
こちらはパスワードがかかっており、閲覧するためには以下のようなメールを探し、パスワードを入手してください。
無事、PDFを開くことができたら、以下のような情報が表示されると思います。
【ポイント】VPS利用時に必要な情報
VPSを利用するためには、記載されている情報のうち、以下の3点が必要になります。
項目 | 内容 | 備考 |
---|---|---|
IPアドレス | 接続先のサーバの情報 | xxx.yyy.zzz.www という形式となる。4桁のそれぞれの数値は1~254の値が割り当てられている。 |
管理者ID | 接続時のログインユーザ名 | ログイン時に利用するユーザ名。ルート権限が付与されている。 |
パスワード | 接続時のログインパスワード | ログイン時に利用するパスワード |
また、接続時のツールも必要になります。ここでは、TeraTermを利用します。
TeraTermを導入していない方は、以下の記事に記載されているリンク先からダウンロード&展開をしておいてください。
【解説】公開鍵認証方式によるSSH接続について分かりやすく解説!
続きを見る
ミライサーバーの利用
以降では、先ほど挙げた以下の5点を実施していきます。
- SSH接続
- システムのアップデート
- 初期設定
- Dockerの導入
- コンテナの起動&動作確認
Step1:SSH接続
TeraTermを起動し、以下の情報を入力後、「OK」を押下します。
項目 | 入力情報 | 備考 |
---|---|---|
Host | 先ほど調べたIPアドレス | 今回の例の場合、xxx.yyy.zzz.www となる。 |
Host Port | 22 | デフォルトのポート番号で接続可能。 |
その後、ユーザ名とパスワードの入力を求められるため、それぞれ以下の情報を入力後に「OK」を押下してください。
項目 | 入力情報 | 備考 |
---|---|---|
User name | 先ほど調べた管理者ID | - |
Passphrase | 先ほど調べたパスワード | 「l(エル)」や「I(アイ)」が混ざっていることがあるため、間違えないように入力する。 |
ログインに成功すると以下のような画面が表示されます。今回は、Ubuntu 22.04 LTSで契約したため、画面上部に該当する情報が表示されていますね。
Step2:システムのアップデート
Linux OSのリリース後、バグ修正や機能追加等は継続して行われるため、システムのアップデートが必要になります。
以下のコマンドを入力し、システムのアップデートを行いましょう!
sudo apt update
sudo apt upgrade
初回のsudo
コマンド実行時は、パスワードの入力を求められるため、先ほど調べたパスワードを入力します。
また、暫くすると以下のようなサービスの再起動に関する旨が表示されます。内容を確認後、「OK」を選択してください。
Step3:初期設定
メールで通知されたアカウントはパスワードが覚えにくいため、自分が使いやすいアカウントを追加し、そちらをメインに使うことにします。
以下のコマンドを実行し、アカウントを追加します。
sudo adduser yuruto # 「yuruto」部分は自身が設定したいユーザ名を指定
Adding user `yuruto' ...
Adding new group `yuruto' (1001) ...
Adding new user `yuruto' (1001) with group `yuruto' ...
Creating home directory `/home/yuruto' ...
Copying files from `/etc/skel' ...
New password: # ★パスワードを入力
Retype new password: # ★確認用のパスワードを入力
passwd: password updated successfully
Changing the user information for yuruto
Enter the new value, or press ENTER for the default
Full Name []: # ★何も入力せずにEnterキーを押下
Room Number []: # ★何も入力せずにEnterキーを押下
Work Phone []: # ★何も入力せずにEnterキーを押下
Home Phone []: # ★何も入力せずにEnterキーを押下
Other []: # ★何も入力せずにEnterキーを押下
Is the information correct? [Y/n] Y # ★Yを入力後、Enterキーを押下
# sudo権限付与
sudo usermod -aG sudo yuruto
設定が完了後、追加したユーザで再度ログインします。TeraTermを起動後、ユーザ名とパスワードを指定する際に以下の情報を入力し、「OK」を押下してください。
項目 | 入力情報 |
---|---|
User name | 先程追加したユーザ名 |
Passphrase | ユーザ追加時に設定したパスワード |
無事、ログインできれば成功です。
Step3:Dockerの導入
続いて、Dockerの導入を行います。
様々な導入方法がありますが、今回はコマンド一行で一通りやってくれるshell scriptを利用します。以下のコマンドを実行してください。
# shell scriptの取得
curl -fsSL get.docker.com -o get-docker.sh
# install
sh get-docker.sh
# グループへの追加
sudo gpasswd -a $USER docker
実際の出力は以下のようになります。
curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh
# Executing docker install script, commit: c2de0811708b6d9015ed1a2c80f02c9b70c8ce7b
+ sudo -E sh -c apt-get update -qq >/dev/null
[sudo] password for yuruto: # ★パスワードの入力を求められるため、ログイン時のパスワードを入力する
+ sudo -E sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sudo -E sh -c install -m 0755 -d /etc/apt/keyrings
+ sudo -E sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg
+ sudo -E sh -c chmod a+r /etc/apt/keyrings/docker.gpg
+ sudo -E sh -c echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable" > /etc/apt/sources.list.d/docker.list
+ sudo -E sh -c apt-get update -qq >/dev/null
+ sudo -E sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-ce-rootless-extras docker-buildx-plugin >/dev/null
+ sudo -E sh -c docker version
Client: Docker Engine - Community
#
# 省略
#
WARNING: Access to the remote API on a privileged Docker daemon is equivalent
to root access on the host. Refer to the 'Docker daemon attack surface'
documentation for details: https://docs.docker.com/go/attack-surface/
================================================================================
sudo gpasswd -a $USER docker
以上で、Dockerの導入は終了です。以降では、Dockerを用いてコンテナの起動&動作確認をしましょう!
Step4:コンテナの起動&動作確認
今回は、簡易的な動作確認のためnginx
のコンテナを作成し、動作確認を行います。
まず、以下のコマンドを実行し、nginx
のコンテナを起動します。
# コンテナの起動
docker run -d -p 80:80 nginx
次に、以下のコマンドにより、ターミナル上から起動したコンテナ(Webサーバ)にアクセスします。
# サーバにアクセス
curl -s http://$(ip a | grep eth0$ | grep -oP "(?<=inet )(.*)(?=/)") > /dev/null
それぞれのコマンドの意味は、以下のようになります。
コマンド | 実行内容 | 実行結果 |
---|---|---|
ip a | grep eth0$ | 「eth0」で終わる行を抽出 | inet xxx.yyy.zzz.www/23 brd xxx.yyy.zzz.255 scope global eth0 |
ip a | grep eth0$ | grep -oP "(?<=inet )(.*)(?=/)" | inet から始まり/ で終わる部分の文字列を抽出 | xxx.yyy.zzz.www |
最後に、アクセスログを確認します。
docker logs $(docker ps --format '{{ .Names }}')
xxx.yyy.zzz.www - - [26/Jun/2023:22:22:22 +0000] "GET / HTTP/1.1" 200 615 "-" "curl/7.81.0" "-"
以上で動作確認は完了です。最後にコンテナを削除します。
# コンテナの削除
docker rm -f $(docker ps --format '{{ .Names }}')
利用してみた感想
ミライサーバーを利用してみて感じたことを2点取り上げます。
最小構成の環境のため非常にシンプル
提供されるサーバには、sshサーバのみインストールされており、ほぼOSインストール直後の状態となるため、無駄が一切ない印象です。
普段使いする場合や学習用途で利用する場合など、どのような用途でも使いやすいと感じました。
I/Oが高速
SSD搭載という理由もありますが、Docker Imageのダウンロードやコンテナの起動までが極めて短時間で終わる印象を受けました。
そもそも起動しているプログラム自体も100個ほどで、メモリも最低1GB割り当てられているため、大量のアクセスを処理する必要がなければVPS1GBでも十分なスペックです。
また、不足した場合もスケールアップさせれば良いので、どのプランから始めても柔軟に対応できますよ!
まとめ
今回は、VPSのホスティングサービスであるミライサーバーを利用して、Webサーバを立ち上げるところまで実施しました。
最初はSSH時のポート番号もなく一瞬不安になりましたが、提供いただいた資料から最低限の設定のみとなっていることが分かったため、特段気にする必要はなかったです。
一度でもLinuxOSをインストールしたことがある方であれば、インストール直後のマシンと同様の使い方ができますよ!
また、メリット・デメリットや導入方法は、以下の記事でまとめているので、興味がある方はぜひご覧ください。
【VPS】ミライサーバーとは?メリット・デメリットと契約方法について解説
続きを見る