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

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

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

なお、AWSの基本的なサービスについてご存じない場合には、本サイトの別コラム「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の組み合わせAmazon EC2とAmazon EFSの組み合わせAmazon EC2とAmazon FSxの組み合わせについて解説してきました。
今回はAmazon EC2とAmazon S3の組み合わせについて解説します。

Amazon S3

クラウド型のオブジェクトストレージサービスです。
ファイルサーバーとして使用する場合、EC2から直接マウントできないためAWS Storage Gatewayが必要になります。
以下のようなメリット、デメリットがあります。

メリット:

高拡張性(実質無制限の容量)
低コスト
高可用性(複数のアベイラビリティーゾーンに冗長的に保存)

デメリット:

低パフォーマンス
Storage Gatewayを動作させるためのEC2などのホスト環境の用意が必要
Storage Gatewayとして動作するEC2などのホスト環境が単一障害点になる

AWS Storage Gateway

オンプレミスからクラウドストレージに対してアクセスを提供するハイブリッドストレージサービスです。VMware ESXi、Microsoft Hyper-V、Linux KVMまたはEC2などのホスト上にデプロイして使用します。
以下の3種類のソリューションを提供します。

ファイルゲートウェイ

オンプレミスまたはEC2で実行
1ファイルをS3の1オブジェクトとして保存。直近に使用されたデータはゲートウェイ上のEBSに保存されるため、低遅延なアクセスが可能

ボリュームゲートウェイ

ディスクデータのスナップショットをS3に保存。保管型(全てのデータをゲートウェイ上に保存した上でS3へ保存)とキャッシュ型(頻繁にアクセスされるデータのみゲートウェイ上に保存)の2種類をサポート

テープゲートウェイ

物理テープライブラリの代替としてストレージゲートウェイを仮想テープライブラリとして使用。Amazon S3 にデータをバックアップし、既存のテープベースのプロセスを使ってS3 Amazon Glacier にアーカイブを作成

今回はファイルサーバーとして使用するのでファイルゲートウェイを選択します。
ファイルゲートウェイはNFS(Unix系)とSMB(Windows系)の2種類のファイル共有プロトコルをサポートしています。

1.概要

Amazon EC2とAWS Storage Gateway、Amazon S3で構成されるファイルサーバーを以下に示します。今回は以下のようにNFSファイル共有向けとSMBファイル共有向けの2種類のファイルサーバー環境を構築します。

①NFSファイル共有向け

②SMBファイル共有向け

Storage Gatewayのデプロイ先としてEC2を使用します。
Amazon EC2をStorage Gatewayとして使用する場合、以下の要件を満たしている必要があります。

  • インスタンスサイズ:xlarge以上。推奨はm4.xlarge
  • 追加ストレージ(キャッシュ用のEBS):最小150GiB最大16TiB
  • ポート開放:
ファイル共有 タイプ プロトコル ポート ソース
NFS向け HTTP TCP 80 MyIP
NFS TCP 2049 NFS Client
SMB向け HTTP TCP 80 MyIP
SMB TCP 445 SMB Client

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

2.VPC作成

2.1.VPCの作成

VPCのマネジメントコンソールを開きます。左側のメニューバーから「VPC」を選択します。

「VPCの作成」ボタンを押下します。
「VPCの作成」画面で以下を設定し「作成」ボタンを押下します。

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

2.2.サブネットの作成

VPCのマネジメントコンソールの左側のメニューバーから「サブネット」を選択します。

「サブネットの作成」ボタンを押下します。

「名前タグ」にサブネットの名称を設定します(ここでは「file-server-subnet-a」と設定)
「VPC」にドロップダウンリストから今回作成した「file-server-vpc」と表示されたVPC IDを選択します。

「アベイラビリティーゾーン」に「ap-northeast-1a(Tokyo Region)」を選択します。
「IPv4CIDRブロック」に「10.50.0.0/24」を設定します。
最後に画面右下の「作成」ボタンを押下します。

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

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

「インターネットゲートウェイの作成」画面で以下を設定し「インターネットゲートウェイの作成」ボタンを押下します。

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

インターネットゲートウェイが正常に作成されると以下の画面が表示されます。
「閉じる」ボタンを押下します。
画面上の「VPCにアタッチ」ボタンを押下します。

