COLUMN

【第1回】AWS を活用したファイルサーバー構築(EC2-EBS)

AWS ファイルサーバーの構築や運用をNTT東日本でサポートさせていただく場合のシステム構成や料金イメージを詳しく記載したファイルサーバーソリューション資料をぜひダウンロードください。

企業がクラウドを利用する目的として挙げるものの一つが「ファイル保管・データ共有」です。SaaSを利用する場合も多いですが、さまざまな理由からファイルサーバーをAWSの仮想インスタンス(EC2インスタンス)とストレージサービスを組み合わせて構築して運用する場合も多くあります。

そこで、AWS上でファイルサーバー環境を構築する際の4つのシステム構成とそれぞれのメリット・デメリット、構築手順について、本コラムから4回に分けて解説します。

なお、AWSの概要については、「AWSとは?初心者にもわかりやすく特徴・概要を纏めました」を先にお読みいただくことをお勧めいたします。

AWS上でファイルサーバーを構築する場合には、AWSのストレージサービスの中からひとつを選択しAmazon EC2と組み合わせて構築します。
以下にAWSのストレージサービスの一覧を示します。
本サイトには、それぞれのストレージサービスについてのコラムもありますので、深く知りたい方は下表のストレージ名からリンクされるコラムをご参照ください。また、ファイルサーバーの構築におけるAmazon EBS、EFS、S3についての比較を知りたい方は、「AWSでファイルサーバーを構築する際のストレージの選び方」をご参照ください。

ストレージサービス名 特徴
Amazon EBS EC2用仮想ハードディスク。EC2からマウントして使用。
Amazon EFS EC2用のNAS相当。複数のEC2からのマウントが可能。Linux限定。
Amazon FSx EFSのWindows対応版。OSがWindowsのEC2で使用。
Amazon S3 クラウド型オブジェクトストレージサービス。EC2と組み合わせて運用する場合はStorage Gatewayサービスを使用する。

今回はAmazon EC2とAmazon EBSの組み合わせを解説します。

1.概要

Amazon EC2とAmazon EBSで構成されるファイルサーバーを以下に示します。

ファイルサーバーとしては最もシンプルな構成になります。
この構成でのメリット・デメリットは以下になります。

メリット
  • パフォーマンスが高い
  • EBSスナップショット機能によりバックアップ・リストアが容易
  • オンプレミスからの移行が容易
デメリット
  • EC2が単一障害点となる
  • EBSのディスク容量の増減操作が煩雑

なお、本コラムではAmazon VPCについては構築手順のみを開設します。Amazon VPCについて深く知りたい方は、「クラウド上にプライベートネットワーク空間を構築できるAmazon VPCの特徴と接続構成」をご参照ください。

2.VPC作成

2.1.VPCの作成

VPCのマネジメントコンソールを開きます。左側のメニューバーから「VPC」を選択し、「VPCの作成」ボタンを押下します。
「VPCの作成」画面で以下を設定し「作成」ボタンを押下します。

  • 「名前タグ」にVPCの名称を設定(ここでは「FileServer-VPC」と設定)
  • 「IPv4 CIDRブロック」に作成するIPv4アドレス範囲を設定(ここでは10.11.0.0/24と設定)

2.2.サブネットの作成

VPCのマネジメントコンソールの左側のメニューバーから「サブネット」を選択し、「サブネットの作成」ボタンを押下します。
「サブネットの作成」画面で以下を設定し「作成」ボタンを押下します。

  • 「名前タグ」にサブネットの名称を設定(ここでは「fileserver-subnet-public」と設定)
  • 「VPC」に今回作成した「FileServer-VPC」のVPC IDを設定(※)

(※)ドロップダウンリストから「FileServer-VPC」と表示されたVPC IDを選択

  • 「アベイラビリティーゾーン」に「ap-northeast-1a(Tokyo Region)」を選択

2.3.インターネットゲートウェイの作成とVPCのアタッチ

VPCのマネジメントコンソールの左側のメニューバーから「インターネットゲートウェイ」を選択し、「インターネットゲートウェイの作成」ボタンを押下します。
「インターネットゲートウェイの作成」画面で以下を設定し「作成」ボタンを押下します。

  • 「名前タグ」にインターネットゲートウェイの名称を設定(ここでは「fileserver-igw」と設定)

