
DigitalOceanでUbuntuサーバーを構築したいけれど、セキュリティ設定を含めた正しい手順を知りたい。



そんな疑問にお答えします。
- Dropletの作成とデプロイ手順
- SSH接続とユーザー作成等の初期設定
- 安全な運用に欠かせない固有機能の活用
DigitalOceanでUbuntuサーバーを立ち上げ、最短ルートで環境を構築する具体的な手順を解説します。あわせて、データベース構築に便利なDigitalOceanのMySQLや、キャッシュサーバーとして役立つDigitalOceanのRedisといった関連サービスの連携についても触れていきましょう。
この記事を読めば、インフラ構築の不安を解消し、安全かつ低コストで安定したサーバー運用が可能です。さっそく手順を確認していきましょう。
DigitalOceanでUbuntuサーバーを作成する手順
開発者がスムーズにアプリをデプロイできるクラウドプラットフォームであるDigitalOceanとは何かという基礎を押さえておくと、以降の手順も理解しやすくなります。特にDigitalOceanでUbuntuのサーバーを構築する工程は、シンプルで高いパフォーマンスを誇ります。
サーバー構築を安全に行うには、正しい手順の理解が欠かせません。本記事ではDigitalOceanでUbuntuサーバーを新規作成し、安定運用を開始するステップを解説します。
①:アカウントを作成する
まずはDigitalOceanの公式サイトでアカウントを作成してください。アカウント作成はすべてのサービスの起点となる重要なステップです。
- メールアドレスとパスワードによる登録のほか、GitHubやGoogleによる連携も可能です。
- アカウント有効化にはメール認証と、クレジットカードやPayPalの登録が求められます。
- セキュリティを高めるため、2要素認証の設定を強く推奨します。
②:コントロールパネルへアクセスする
ログインが完了すると、管理画面のCloud Control Panelが表示されます。ここはサーバーの作成やネットワーク設定を行う中心的なインターフェースです。
画面左側のナビゲーションメニューにあるDropletsを選択してください。Createボタンをクリックすると、新しいサーバーの作成オプションが表示されます。
③:OSバージョンを指定する
サーバーのOSとしてUbuntuを選択し、適切なバージョンを指定しましょう。DigitalOceanではDistributionsタブからUbuntuの選択が可能です。
| 項目 | 推奨される選択 | 理由 |
|---|---|---|
| OS種別 | Ubuntu | 汎用性が高くドキュメントが豊富であるため |
| バージョン | 最新のLTS版 | セキュリティアップデートが長期間保証されるため |
| イメージタイプ | Distributions | 標準的なOS環境から構築を開始できるため |
特別な理由がない限り、最新のLTS版を選択してください。他社VPSでも同様で、ContaboでUbuntuを構築する際も古いバージョンはセキュリティリスクがあるため注意が必要です。
④:リージョンを選択する
サーバーを物理的に設置するデータセンターの所在地であるリージョンを選びます。ここはサーバーの応答速度に直結する重要な要素です。
- 利用者が日本国内であれば、地理的に近いシンガポールを選択するのが最適といえます。
- 物理的な距離が離れるほど通信遅延が発生するため、サービス提供地域に近い場所を選びましょう。
⑤:Dropletをデプロイする
最後にサーバーのスペックや認証方法を指定して、デプロイを実行します。必要に応じてDigitalOceanでMySQLやDigitalOceanでRedisを導入する準備も進めましょう。
- CPUやメモリに基づいたプランを選択し、小規模開発ならBasicプランで十分です。
- セキュリティ確保のため、パスワードではなくSSHキーによる認証を推奨します。
- サーバーを識別するホスト名を入力してください。
- Create Dropletをクリックすると、数十秒でサーバーが立ち上がります。
デプロイ完了後は付与されたIPアドレスでSSH接続を行い、ファイアウォール設定などを進めましょう。独自ドメインで公開する場合はDigitalOceanでDNSを設定し、安全なサーバー運用には初期のセキュリティ設定が不可欠です。