「VPCにアタッチ」画面で以下を設定し「インターネットゲートウェイのアタッチ」ボタンを押下します。

  • 「VPC」に今回作成した「file-server-vpc」のVPC IDを設定(ドロップダウンリストから「file-server-vpc」と表示されたVPC IDを選択)

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

VPCのマネジメントコンソールの左側のメニューバーから「ルートテーブル」を選択します。

「ルートテーブルの作成」ボタンを押下します。

「ルートテーブルの作成」画面で以下を設定し「作成」ボタンを押下します。

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

ルートテーブルが正常に作成されると以下の画面が表示されます。「閉じる」ボタンを押下します

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

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

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

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

「ルートの編集」が正常に処理されると以下の画面が表示されます。
「閉じる」ボタンを押下します。

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

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

  • 「関連付けられたサブネット」で表示されるサブネットを選択

以下のように選択したサブネットが関連付けられます。

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

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

「セキュリティグループ名」にセキュリティグループの名称(ここでは「file-server-securityGP」と設定)を設定します
「VPC」に今回作成した「file-server-vpc」のVPC IDを設定(入力欄にキーワード「file-server」と入力、表示された選択候補から「file-server-vpc」と表示されたVPC IDを選択)

「インバウンドルール」に以下を設定し、「セキュリティグループを作成」ボタンを押下します。

  • 「タイプ」に「SSH」を選択、「ソース」に「0.0.0.0/0」を選択

「セキュリティグループ」の「file-server-securityGP」の詳細画面から「インバウンドルールを編集」ボタンを押下します。

「インバウンドルールを編集」画面が開くので、RDP (Remote Desktop Protocol)ポート(3389)を開放します。以下を設定し「ルールを保存」ボタンを押下します。

  • 「タイプ」に「RDP」を選択、「ソース」に「file-server-securityGP」のIDを選択

3.Amazon S3のNSFファイル共有

3.1.Amazon S3バケット作成

Amazon S3コンソールを開き「バケットを作成する」ボタンを押下します。

「バケットの作成」画面が開くので、以下を設定し、「次へ」ボタンを押下します。

  • 「バケット名」にバケット名(ここでは「for-file-storage」)を設定

何も入力せず「次へ」ボタンを押下します。

何も入力せず「次へ」ボタンを押下します。

確認画面が表示されるので設定内容を確認の上、「バケットを作成」ボタンを押下します。

バケットリストに作成したバケット「for-file-storage」が表示されます。

3.2.Storage Gateway作成

3.2.1.ファイルストレージ作成

AWS Storage Gatewayマネジメントコンソールを開き、「今すぐ始める」ボタンを押下します。

「ゲートウェイの作成」画面が開きます。
「ゲートウェイの種類を選択」から「ファイルゲートウェイ」を選択し「次へ」ボタンを押下します。

「ホストプラットフォームの選択」画面が開きます。
選択肢から「Amazon EC2」を選択します。
「Amazon EC2」を選択すると、「インスタンスの起動」ボタンが表示され、画面下側に「Amazon EC2のセットアップ手順」が折り畳まれた状態で表示されます。
折り畳まれた手順を開くと、詳細なセットアップ手順が表示されます。
この手順に従ってセットアップを進めます。
手順1.に従い「インスタンスの起動」ボタンを押下します。

新規タブでEC2インスタンスの作成の「ステップ2:インスタンスタイプの選択」画面が開きます。
手順2.に従い「m4.xlarge」を選択します。
「次のステップ:インスタンスの詳細の設定」ボタンを押下します。

「ステップ3:インスタンスの詳細の設定」画面が開くので以下を設定し「次のステップ:ストレージの追加」ボタンを押下します。

  • 「ネットワーク」のドロップダウンリストから「file-server-vpc」のVPC IDを選択
  • 「サブネット」のドロップダウンリストから「file-server-subnet-a」を選択
  • 「自動割り当てパブリックIP」のドロップダウンリストから「有効」を選択

「ステップ4:ストレージの追加」画面が開くので以下を設定し「次のステップ:タグの追加」ボタンを押下します。

  • 手順4.に従い、「新しいボリュームの追加」ボタンを押下
  • 「サイズ」を150に設定(注1)

