はじめに
クラウドへの Ubuntu Server のデプロイは、スケーラブルで信頼性の高いクラウド環境の力を活用したい企業や開発者にとって、頼れる選択肢となっています。最も人気のある Linux ディストリビューションの 1 つである Ubuntu Server は、安定性、セキュリティ、広範なコミュニティ サポートで知られており、アプリケーション、データベース、その他のワークロードのホスティングに最適です。AWS、Google Cloud Platform (GCP)、Microsoft Azure のいずれにデプロイする場合でも、Ubuntu Server はクラウドベースのソリューションのための堅牢な基盤を提供します。
このガイドでは、AWS、Google Cloud、Azure などの主要なクラウド プラットフォームへの Ubuntu Server のデプロイ方法を解説します。この記事を読み終える頃には、クラウドで Ubuntu Server をプロビジョニング、設定、セキュリティ保護するための主要なステップを理解できるようになります。
過去の記事:
01. Ubuntu Server 入門 – SysOSX: AI & Cloud
02. 初めての Ubuntu Server をセットアップする方法:初心者ガイド – SysOSX: AI & Cloud
03. Ubuntu Server のための Linux コマンドラインの習得 – SysOSX: AI & Cloud
04. Ubuntu Server でのユーザーと権限の管理:包括的ガイド – SysOSX: AI & Cloud
05. Ubuntu Server のネットワークの基礎:包括的ガイド – SysOSX: AI & Cloud
06. Ubuntu Server へのソフトウェアのインストールと管理:完全ガイド – SysOSX: AI & Cloud
07.Ubuntu Server のパッチ適用と更新:包括的ガイド – SysOSX: AI & Cloud
08. Ubuntu Server のセキュリティ保護:強化と保護のための実践的なステップ – SysOSX: AI & Cloud
10. Ubuntu Server のシステム監視ツール:包括的ガイド – SysOSX: AI & Cloud
11. Ubuntu サーバーの集中ロギング:必読ガイド – SysOSX: AI & Cloud
12. Ubuntu Server の監査とコンプライアンス:ベスト プラクティス – SysOSX: AI & Cloud
13. ホスティングと Web アプリケーションのための Ubuntu Server のセットアップ:究極ガイド – SysOSX: AI & Cloud
14. 1 台の Ubuntu Server で複数の Web サイトをホストする:役立つヒント – SysOSX: AI & Cloud
15. Ubuntu Server のストレージとディスクの管理:シンプル ガイド – SysOSX: AI & Cloud
16. Ubuntu Server でのファイル共有サービスのセットアップ:完全ガイド – SysOSX: AI & Cloud
17. Ubuntu での安全なデータベース サーバーのセットアップ:MySQL vs. MariaDB – SysOSX: AI & Cloud
18. Ubuntu Server での LVM の設定と使用方法:包括的ガイド – SysOSX: AI & Cloud
19. KVM による仮想化入門:Ubuntu Server 向け初心者ガイド – SysOSX: AI & Cloud
20. Ubuntu Server への Docker のインストール方法:コンテナ化へのステップバイステップ ガイド – SysOSX: AI & Cloud
21. LXD を使ってみよう:コンテナを簡単にインストール + チートシート – SysOSX: AI & Cloud
22. Ubuntu Server で Podman を使ってみよう:完全ガイド – SysOSX: AI & Cloud
目次
クラウドに Ubuntu Server をデプロイする理由
クラウドに Ubuntu Server をデプロイすることには、いくつかの利点があります:
- スケーラビリティ:クラウド プラットフォームでは、需要に応じてリソースをスケールアップまたはスケールダウンできます。
- グローバルな可用性:低遅延と高可用性のために、複数のリージョンにサーバーをデプロイします。
- コスト効率:柔軟な料金モデルで、使用したリソースに対してのみ支払います。
- 自動化:Terraform、Ansible、クラウド固有の API などのツールを使用して、デプロイを自動化します。
- セキュリティ:クラウド プロバイダーは、ファイアウォール、暗号化、ID 管理などのセキュリティ機能を組み込みで提供します。
ステップ 1:クラウド プラットフォームを選択する
Ubuntu Server をデプロイする前に、ニーズに最も適したクラウド プラットフォームを決めます。主要 3 プロバイダーの主な機能は次のとおりです:
Amazon Web Services (AWS)
- 最適な用途:幅広いサービス オプションを必要とする企業や開発者。
- 主な機能:EC2 インスタンス、S3 ストレージ、セキュリティ グループ、自動スケーリング。
- 料金:初心者向けの無料利用枠オプション付きの従量課金制。
Google Cloud Platform (GCP)
- 最適な用途:データ集約型のワークロードと機械学習アプリケーション。
- 主な機能:Compute Engine、Kubernetes Engine、BigQuery。
- 料金:継続使用割引付きの透明な料金体系。
Microsoft Azure
- 最適な用途:Windows Server や Active Directory などの Microsoft テクノロジーをすでに使用している企業。
- 主な機能:仮想マシン、Azure Active Directory、ハイブリッド クラウド サポート。
- 料金:Windows ライセンス向けのハイブリッド特典付きの競争力のある料金。
ステップ 2:Ubuntu Server をプロビジョニングする
2.1 AWS へのデプロイ
ステップ 1:AWS マネジメントコンソールにログインする
AWS Management Consoleにアクセスし、認証情報でログインします。
ステップ 2:EC2 インスタンスを起動する
- 次の場所に移動します:EC2(「コンピューティング」セクション内)。
- インスタンスを起動。
- Ubuntu Server AMI (Amazon マシンイメージ) を選択します。例:Ubuntu Server 22.04 LTS。
ステップ 3:インスタンスの詳細を設定する
- インスタンス タイプを選択します(例:無料利用枠の対象となる t2.micro)。
- VPC やセキュリティ グループなどのネットワーク設定を行います。
- ストレージを追加します(デフォルトは 8 GB ですが、ニーズに応じて増やすことができます)。
ステップ 4:キーペアを追加する
サーバーに安全に接続するために、SSH キーペアを作成または選択します。
ステップ 5:インスタンスを起動する
起動をクリックし、インスタンスの準備が整うまで待ちます。
ステップ 6:インスタンスに接続する
SSH を使用して接続します:
ssh -i <your-key.pem> ubuntu@<instance-public-IP>
2.2 Google Cloud へのデプロイ
ステップ 1:Google Cloud Console にログインする
Google Cloud Consoleにアクセスしてログインします。
ステップ 2:仮想マシンを作成する
- 次の場所に移動します:Compute Engine > VM インスタンス。
- インスタンスを作成。
ステップ 3:VM の詳細を設定する
- インスタンスの名前を選択します。
- 場所に基づいて、リージョンとゾーンを選択します。
- Ubuntu Server イメージを選択します(例:Ubuntu 22.04 LTS)。
ステップ 4:マシンタイプを設定する
マシンタイプを選択します(例:無料利用枠の対象となる e2-micro)。
ステップ 5:SSH キーを追加する
セキュリティ設定の下に、公開 SSH キーを追加します。
ステップ 6:インスタンスを作成する
作成をクリックし、VM がプロビジョニングされるまで待ちます。
ステップ 7:インスタンスに接続する
gcloud CLI または SSH を使用して接続します:
gcloud compute ssh <instance-name> --zone=<zone>
2.3 Azure へのデプロイ
ステップ 1:Azure Portal にログインする
Azure Portalにアクセスしてログインします。
ステップ 2:仮想マシンを作成する
- 次の場所に移動します:仮想マシン。
- 作成 > 仮想マシン。
ステップ 3:VM の詳細を設定する
- サブスクリプションとリソース グループを選択します。
- Ubuntu Server イメージを選択します(例:Ubuntu Server 22.04 LTS)。
- VM サイズを選択します(例:コスト効率の良い B1s)。
ステップ 4:認証を設定する
SSH 公開キーを選択し、公開キーを入力します。
ステップ 5:ネットワーキング
受信ポート ルールを設定します(例:ポート 22 での SSH を許可)。
ステップ 6:確認と作成
確認と作成をクリックし、VM がデプロイされるまで待ちます。
ステップ 7:インスタンスに接続する
SSH を使用して接続します:
ssh -i <your-key.pem> azureuser@<instance-public-IP>
ステップ 3:デプロイ後の設定
3.1 サーバーの更新とアップグレード
サーバーに接続したら、システムを更新およびアップグレードします:
sudo apt update && sudo apt upgrade -y
3.2 ファイアウォール ルールの設定
ufwを使用してファイアウォールを設定し、サーバーを保護します:
sudo ufw allow OpenSSH
sudo ufw enable
3.3 必須パッケージのインストール
サーバー管理によく使用されるパッケージをインストールします:
sudo apt install -y curl wget git build-essential
ステップ 4:Ubuntu Server のセキュリティ保護
4.1 root ログインの無効化
SSH 設定ファイルを編集して、root ログインを無効にします:
sudo nano /etc/ssh/sshd_config
以下を探して設定します:
PermitRootLogin no
SSH を再起動します:
sudo systemctl restart sshd
4.2 自動セキュリティ更新の有効化(要件に応じて任意)
unattended-upgradesをインストールして設定します:
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades
ステップ 5:スケーリングと監視
5.1 自動スケーリング
AWS の場合は、Auto Scaling Groupsを使用して、需要に基づいてリソースを動的にスケールします。
GCP の場合は、Instance Groupsをスケーリング用に設定します。
Azure の場合は、VM Scale Setsを使用してスケーリングを管理します。
5.2 監視
クラウドネイティブ ツールを使用して、サーバーを監視します:
- AWS:CloudWatchを使用して、メトリクスとログを確認します。
- GCP:Stackdriverを使用して、監視とアラートを行います。
- Azure:Azure Monitorを使用して、インサイトと診断を確認します。
参考:
Azure: https://learn.microsoft.com/en-us/azure/virtual-machines/linux/quick-create-portal
GCP: Create a Linux VM instance in Compute Engine | Compute Engine Documentation | Google Cloud
AWS: Get started with Amazon EC2 – Amazon Elastic Compute Cloud
まとめ
AWS、Google Cloud、Azure のいずれを使用する場合でも、クラウドへの Ubuntu Server のデプロイは簡単なプロセスです。このガイドでは、次の内容を扱いました:
- ニーズに合ったクラウド プラットフォームの選択。
- AWS、Google Cloud、Azure への Ubuntu Server のプロビジョニング。
- デプロイ後のサーバーの設定とセキュリティ保護。
これらの手順に従うことで、アプリケーション、データベース、その他のワークロードをホストするための堅牢な Ubuntu Server 環境を構築できます。クラウドネイティブ ツールと自動化機能により、サーバーの管理は効率的でスケーラブルになります。
次回予告:
次回の記事では、Ansible による Ubuntu Server セットアップの自動化:実践ガイドについてお話しします。お楽しみに。
1 thought on “23. Deploying Ubuntu Server in the Cloud: A Step-by-Step Guide”