インターネットゲートウェイ一覧から作成したインターネットゲートウェイを選択し「アクション」のドロップダウンリストから「VPCにアタッチ」を選択します。

「VPCにアタッチ」画面で以下を設定し「アタッチ」ボタンを押下します。

  • 「VPC」に今回作成した「FileServer-VPC」のVPC IDを設定(入力欄にキーワード「FileServer」と入力、表示された選択候補から「FileServer-VPC」と表示されたVPC IDを選択)

2.4.ルートテーブルの作成

VPCのマネジメントコンソールの左側のメニューバーから「ルートテーブル」を選択し、「ルートテーブルの作成」ボタンを押下します。
「ルートテーブルの作成」画面で以下を設定し「作成」ボタンを押下します。

  • 「名前タグ」にルートテーブルの名称を設定(ここでは「FileServer-rtbl」と設定)
  • 「VPC」に今回作成した「FileServer-VPC」のVPC IDを設定(入力欄にキーワード「FileServer」と入力、表示された選択候補から「FileServer-VPC」と表示されたVPC IDを選択)

ルートテーブル一覧から作成したルートテーブルを選択し「アクション」のドロップダウンリストから「ルートの編集」を選択します。

「ルートの編集」画面で「ルートの追加」ボタンを押下します。

「ルートテーブルの編集」画面で以下を設定し「ルートの保存」ボタンを押下します

  • 「送信先」のCIDRを設定。ここではデフォルトの「0.0.0.0/0」のままとします。
  • 「ターゲット」に作成したインターネットゲートウェイのIDを設定(入力欄にキーワード「igw」と入力、表示された選択候補から「fileserver-igw」と表示されたインターネットゲートウェイIDを選択)

ルートテーブル一覧から作成したルートテーブルを選択し「アクション」のドロップダウンリストから「サブネットの関連付けの編集」を選択します。

「サブネットの関連付けの編集」画面で以下を設定し「保存」ボタンを押下します

  • 「関連付けられたサブネット」で表示された一覧から「fileserver-subnet-public」を選択

2.5.セキュリティグループの作成

VPCのマネジメントコンソールの左側のメニューバーから「セキュリティグループ」を選択し、「セキュリティグループの作成」ボタンを押下します。
「セキュリティグループの作成」画面で以下を設定し「作成」ボタンを押下します。

  • 「セキュリティグループ名」にセキュリティグループの名称を設定(ここでは「FileServer-SecurityGroup」と設定)
  • 説明欄にこのセキュリティグループの概要を記入(ここではSSH Accessと設定)
  • 「VPC」に今回作成した「FileServer-VPC」のVPC IDを設定(入力欄にキーワード「FileServer」と入力、表示された選択候補から「FileServer-VPC」と表示されたVPC IDを選択)

3.EC2インスタンス作成

EC2のインスタンスを作成します。
インスタンスタイプには以下の5種類が提供されています。この中から汎用タイプを選択します

  • 汎用タイプ
  • コンピューティング最適化タイプ
  • メモリ最適化タイプ
  • 高速コンピューティングタイプ
  • ストレージ最適化タイプ

汎用タイプのうち、以下の3種類のインスタンスファミリーが提供されています。この中からm系を選択します。

  • m系 – Middle Range。他のインスタンスファミリーのベースとなっている
  • t系 – Test用途。他にはない小さなインスタンスサイズの選択が可能
  • a系 – Arm Neoverseコア搭載。小さなインスタンスが多数必要なケース向け

m系の現在の最新世代は5。インスタンスサイズはm系では最小のlargeを選択します。

3.1.インスタンス作成

AWSのマネジメントコンソールより、EC2のメニューを選択します。
EC2コンソールの左側のメニューバーより「インスタンス」を選択します。

インスタンスメニュー画面から「インスタンスの作成」ボタンを押下します。

「ステップ1:Amazon マシンイメージ(以下AMI)」選択画面が開きます。
今回は「Amazon Linux 2 AMI (HVM), SSD Volume Type」を選択します。

「ステップ2:インスタンスタイプの選択」画面が開きます。
「フィルター条件」のドロップダウンリストから「汎用」を選択します。