(注1) 推奨サイズ:150 GiB のStorageGateway用のローカルディスクが必要です。

「ステップ5:タグの追加」画面が開くので手順5.に従い以下を設定し「次のステップ:セキュリティグループの設定」ボタンを押下します。

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

「ステップ6:セキュリティグループの設定」画面が開くので手順6.に従い以下のようにルールを追加し、「確認と作成」ボタンを押下します。

  • 「タイプ」に「HTTP」、ソースに「マイIP」を選択
  • 「タイプ」に「NFS」、ソースに「任意の場所」を選択

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

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

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

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

「ゲートウェイの作成」のタブ画面に戻り、「次へ」ボタンを押下します。

「サービスエンドポイント」の画面が表示されるので「エンドポイントタイプ」の選択候補から「パブリック」を選択し、「次へ」ボタンを押下します。

「ゲートウェイに接続」の画面が表示されるので、先程作成したEC2インスタンスのパブリックIPアドレス(※)を入力し、「ゲートウェイに接続」ボタンを押下します。

(※)EC2インスタンスのタブ画面に移動し、表示されているインスタンスリストから「StorageGWInstance」にチェックを入れます。表示される「説明」タブから「IPv4パブリックIP」の値を取得します。

ゲートウェイの接続に成功すると以下のような「ゲートウェイのアクティブ化」画面が表示されます。(接続に失敗した場合はエラー画面が表示されます)
以下を設定して「ゲートウェイのアクティブ化」ボタンを押下します。

  • 「ゲートウェイのタイムゾーン」にドロップダウンリストから「GMT +9:00 東京、ソウル」を選択
  • 「ゲートウェイ名」にゲートウェイの名称(ここでは「FileServerStorageGW」)を設定
  • 「タグの追加」で「キー」に「Name」、「値」にゲートウェイ名と同じ「FileServerStorageGW」を設定

「ローカルディスクの構成」画面が表示されます。「ローカルディスクを準備中」と表示されている場合はしばらく待機します。

以下のように「ディスクID」や「容量」、「割り当て済み」の情報が表示されたら「ログ記録を設定」ボタンを押下します。

「ゲートウェイのヘルスロググループ」の設定画面が開きます。デフォルト設定のまま「保存して続行」ボタンを押下します。

ゲートウェイリストに「ゲートウェイは正常に作成されました」のメッセージと共に作成したゲートウェイ「FileServerStorageGW」が表示されます。
「次のステップはファイル共有の作成です。」のボタンを押下してファイル共有を実施します。

3.2.2.ファイル共有

「ファイル共有の作成」画面が開きます。
以下を設定し「次へ」ボタンを押下します。

  • 「Amazon S3バケット名」に「3.1. S3バケット作成」で作成した「for-file-storage」を設定
  • 「オブジェクトへのアクセス(次を使用)」で「ネットワークファイルシステム(NFS)を選択

「Amazon S3ファイルを保存する方法の設定」画面が開くので以下を設定し「次へ」ボタンを押下します。

  • 「新しいオブジェクトのストレージクラス」にドロップダウンリストから今回は「S3スタンダード」を選択(デフォルトの「S3 Intelligent-Tiering」でも可)

(※) ストレージクラスの選択方法は以下になります。

  • S3スタンダード:アクセス頻度の高いオブジェクトデータを複数のアベイラビリティーゾーンに保存
  • S3 Intelligent-Tiering:最もコスト効率の高いストレージアクセス階層に自動的にデータを移動
  • S3 標準-IA:アクセスが頻繁ではないオブジェクトデータを複数のアベイラビリティーゾーンに冗長的に保存
  • S3 1 ゾーン-IA:アクセスが頻繁ではないオブジェクトデータを、単一のアベイラビリティーゾーンに保存

「確認」画面が表示されます。

設定内容に問題ないことを確認して「ファイル共有の作成」ボタンを押下します。

ファイル共有に成功すると「ファイル共有」リストに今回作成したゲートウェイ「FileServerStorageGW」のファイル共有が表示されます。
「ステータス」の表示が「更新中」から「利用可能」に遷移するまで待機します。

3.3.EC2インスタンス作成

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

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

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

「ステップ2:インスタンスタイプの選択」画面が開きます。
「m5.large」を選択し「次のステップ:インスタンスの詳細の設定」ボタンを押下します。