DigitalOceanのUbuntuにおける初期設定の手順
Dropletとして構築したDigitalOceanのUbuntu仮想サーバーは、作成後の初期設定が運用の安全性を左右します。デフォルトのrootユーザーで作業を続けると、セキュリティリスクが高まる恐れがあります。
本ガイドでは、推奨されるベストプラクティスに基づいた5つのステップを解説します。安全なUbuntu環境を運用するための基盤を整えましょう。
①:SSH接続でログインする
Dropletの構築が完了したら、まずはSSHを使用してサーバーへリモートログインします。SSHはネットワーク越しに安全な操作を可能にするプロトコルです。
DigitalOceanの初期状態では、rootユーザーを使用してログインを行います。ターミナル等の画面で以下のコマンドを入力してください。
\`\`\`bash
ssh root@your_server_ip
\`\`\`
「your_server_ip」には、管理パネルに表示されているIPアドレスを入れます。設定したパスワードやSSH鍵で認証し、サーバー操作を開始しましょう。
②:新規ユーザーを作成する
サーバーログイン後は、日常的に利用する一般ユーザーを新しく作成します。rootユーザーは権限が強すぎるため、誤操作によるシステム破壊を防ぐ目的があります。
以下のコマンドを実行して、新しいアカウントを作成してください。
\`\`\`bash
adduser sammy
\`\`\`
「sammy」の部分は好きな名前に変更できます。複雑なパスワードを設定し、アカウントの作成を完了させてください。
③:管理者権限を付与する
作成した一般ユーザーがシステム管理を行えるよう、sudo権限を付与します。これにより、必要な時だけ一時的に管理者としてコマンドを実行できるようになります。
権限付与に関する詳細は以下の通りです。
| 項目 | 内容 |
|---|---|
| 使用コマンド | usermod -aG sudo [ユーザー名] |
| グループ名 | sudo |
| メリット | 常用権限を制限しつつ、必要時に管理操作ができる |
具体的には、以下のコマンドで設定を追加します。
\`\`\`bash
usermod -aG sudo sammy
\`\`\`
これで、コマンドの先頭に「sudo」をつけるだけで重要な操作が可能になります。
④:ファイアウォールを設定する
サーバーの安全性を高めるため、UFWでファイアウォールを適切に設定します。不要なポートを閉じることで、外部からの不正アクセスを遮断しましょう。
Ubuntuでは以下の手順で設定を進めます。
- SSH接続を許可して通信遮断を防ぐ
- ファイアウォール機能を有効化する
- 現在の動作ステータスを確認する
手順に対応する操作コマンドを紹介します。
- sudo ufw allow OpenSSH
- sudo ufw enable
- sudo ufw status
有効化の際に警告が出た場合は「y」を入力してください。これで、許可した通信以外を拒否する安全な環境が構築されます。
⑤:OSパッケージを更新する
最後に、OSのパッケージを最新の状態へ更新します。脆弱性を修正してセキュリティを高めるほか、システムの安定運用には欠かせない作業です。
更新作業は以下の2ステップで行います。
- パッケージリストの更新
- パッケージのアップグレード
\`\`\`bash
sudo apt update
sudo apt upgrade
\`\`\`
これらのコマンドを実行し、指示に従って最新状態を適用してください。以上の手順により、DigitalOceanでMySQLやRedisを利用するための環境準備が整います。
DigitalOceanのUbuntuに導入する主なミドルウェア


ミドルウェアの選定は、DigitalOceanのUbuntu運用における安定性を大きく左右します。Dropletのパッケージ更新が完了したら、次に導入するソフトウェアの検討に移りましょう。
Webサーバー機能を提供するNginx
Nginxは高速な処理能力を持ち、リバースプロキシとして優れた柔軟性を備えたWebサーバーです。DigitalOceanのUbuntu環境では、Node.jsやPHPアプリの前段に配置する構成が広く採用されています。
以下のリストは、Nginxを導入する主な理由とメリットです。
- 軽量で並行処理に強いため、大量の同時接続を効率よくさばける
- 画像やCSSなどの静的コンテンツを高速に配信できる
- リバースプロキシとして、バックエンドへのリクエストを安全に橋渡しする
インストールは、APTパッケージマネージャーから簡単に行えます。パッケージを更新し、インストール後はufwで通信を許可してください。
データベースを管理するMySQL
DigitalOceanのMySQL構築は、Webサービスの基盤として欠かせない要素です。世界中で普及しているオープンソースのリレーショナルデータベースであり、Ubuntu環境での実績も豊富にあります。
導入時に押さえておきたいポイントは次の3つです。
- 基本コマンド:\`sudo apt install mysql-server\` でインストールを実行する
- セキュリティ対策:\`mysql_secure_installation\` を実行して初期設定を強化する
- 特権管理:rootの認証方式を確認し、用途に応じた個別ユーザーを作成する
インストール直後は、必ずセキュリティ設定用スクリプトを実行しましょう。テスト用データの削除や匿名ユーザーの無効化により、脆弱性を一括で解消できます。
キャッシュ処理を高速化するRedis
DigitalOceanでRedisを導入すると、メモリ上でデータを管理するためレスポンス速度が飛躍的に向上します。主にデータベースのキャッシュや、ユーザーのセッション管理に利用されるミドルウェアです。
主な活用例とメリットは次の3点です。
- キャッシュによるDB負荷の軽減
- サーバー複数台構成時のセッション共有
- 非同期処理を管理するメッセージキュー
Redisは初期設定で外部公開すると不正アクセスのリスクがあるため、ufwによる通信制限が必須です。アプリの要件に合わせて、データの永続化設定も適切に調整してください。


DigitalOcean上のUbuntuを安全に運用するための固有機能


OS内部の設定に加えて、DigitalOcean特有のインフラ機能を組み合わせることで、UbuntuのDroplet運用はさらに安全かつ効率的になります。セキュリティ向上やデータ保護、運用の効率化を同時に実現できる点が大きな強みです。
コントロールパネルから利用できる4つの機能を組み合わせるのが最適な運用スタイルといえるでしょう。これらの機能はサーバー内部の設定を補完し、インフラレベルでの堅牢性を高める役割を果たします。
特にセキュリティ面では、OS標準のファイアウォールに加えてDigitalOceanのCloud Firewallsを併用すべきです。各機能の特徴とUbuntu運用におけるメリットを以下の表にまとめました。
| 機能名 | 主な役割 | Ubuntu運用におけるメリット |
|---|---|---|
| Cloud Firewalls | ネットワーク制御 | サーバーに到達する前に不正アクセスを遮断できる |
| 自動バックアップ | データ保全 | システム全体のイメージを保存し迅速な復旧を可能にする |
| Floating IP | 可用性の向上 | IPを維持したままメンテナンス時に別機へ切り替えられる |
| Cloud-init | 構築の自動化 | ユーザー作成やセキュリティ設定を初回起動時に完了させる |
これらの機能を適切に使い分けることで、運用負荷を下げつつ信頼性の高いサーバー環境を構築できます。
外部通信を制御するCloud Firewalls
DigitalOceanのCloud Firewallsは、マネージド型の強力なネットワークファイアウォールです。Dropletへトラフィックが到達する前にクラウド側で通信を遮断するため、サーバーリソースを消費しません。
Ubuntu Dropletにおける活用では、プロトコルやポート番号ごとに細かくルールを設定できます。特定のタグを付与した複数のサーバーに対して、同一のルールを一括適用できる点も大きな特徴です。
初期構築時にはSSH用のポートのみを自身のIPアドレスから許可し、残りを全て遮断する構成が推奨されます。公式ドキュメントでも、Ubuntu標準のUFWとこの機能を併用することが強く推奨されています。
サーバー状態を保管する自動バックアップ
データの消失や設定ミスを防ぐために、DigitalOceanのバックアップ機能は欠かせません。Ubuntu環境では、自動で実行されるBackupsと手動で取得するSnapshotsの2種類を使い分けます。
- Backups(自動バックアップ):週単位のスケジュールで実行され、ユーザーの手を介さず継続的な保護を行います。
- Snapshots(手動スナップショット):OSアップグレードや設定変更の直前に取得し、失敗した際に数クリックで復元できます。
これらはディスク単位の保存であるため、DigitalOceanのMySQLやRedisなどのミドルウェア運用では注意が必要です。個別のダンプ出力などアプリケーションレベルのバックアップを併用すると、より確実な保全が可能になります。
システムの可用性を高めるFloating IP
Floating IPは、特定のリージョン内で自由に付け替えができる静的なパブリックIPアドレスです。通常はDropletを破棄するとIPアドレスも失われますが、これを使用すれば接続先を固定したままサーバーを切り替えられます。
メインのUbuntuサーバーに障害が発生した際、待機系サーバーへ即座にIPを移すことでダウンタイムを最小化できます。また、カーネルアップデートなど再起動を伴うメンテナンス時も、ユーザーへの影響を排除できるため非常に有効です。
Floating IPは一度に一つのインスタンスにのみ紐付く仕組みとなっています。シングル構成から冗長構成へとステップアップする際に、優先的に導入を検討したいツールです。
初期構築を自動化する Cloud-init
Cloud-initは、クラウドインスタンスの初回起動時に設定を自動実行するための業界標準ツールです。DigitalOceanのUbuntuイメージはこれに完全対応しており、作成時にスクリプトを入力するだけで初期設定を自動化できます。
最新のUbuntu環境でも、非rootユーザーの作成やSSH鍵認証の設定をログイン前に完了させることが可能です。セキュリティパッケージの自動更新設定なども含め、ベストプラクティスを瞬時に適用できます。
手動でのコマンド入力はミスや設定漏れの原因になりやすいため、この機能を積極的に活用してください。構築の手間を省くことで、本来の目的である開発やサイト運営に集中できる環境が整います。
まとめ:DigitalOceanのUbuntu構築を手順通りに完了させよう
本記事では、DigitalOceanでUbuntuの仮想サーバーを立ち上げる手順から、SSH接続を用いた初期設定の方法まで詳しく解説しました。開発環境の構築に加えて、DigitalOceanのMySQLやRedisといったミドルウェアの導入、安全な運用のためのバックアップ活用まで一連の流れを網羅しています。
今回の重要なポイントを整理します。
- DigitalOceanならUbuntuサーバーを数クリックで迅速にデプロイ可能
- 管理者権限の付与やファイアウォールの設定など、初期のセキュリティ対策が必須
- Cloud Firewallsなどの固有機能を併用することで、より安定した運用が実現
この記事の手順を実践すれば、インフラ構築に迷う時間を最小限に抑えられます。低コストかつ高性能なDigitalOceanのUbuntu環境を手に入れて、プロジェクトを次のフェーズへ進めましょう。
さらに高度なスケーリングや独自のインフラ構成で不明な点があれば、公式サポートやコミュニティドキュメントの活用がおすすめです。理想的なサーバー環境の構築を今すぐスタートさせてください。