汎用インスタンスの一覧が表示されます。
一覧の中からm5a.largeを選択します。
「次のステップ:インスタンスの詳細の設定」ボタンを押下します。
(※)m5.largeは一覧に無いのでオプション種別:a(AMDのCPUを搭載)を選択します。

「ステップ3:インスタンスの詳細の設定」画面が開きます。
「ネットワーク」にVPC ID(※)を設定、「自動割り当てパブリックIP」に「有効」を設定し、「次のステップ:ストレージの追加」ボタンを押下します。

(※)VPC IDの取得は以下のようにVPCコンソールからファイルサーバー用EC2インスタンスを作成するVPCを選択(今回はFileServer-VPC)します。
選択されたVPCの「説明」タブの「VPC ID」をコピーします。

「ステップ4:ストレージの追加」画面が開きます。
ここでは何も設定せず「次のステップ:タグの追加」ボタンを押下します。

「ステップ5:タグの追加」画面が開きます。
「タグの追加」ボタンを押下して以下を設定し「次のステップ:セキュリティグループの設定」ボタンを押下します。

  • 「キー」に「Name」を設定
  • 「値」にEC2インスタンスの名称(ここではFileServerInstance)を設定

「ステップ6:セキュリティグループの設定」画面が開きます。
表示される選択候補から名前が「FileServer-SecurityGroup」であるセキュリティグループを選択、「確認と作成」ボタンを押下します。

「ステップ7:インスタンス作成の確認」画面が開きます。
設定内容に問題ないことを確認し「起動」ボタンを押下します。

「起動」ボタンを押下すると「既存のキーペアを選択するか、新しいキーペアを作成します。」のポップアップ画面が表示されます。
ここでは、新しいキーペアを作成する手順を解説します。

ドロップダウンリストから「新しいキーペアの作成」を選択します。
「キーペア名」に作成するプライベートキーファイル名を入力(ここでは「fileserver-key」と入力)し「キーペアのダウンロード」ボタンを押下します。プライベートキーファイルのダウンロードを済ませたら最後に「インスタンスの作成」ボタンを押下します。

「作成ステータス」画面が開きます。
インスタンス作成が完了するまである程度の時間を要します。
「インスタンスの表示」ボタンを押下してインスタンスの一覧画面を開きます。

「ステータスチェック」欄の表示が「初期化しています」から「2/2のチェックに合格しました」に変化すればインスタンスの起動は完了です。

3.2.SSH接続

作成したEC2インスタンスに外部ネットワークからSSH接続を実施します。SSH接続を行う際にはインスタンス作成時に生成しダウンロードしたプライベートキーファイルが必要になります。
SSHを使用してEC2インスタンスへ接続するにはインスタンスのパブリックIPアドレスかDNSホスト名を使用します。

(※)DNSホスト名を使用する際の注意
EC2インスタンス生成直後はDNSホスト名が割り当てられていない(空欄)状態になっています。

EC2インスタンスを作成したVPCのコンソール画面を開き、「アクション」のドロップダウンリストから「DNSホスト名の編集」を選択します。

「DNSホスト名の編集」画面が開くので「DNSホスト名」のチェックボックスにチェックを入れ、「保存」ボタンを押下します。

これによりEC2インスタンスにDNSホスト名が割り当てられます。

SSHクライアントを使用してLinuxインスタンスへ接続します。
以下に接続先のホストにEC2インスタンスのDNSホスト名を使用した場合の接続方法について解説します。

(1)Linux端末からSSH接続する場合

以下のようにSSHコマンドで鍵認証を使って接続します。
ssh -i [プライベートキーファイル] [ユーザ]@[EC2インスタンスDNSホスト名]
(入力例)

ssh -i /path/my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
(2)Windows端末からSSH接続する場合

Windows10で標準装備されているOpenSSHクライアントを使って鍵認証で接続します。
ユーザホームに「.ssh」フォルダを作成します。

mkdir C:\Users\ユーザ\.ssh

.sshフォルダ上にconfigファイルを作成します。
config ファイルの内容は以下のように設定します。