「ステップ3:インスタンスの詳細の設定」画面が開くのでファイルストレージ作成時のEC2インスタンスと同様に以下を設定し「次のステップ:ストレージの追加」ボタンを押下します。

  • 「ネットワーク」のドロップダウンリストから「file-server-vpc」のVPC IDを選択
  • 「サブネット」のドロップダウンリストから「file-server-subnet-a」を選択
  • 「自動割り当てパブリックIP」のドロップダウンリストから「有効」を選択

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

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

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

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

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

「起動」ボタンを押下すると「既存のキーペアを選択するか、新しいキーペアを作成します。」のポップアップ画面が表示されるので、「既存のキーペア」を選択し、「キーペアの選択」のドロップダウンリストから「fileserver-key」を選択します。
最後に「インスタンスの作成」ボタンを押下します。

「作成ステータス」画面が開きます。
「インスタンスの表示」ボタンを押下してインスタンスの一覧画面を開きます。

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

3.4.S3バケットのマウント

StorageGatewayの「ファイル共有」のページでファイル共有リストから「3.2.2. ファイル共有」で設定したゲートウェイ「FileServerStorageGW」のファイル共有にチェックを入れます。
画面下に詳細が表示され、各OSのマウント手順が示されます。

今回のEC2インスタンスはAmazon Linuxで作成しているのでLinuxの場合のマウント手順でマウントします。
「3.3. EC2インスタンス作成」で作成したインスタンスにSSH接続します。

先ず、マウント用のディレクトリを作成します。ここではユーザホームディレクトリ上に「S3Bucket」ディレクトリを作成します。

[ec2-user@ip-10-50-0-177 ~]$
[ec2-user@ip-10-50-0-177 ~]$ mkdir S3Bucket

手順に従い、NFSマウントオプションによるmountコマンドでS3バケット「for-files-storage」をマウントします。

[ec2-user@ip-10-50-0-177 ~]$ sudo mount -t nfs -o nolock,hard 10.50.0.75:/for-file-storage ./S3Bucket/
[ec2-user@ip-10-50-0-177 ~]$

dfコマンドで10.50.0.75:/for-file-storageが/home/ec2-user/S3Bucketにマウントされていることを確認します。

[ec2-user@ip-10-50-0-177 ~]$ df -h
Filesystem                    Size  Used Avail Use% Mounted on
devtmpfs                      3.8G     0  3.8G   0% /dev
tmpfs                         3.8G     0  3.8G   0% /dev/shm
tmpfs                         3.8G  388K  3.8G   1% /run
tmpfs                         3.8G     0  3.8G   0% /sys/fs/cgroup
/dev/nvme0n1p1                8.0G  1.5G  6.6G  18% /
tmpfs                         777M     0  777M   0% /run/user/1000
10.50.0.75:/for-file-storage  8.0E     0  8.0E   0% /home/ec2-user/S3Bucket
[ec2-user@ip-10-50-0-177 ~]$

S3バケットと共有化されていることを確認するためtouchコマンドでファイルを作成します。

[ec2-user@ip-10-50-0-177 ~]$ touch ./S3Bucket/test.txt
[ec2-user@ip-10-50-0-177 ~]$

約1分後、共有化したS3バケット「for-files-storage」に作成したファイルが保存されます。

4.Amazon S3のSMBファイル共有

StorageGatewayをマウントするEC2インスタンスを作成します。

4.1.Amazon S3バケット作成

「3.1. Amazon S3バケット作成」と同様の手順でバケットを作成します。
作成するバケット名は「for-smb-file-storage」とします。

4.2.Storage Gateway作成

4.2.1.ファイルストレージ作成

「3.2.1. ファイルストレージ作成」と同様の手順でファイルストレージを作成します。
但し、「ホストプラットフォームの選択」で作成するEC2インスタンスは次の設定がNSFと異なります。

①「ステップ5:タグの追加」

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

②「ステップ6:セキュリティグループの設定」
 以下のように「ルールに追加」でHTTPとSMBを追加します。

  • 「タイプ」に「HTTP」、ソースに「マイIP」
  • 「タイプ」に「SMB」、ソースに「任意の場所」を選択

以降は、「ゲートウェイに接続」までNSFと同様の手順で実施します。
「ゲートウェイのアクティブ化」で以下のように設定します。

  • 「ゲートウェイのタイムゾーン」にドロップダウンリストから「GMT +9:00 東京、ソウル」を選択
  • 「ゲートウェイ名」にゲートウェイの名称(ここでは「SMBFileServerGW」)を設定
  • 「タグの追加」で「キー」に「Name」、「値」にゲートウェイ名と同じ「SMBFileServerGW」を設定

以降はNSFと同様の手順で実施します。

4.2.2.SMB設定

ゲートウェイリストから作成した「SMBStorageGWInstance」を選択します。
「アクション」ボタンを押下し、表示されるドロップダウンリストから「SMB設定の編集」を選択します。

「SMB設定の編集」画面が開きます。
今回は、Active Directoryドメイン参加はせず、ゲストアクセスのみを許可します。
「ゲストアクセス設定」の右にあるペンのマークをクリックします。

「ゲストパスワード」の入力が可能になりますのでパスワードを入力し、「保存」ボタンを押下します。

最後に「閉じる」ボタンを押下して「SMB設定の編集」画面を閉じます。

4.2.3.ファイル共有

「ファイル共有の作成」画面で以下を設定し「次へ」ボタンを押下します。

  • 「Amazon S3バケット名」に「4.1. S3バケット作成」で作成した「for-smb-file-storage」を設定
  • 「オブジェクトへのアクセス(次を使用)」で「サーバメッセージブロック(SMB)を選択

以降は「3.2.2. ファイル共有」と同様の手順を実施します。
最後の「確認」画面で「SMB共有の設定」で「編集」ボタンを押下します。

「認証方法の選択」のドロップダウンリストから「ゲストアクセス」を選択し「閉じる」ボタンを押下します。

最後に「ファイル共有の作成」ボタンを押下します。

ファイル共有に成功すると「ファイル共有」リストに今回作成したゲートウェイ「SMBFileServerGW」のファイル共有が表示されます。
「ステータス」の表示が「更新中」から「利用可能」に遷移するまで待機します。

4.3.EC2 Windowsインスタンス作成

「3.3. EC2インスタンス作成」と同様の手順でEC2 Windowsインスタンスを作成します。
「ステップ1:Amazon マシンイメージ(以下AMI)」選択画面で、検索文字入力欄に「Japanese」と入力し、左サイトマップから「コミュニティAMI」を選択します。

表示された日本語版のWindows Serverの中から「Windows_Server-2016-Japanese」を選択します。

「ステップ2:インスタンスタイプの選択」から「ステップ4:ストレージの追加」まで「3.3. EC2インスタンス作成」と同様の手順を実施します。

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

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

以降は「3.3. EC2インスタンス作成」と同様の手順を実施します。
「ステップ7:インスタンス作成の確認」画面で「起動」ボタンを押下すると「既存のキーペアを選択するか、新しいキーペアを作成します。」のポップアップ画面が表示されます。ここでは、「ホストプラットフォームの選択」でEC2インスタンス作成時に生成した「fileserver-key」を使用します。
「既存のキーペア」を選択し、「キーペアの選択」のドロップダウンリストから「fileserver-key」を選択します。
最後に「インスタンスの作成」ボタンを押下します。

インスタンスの起動完了後、インスタンス一覧から「WindowsFileServerInstanceSMB」にチェックを入れ、「接続」ボタンを押下します。

「インスタンスに接続」の画面が表示されます。
接続方法に「スタンドアロンRDPクライアント」を選択します。
「リモートデスクトップのダウンロード」ボタンを押下します。
「パスワードの取得」ボタンを押下します。

「キーペアのパス」の「ファイルを選択」ボタンを押下し、EC2インスタンス生成時、「既存のキーペアを選択するか、新しいキーペアを作成します。」の操作でダウンロードしたプライベートキーファイル「fileserver-key.pem」を選択します。
最後に「パスワードの復号」ボタンを押下します。

発行されたパスワードをメモして保存します。
最後に「閉じる」ボタンを押下して画面を閉じます。

ダウンロードしたリモートデスクトップ用のアクセスファイルをダブルクリックします。