Host <ホスト名> 任意の文字列
User <ユーザ名> Amazon Linuxの場合、”ec2-user”
Hostname <接続先のホストアドレス> EC2インスタンスDNSホスト名
Port <ポート番号> 通常は22
ServerAliveInterval <数値> KeepAlive設定(秒)
IdentityFile <秘密鍵ファイル> プライベートキーファイルパス

configファイルを設定後、以下のコマンドでSSH接続できます。

ssh <ホスト名>

4.EBS作成

4.1.EBS作成

EC2インスタンスにアタッチするEBSを作成します。
Amazon EC2コンソール左側のメニューバーより「ELASTIC BLOCK STORE」の「ボリューム」を選択します。

ボリューム一覧が表示されます。「ボリュームの作成」ボタンを押下します。

ボリュームタイプをドロップダウンリストから選択します。選択肢は以下になります。

  • 汎用SSD - デフォルトのボリュームタイプ
  • プロビジョンド IOPS SSD (io1) - IOPS性能を必要とする場合
  • スループット最適化 HDD (st1) - スループット性能を必要とする場合
  • Cold HDD (sc1) - 低アクセス頻度向け
  • マグネティック(standard) -低アクセス頻度向けの低コストストレージ(HDD)を必要とする場合

今回は「汎用SSD」を選択します。次に「タグの追加」ボタンを押下します。

キーに「Name」、値にこのボリュームの名称を設定します。今回は「ExFileServerStorage」と設定。最後に「ボリュームの作成」ボタンを押下します。

ボリュームの作成が正常終了すると以下のメッセージ画面が表示されます。

ボリューム一覧に作成したボリューム「ExFileServerStorage」が表示されます。

4.2.ボリュームのアタッチ

先ほど作成したEBSをEC2にアタッチします。
「アクション」のドロップダウンリストから「ボリュームのアタッチ」を選択します。

「ボリュームのアタッチ」画面が表示されます。
インスタンスの入力欄に今回作成したEC2インスタンス「FileServer-Instance」のID(※)を入力します。
IDを入力するとIDに対応したインスタンスが選択候補として表示されますので、これを選択します。

(※)EC2のインスタンスIDは以下のように収取します。
Amazon EC2コンソールよりインスタンスを選択。インスタンス一覧から「FileServer-Instance」を選択します。
インスタンス「FileServer-Instance」の説明タブにインスタンスIDが表示されますので、このIDをコピーします。

最後に「アタッチ」ボタンを押下します。
これでEC2インスタンス「FileServer-Instance」にボリューム「ExFileServerStorage」のEBSがアタッチされます。

4.3.ボリュームのフォーマットとマウント

EC2にアタッチした先ほどのEBSをEC2にマウントします。
EC2インスタンス「FileServer-Instance」にSSH接続します。手順は2.2.「SSH接続」を参照してください。
SSH接続後、lsblk コマンドを使用して、使用可能なディスクデバイスを表示します。
以下に出力例を表示します。

$ lsblk
NAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme1n1       259:0    0  100G  0 disk
nvme0n1       259:1    0    8G  0 disk
├─nvme0n1p1   259:2    0    8G  0 part /
└─nvme0n1p128 259:3    0    1M  0 part

/dev/nvme0n1がルートデバイス。/dev/nvme1n1今回追加したEBSのボリュームで、この時点ではまだマウントされていません。

mkfs -t コマンドで/dev/nvme1n1をファイルシステム「ext4」でフォーマットします。

$ sudo mkfs -t ext4 /dev/nvme1n1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2174746624
800 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

/dev/nvme1n1をマウントします。
ここではフォルダ /data にマウントする手順を解説します。
フォルダ /dataを作成します。

sudo mkdir /data

フォルダ /data に/dev/nvme1n1をマウントします。

sudo mount /dev/nvme1n1 /data

これでユーザやアプリケーションが増設したEBSへのアクセスが可能になります。
但し、この状態ではEC2を再起動した場合に再度マウントし直す必要があります。再起動時に自動的にマウントするには/etc/fstabに下記を追加します。

/dev/nvme1n1    /data   ext4    defaults    1   1

5.あとがき