リモートデスクトップのログイン画面が表示されるのでユーザ名に「Administrator」、パスワードにメモしたパスワードを入力し「OK」ボタンを押下します
Windowsインスタンスへのリモートデスクトップ接続に成功すると、以下のようなWindowsインスタンスのリモートデスクトップ画面が表示されます

(※) Windowsインスタンスに直接リモートデスクトップ接続できない場合、踏み台サーバを使ってリモートデスクトップ接続を実施します。手順はAmazon EC2とAmazon FSxの組み合わせを参照してください。

4.4.S3バケットのマウント

StorageGatewayの「ファイル共有」のページでファイル共有リストから「4.2.2. ファイル共有」で設定したゲートウェイ「SMBFileServerGW」のファイル共有にチェックを入れます。
画面下に詳細が表示され、マウント手順が示されます。

リモートデスクトップ接続したWindowsインスタンスでコマンドプロンプトを起動します。
手順に従いnet useコマンドでS3バケット「for-smb-file-storage」をマウントします。
[WindowsDriveLetter]には“D:”,”Z:”などの空きドライブを指定します。
ワイルドカード”*”を使用すると空きドライブから任意のドライブが割り当てられます。

C:\Users\Administrator>net use * \\10.50.0.113\for-smb-file-storage /user:sgw-8911FCE0\smbguest

パスワードの入力を求められるので、「4.2.2. SMB設定」の「ゲストパスワード」で設定したパスワードを入力します。

'10.50.0.113' に接続するための 'sgw-8911FCE0\smbguest' のパスワードを入力してください:

マウントに成功すると以下のメッセージが表示されます。

ドライブ Z: は現在 \\10.50.0.113\for-smb-file-storage に接続されています。

コマンドは正常に終了しました。


C:\Users\Administrator>

割り当てられたネットワークドライブZ:の内容を確認します。

C:\Users\Administrator>z:

Z:\>dir
ドライブ Z のボリューム ラベルは for-smb-file-storage です
ボリューム シリアル番号は 4DA8-96E1 です

Z:\ のディレクトリ

2020/06/02  03:32    <DIR>          .
2020/06/02  03:32    <DIR>          ..
               0 個のファイル                   0 バイト
               2 個のディレクトリ  9,223,372,036,854,771,712 バイトの空き領域

Z:\>

S3バケットと共有化されていることを確認するためZ:ドライブ上でテキストファイル「test_file.txt」を作成します。

約1分後、共有化したS3バケット「for-smb-file-storage」に作成したファイルが保存されます。

5.あとがき

AWSを活用した4つのファイルサーバー構成の内、Amazon EC2とAWS Storage Gateway、Amazon S3構成されたファイルサーバーの構築手順について解説しました。

Amazon S3はEC2から直接マウントすることができませんが、AWS Storage Gatewayを使用することで可能になります。AWS Storage Gateway はNFSとSMB 2種類のファイル共有をサポートしているためLinuxやMacOS、Windowsインスタンスからのマウントが可能です。

今回はNFSファイル共有によるLinuxインスタンスのS3バケットのマウントとSMBファイル共有によるWindowsインスタンスのS3バケットのマウントの2通りのファイル共有の方法について解説しました。

Amazon S3は低コストで拡張性が高いですが、作成したファイルがS3に共有されるまで約1分を要するなどパフォーマンスは低いため、現在はAmazon EFSやFSxの利用が推奨されています。ただ、Amazon EFSやFSxは利用コストが高いというデメリットがあります。パフォーマンスよりコスト面を重視する場合、Amazon S3の利用が適しています。

ここまで、4回に渡ってAWSを活用したファイルサーバーの4つの構成についてご紹介してまいりました。

システム構成の技術トレンドは確かにありますが、一方で、はやりの技術が未来に渡って発展するとは限りません。まず、AWSの無償枠などを利用してテスト的に構築、テスト運用を行った上でそれぞれの特性をつかみ、本格的に移行する場合には、システムの利用要件や運用要件などを十分に検討し、決定しましょう。
短期間での導入が必要であったり、他の情報システムの検討やアプリケーション開発などに時間を割く必要がある場合には、クラウド導入支援事業者と一緒に進めるのも一つの方法です。

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

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

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

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

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

Amazon Web Services(AWS)、Microsoft Azureの
導入支援サービスのご相談、お問い合わせをお待ちしております。

ページ上部へ戻る