AWSを活用した4つのファイルサーバー構成の内、最もシンプルなAmazon EC2とAmazon EBSで構成されたパターンの構築手順について解説しました。今回の解説ではEC2のOSにAmazon Linuxを選択しましたがWindowsも選択可能です。EBSの追加はWindowsのボリュームの拡張ウィザードを使用して新規ドライブに割り当てます。
今回は最もシンプルな構成を紹介しましたが、たとえばEBSスナップショット機能を利用してバックアップを取る場合などではスナップショットの保存先として別途Amazon S3が必要となります。

次は、Amazon EC2とEFSを組み合わせた場合の構成について解説する予定です。

6.AWS導入に向けて他に知っておくべきこと

ファイルサーバーなど、AWS導入の入門的な情報システムのクラウド化を検討される場合には、ストレージ以外にも理解しておくべきことがあります。以下のコラムもご参照ください。

AWSの各サービスは構築する情報システムによって利用適性が異なります。実際の構築にあたってはクラウド導入・運用支援事業者が提供している支援サービスを活用することで、自社の検討・構築・運用工数の削減が期待できます。

AWSの4つのファイルサーバー構成を月額料金で比較する!

肥大するファイルサーバー。
クラウド活用した現代のファイルサーバー4つの構成で検討する!

ページ上部へ戻る

無料ダウンロード

自社のクラウド導入に必要な知識、ポイントを
このに総まとめ!

あなたはクラウド化の
何の情報を知りたいですか?

  • そもそも自社は本当にクラウド化すべき?オンプレとクラウドの違いは?
  • 【AWS・Azure・Google Cloud】
    どれが自社に最もマッチするの?
  • 情シス担当者の負荷を減らしてコストを軽減するクラウド化のポイントは?
  • 自社のクラウド導入を実現するまでの具体的な流れ・検討する順番は?

初めての自社クラウド導入、
わからないことが多く困ってしまいますよね。

NTT東日本では
そんなあなたにクラウド導入に必要な情報を

1冊の冊子にまとめました!

クラウド化のポイントを知らずに導入を進めると、以下のような事になってしまうことも・・・

  • システムインフラの維持にかかるトータルコストがあまり変わらない。。
  • 情シス担当者の負担が減らない。。
  • セキュリティ性・速度など、クラウド期待する効果を十分に享受できない。。
理想的なクラウド環境を実現するためにも、
最低限の4つのポイントを
抑えておきたいところです。
  • そもそも”クラウド化”とは?
    その本質的なメリット・デメリット
  • 自社にとって
    最適なクラウド環境構築のポイント
  • コストを抑えるため
    具体的なコツ
  • 既存環境からスムーズにクラウド化
    実現するためのロードマップ

など、この1冊だけで自社のクラウド化のポイントが簡単に理解できます。
またNTT東日本でクラウド化を実現し
問題を解決した事例や、
導入サポートサービスも掲載しているので、
ぜひダウンロードして読んでみてください。

クラウドのわからない・
面倒でお困りのあなたへ

クラウドのご相談できます!
無料オンライン相談窓口

NTT東日本なら貴社のクラウド導入設計から
ネットワーク環境構築・セキュリティ・運用まで
”ワンストップ支援”が可能です!

NTT東日本が選ばれる5つの理由

  • クラウド導入を
    0からワンストップでサポート可能!
  • 全体最適におけるコスト効率・業務効率の改善
    中立的にご提案
  • クラウド環境に問題がないか、
    第3者目線でチェック
    してもらいたい
  • 安心の24時間・365日の対応・保守
  • NTT東日本が保有する豊富なサービスの組み合わせで
    ”課題解決”と”コスト軽減”を両立

特に以下に当てはまる方はお気軽に
ご相談ください。

  • さまざまな種類やクラウド提供事業者があってどれが自社に適切かわからない
  • オンプレミスのままがよいのか、クラウド移行すべきなのか、迷っている
  • オンプレミスとクラウド移行した際のコスト比較を行いたい
  • AWSとAzure、どちらのクラウドが自社に適切かわからない
  • クラウド環境に問題がないか、第3者目線でチェックしてもらいたい
  • クラウド利用中、ネットワークの速度が遅くて業務に支障がでている

クラウドを熟知するプロが、クラウド導入におけるお客さまのLAN 環境や接続ネットワーク、
クラウドサービスまでトータルにお客さまのお悩みや課題の解決をサポートします。

相談無料!プロが中立的にアドバイスいたします

クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。