AWS上でのファイルサーバ構築 - Amazon Web Services

【初⼼心者向けWebinar】
AWS上でのファイルサーバ構築
2014/12/09
アマゾン データ サービス ジャパン株式会社
技術本部 エマージングソリューション部
ソリューションアーキテクト ⾈舟崎健治
アジェンダ
•  Introduction
•  AWSの関連サービスのご紹介
•  AWS上でのファイルサーバ活⽤用パターン
•  Amazon S3を活⽤用して静的コンテンツを配信するパターン
•  Amazon EC2でNFSサーバを構築するパターン
•  AWS Storage Gatewayを使ってNFSサーバを構築するパターン
•  お⾒見見積り例例
•  まとめ
アジェンダ
•  Introduction
•  AWSの関連サービスのご紹介
•  AWS上でのファイルサーバ活⽤用パターン
•  Amazon S3を活⽤用して静的コンテンツを配信するパターン
•  Amazon EC2でNFSサーバを構築するパターン
•  AWS Storage Gatewayを使ってNFSサーバを構築するパターン
•  お⾒見見積り例例
•  まとめ
本Webinarでのファイルサーバの定義について
•  主に静的コンテンツを格納するサーバ、またはサービス
•  NFS(CIFS)マウントする⽅方法以外にも、オブジェクト単
位でHTTP(S)で配信する⽅方法も含む
オンプレミスでファイルサーバを構築するときの悩み
•  ディスク容量量の不不⾜足
•  バックアップ等のメンテナンスの⼿手間がかかる
•  保守期限満了了に伴うハードウェアのリプレイスの検討
なぜAWS上でファイルサーバを構築するのか?
•  保存した分だけの従量量課⾦金金
•  必要に応じてディスク拡張が可能
–  ディスク容量量圧迫の⼼心配からの解放
• 
• 
• 
• 
セキュア
サーバーハードウェアのメンテナンス不不要
データの耐久性の向上
データを保存するだけでなく、データ分析等の⽤用途で活
⽤用しやすい
要件に応じて、AWS上でのいくつかの構成パターンが
考えられます。それぞれのメリット・デメリットについ
て本Webinarでお伝えします。
アジェンダ
•  Introduction
•  AWSの関連サービスのご紹介
•  AWS上でのファイルサーバ活⽤用パターン
•  Amazon S3を活⽤用して静的コンテンツを配信するパターン
•  Amazon EC2でNFSサーバを構築するパターン
•  AWS Storage Gatewayを使ってNFSサーバを構築するパターン
•  お⾒見見積り例例
•  まとめ
AWSアカウント登録について
•  Webフォーム上で数分程度度の登録作業をするだけで、すぐさまAWS
を利利⽤用可能
•  AWSアカウント作成の流流れ
http://aws.amazon.com/jp/register-‐‑‒flow/
•  AWSアカウント作成⽅方法についての動画(⽇日本語字幕付き)
http://aws.amazon.com/jp/getting-‐‑‒started/
AWSマネージメントコンソールにログイン
•  アカウント登録後にAWSのTopページへアクセス
http://aws.amazon.com/jp/
•  登録したメールアドレス、パスワードでログインする
ログインが成功すると以下のサービスの⼀一覧画⾯面が表⽰示
される
今回紹介する
サービス
EC2
Amazon EC2(Elastic Compute Cloud)
リージョン
アベイラビリティ
ゾーン A
EC2
任意のゾーンに
1
分散配置可能
アベイラビリティ
ゾーン B
EC2
•  Windows, Linuxなどx86-‐‑‒64アーキ
•  数分で起動可能な仮想サーバ
テクチャのOS利利⽤用可能
•  1時間ごとの従量量課⾦金金で利利⽤用可能
–  Windowsライセンスも従量量課⾦金金
•  スケールアップ/ダウン、アウト/イ
ンが即座に可能
•  OS以上はお客様の⾃自由
–  お⼿手持ちのソフトをそのまま利利⽤用
Amazon EBS(Elastic Block Store)ボリューム
Region
Availability Zone - a
Availability Zone - b
EC2
EC2
EBS
EBS
EBS
EBS
EBS
EBS
Snapshot
Amazon Simple
Storage Service (S3)
EC2インスタンスに仮想外付けされた
ブロックレベルのストレージ
"   サイズは1GB単位で〜~1TBまで
(近い将来16TBまで利利⽤用可能になる予定)
"   サイズ/期間/IOで課⾦金金される
"   複数EBSを1 EC2インスタンスにアタッチ可能
"   1つのEBSを同時に複数のEC2インスタンスにattach
不不可
"   データは永続的に保存される
"   アベイラビリティゾーン(AZ) に存在
"   他のEC2インスタンスに付け替え可能
Amazon EBS スナップショット
Region
Availability Zone - a
Availability Zone - b
EC2
EC2
EBS
EBS
Amazon S3に保存された EBSボリュームの
ポイントインタイムバックアップコピー
EBS
EBS
EBS
EBS
Snapshot
Amazon Simple
Storage Service (S3)
"   EBSスナップショットは増分バックアップ
(最後に作成されてから、変更更のあるブ
ロックのみ保存される)
"   EBSスナップショットからEBSボリューム
を同じリージョン内で作成可能
"   リージョン間でコピー可能
Amazon S3(Simple Storage Service)
リージョン
EC2
データを
⾃自動複製
Availability Zone
v  低コスト
v  アップロード無料料
v  セキュリティ
v  格納料料⾦金金 1GB/⽉月3.3円 (100円換算、2014/11/04時点)
v  耐久性
v  99.999999999%の耐久性
v  3か所以上への⾃自動複製保存
v  インテグリティチェックおよび⾃自動復復旧
v  データ転送はすべてSSL通信
v  同⼀一リージョン内のみでの保管
v  サーバサイド暗号化オプション(AES256)
v  柔軟性
v  格納容量量無制限
v  多くの3rdベンダー製品がサポート
Amazon CloudFront
•  ユーザからのアクセスを、最も近いエッジサーバに誘導するこ
とで、ユーザへの配信を⾼高速化
•  エッジサーバでは、コンテンツのキャッシングを⾏行行い、オリジ
ンに負荷をかけず効率率率的に配信
1.最適なエッジに
リクエスト
Amazon
CloudFront 3.エッジにキャッシュがなければ
オリジンにリクエスト
(Edge Location)
レスポンス向上
負荷軽減
クライアント
2.キャッシュを配信
キャッシュ
5.取得したコンテンツを配信しキャッシュ コンテンツ
オリジン配信
サーバ
4.エッジにコンテンツ
を送信
Amazon VPC(Virtual Private Cloud)
•  クラウド内にプライベートネットワークを構築可能
•  企業イントラの延⻑⾧長/1拠点としてAWSを利利⽤用
VPN接続
専⽤用線
イントラ
リージョン
VPC
プライベート
サブネット
分離離したNW
領領域を作成
パブリック
サブネット
ゲートウェイ
インターネット
Elastic Network Interface(ENI)
•  VPC上で実現する仮想ネットワークインタフェースを複数持てる
機能
•  以下をENIに紐紐づけて維持可能
– 
– 
– 
– 
Private IP
Elastic IP
MACアドレス
セキュリティグループ
ENI
EC2
ENI
•  インスタンスタイプによって割り当て可能な数が異異なる。
•  他のインスタンスに付け替え可能
Amazon Route 53
•  拡張性と可⽤用性に優れたDNS権威サービス
•  ヘルスチェック機能を持つ
www.example.com
はどこ?
Users
1.2.3.4
知らないので権威
サーバに尋ねます
53
DNS Resolver
Route 53
1.2.3.4
AWS Storage Gateway
•  オンプレミス環境と連携可能なデータバックアップおよ
びクラウドストレージを提供するゲートウェイサービス
オンプレミス環境
クラウド環境
ゲートウェイ
データ連携
サーバ
オンライン
ストレージ
アーカイブ
ストレージ Internet
データ格納
AWS Storage Gateway
バックアップ
(Gateway-‐‑‒Stored Volumes
/ Gateway-‐‑‒VTL)
容量量拡張
(Gateway-‐‑‒Cached Volumes)
Amazon
S3
Amazon
Glacier
AWS SDK/CLI
AWS管理者・
オペレータ
Management
Console (Web)
ユーザ名・
パスワード
S3
アップロード
ダウンロード
>
AWS CLI
各⾔言語ごとの
SDK
EC2
起動、停⽌止
REST API
アクセスキー・
シークレットキー
Route 53
登録、変更更、
削除
Amazon Zocalo
•  フルマネージド型の企業向け⽂文書保存・共有サービス
– 
– 
– 
– 
マルチデバイス対応
ファイルの共有が可能
ファイルに対するフィードバックの共有が可能
サーバの構築不不要
共有されたドキュメント
にはここからアクセス
ドラッグアンドドロップでファ
イルのアップロードが可能
アジェンダ
•  Introduction
•  AWSの関連サービスのご紹介
•  AWS上でのファイルサーバ活⽤用パターン
•  Amazon S3を活⽤用して静的コンテンツを配信するパターン
•  Amazon EC2でNFSサーバを構築するパターン
•  AWS Storage Gatewayを使ってNFSサーバを構築するパターン
•  お⾒見見積り例例
•  まとめ
AWS上でのファイルサーバ活⽤用パターン
•  Amazon S3を静的コンテンツ格納ストレージとして活⽤用
–  ※Amazon S3をマウントする形ではありません。(後述)
•  NFSサーバをEC2インスタンス上で構築
•  AWS Storage Gatewayを活⽤用
Amazon S3
Amazon EC2
AWS Storage Gateway
なぜオンプレミスではNFSサーバを多く活⽤用していたか
について考える
•  コンテンツを集中管理理可能
•  リモートからマウントするだけ
•  RAIDでミラーリングすることで、データ喪失を防ぐ
–  ディスク単位でミラーリング
–  NFSサーバ⾃自体の冗⻑⾧長化は必要に応じて実施
AWS上でも勿論論NFSサーバを構築可能です。オンプレ
ミスで構築していたNFSベースのシステムをそのまま
AWS上で稼働させることが出来るパターンが多いので、
NFSサーバをAWS上に構築されるケースは多くありま
す。
⼀一⽅方でNFSサーバを活⽤用するときには、気を付けなけれ
ばいけない点もあります。
NFSサーバのデメリット
•  スケーラブルなシステムにおいては、NFSサーバがボト
ルネックになりやすい。
•  NFSサーバ⾃自体を冗⻑⾧長化しないと、SPOFになってしま
う。
Web
Web
Web
Web
Web
NFS
サーバ
Web
レプリケーション
Web
NFS
サーバ
Web
・・・・・・・
AWS上での最適な静的コンテンツファイル格納先につ
いて
•  要件に応じて、選択されるストレージは異異なる
•  ですが、Amazon S3を活⽤用できるのであれば、
Amazon S3を使う形を推奨
Amazon S3
アジェンダ
•  Introduction
•  AWSの関連サービスのご紹介
•  AWS上でのファイルサーバ活⽤用パターン
•  Amazon S3を活⽤用して静的コンテンツを配信するパターン
•  Amazon EC2でNFSサーバを構築するパターン
•  AWS Storage Gatewayを使ってNFSサーバを構築するパターン
•  お⾒見見積り例例
•  まとめ
Amazon S3のメリット
•  耐久性
–  保存すると⾃自動で複数の施設に冗⻑⾧長化される
•  アクセス増加時にも⾼高負荷に耐えられる設計
–  秒間数千リクエストを常に送っているケースもあり。
•  拡張性
–  保存できる合計容量量に制限なし。ディスク容量量圧迫の⼼心配不不要
•  安全性
–  SSLでのデータ転送と、アップロード後のデータの⾃自動暗号化をサポート
•  低コスト
–  データ保存量量1カ⽉月あたり$0.033/⽉月
–  静的コンテンツ格納⽤用に仮想サーバを⽴立立てる必要なし。
•  お客様側でサーバの冗⻑⾧長化・フェイルオーバー等の管理理不不要
Amazon S3にデータを配置すると、他のサービスと連携
が容易易
Amazon S3にファイルをアップロードする⽅方法
Step 1: バケットの作成
Step 2: 作成したバケットにファイルを
アップロード
Amazon S3
バケット
Internet
•  S3へのメディアファイル保存の動画
http://aws.amazon.com/jp/getting-‐‑‒started/
Step 1: Amazon S3上にバケットを作成する
バケット名、リージョン(今回は
東京)を指定
Step 2: 作成したバケットにファイルをアップロードする
Amazon S3からのファイルのダウンロード⽅方法
マネージメントコンソールからダウンロード
バケット名、ファイル名、リンクを確認
• 
• 
• 
1つ1つのファイルにURIが割り当てられる。
URIにアクセスすると、デフォルトでは
Access Deniedになる。(認証されたユーザ
のみアクセスが可能)
Permissionsで、Anonymousユーザにアクセ
ス権を与えることで、URIからダウンロード
が可能
サードパーティが提供するAmazon S3への
ファイル転送GUIツール
•  CloudBerry Explorer PRO
ファイルをドラッグ&ドロップ
ローカルのフォルダ、
ファイルを表示
S3のバケットやその
中身が表示される
AWS CLIによるコマンド実⾏行行例例
•  S3にファイルをアップロード
aws s3 cp ./test.txt s3://BucketName/
•  S3からファイルをダウンロード
aws s3 cp s3://BucketName/test.txt ./
※事前にAWS CLI実⾏行行に必要な認証情報を設定する必
要あり
⼤大きなサイズのファイルをS3に転送するには
•  S3マルチパートアップロードを活⽤用する
–  単⼀一のファイルを、複数のパーツに⾃自動分割して、マルチスレッドで並列列アップロード
–  HTTPSで暗号化された形でセキュアに転送される
パーツ1
ファイル
パーツ2
S3
パーツN
AWS CLIまたはAWS SDK
•  AWS CLIを使えば、ファイルサイズが⼤大きい場合は⾃自動で分割、
マルチパートアップロード・ダウンロードされる
S3のWebサイトホスティング機能
•  静的WebサイトをAmazon S3でホスティングする機能
•  デフォルトのリンクの例例
–  https://s3-‐‑‒ap-‐‑‒northeast-‐‑‒1.amazonaws.com/examplebucket/photo.jpg
•  Webサイトホスティング有効後のリンクの例例
–  http://examplebucket.s3-‐‑‒website-‐‑‒ap-‐‑‒northeast-‐‑‒1.amazonaws.com/
photo.jpg
Webサイトホスティングのリンクへのhttpsでの直接アクセスは不不可
•  カスタムドメイン(例例:example.com)を使ったアクセス
も可能。詳細は以下
–  http://docs.aws.amazon.com/ja_̲jp/AmazonS3/latest/dev/website-‐‑‒hosting-‐‑‒
custom-‐‑‒domain-‐‑‒walkthrough.html
Webサイトホスティングを有効時に、HTTPSベースで
ユーザからアクセスさせる⽅方法
•  S3の前にAmazon CloudFrontを配置
•  Amazon CloudFrontに対してHTTPSでアクセス、
CloudFrontからS3へはHTTPでアクセスする。
https://image.example.com/photo.jpg
(DNSに登録する必要あり)
http://examplebucket.s3-apnortheast-1.amazonaws.com/photo.jpg
jpg
Users
S3上で動的コンテンツ⽣生成⽤用のサーバ側スクリプトを
実⾏行行可能か?
•  S3上ではPHP, JSP, ASP.NET等のサーバ側スクリプトは
実⾏行行不不可
•  画像や静的なHTML、JavaScriptは、クライアントの
Webブラウザ側で実⾏行行・表⽰示させるので、S3配信に利利
⽤用可能
S3をマウント可能か?
•  S3はHTTP(S)でアクセス可能なインターネットスト
レージ
–  NFSやCIFSでマウントはできない。
•  擬似的にマウントさせるように⾒見見せるサードパーティの
ツールもあるが、実際はHTTP(S)ベースのアクセスのた
め、S3上の1つのファイルに同時書き込みするときに
排他処理理が出来ないため要注意
既存のNFSマウントベースのアプリケーションをS3か
ら直接ユーザに配信する形に変更更するには?
•  変更更前
http://example.com/index.php
Web
サーバ
NFS
サーバ
•  変更更後
http://example.com/index.php
Web
サーバ 動的コンテンツ⽤用
jpg
Users
http://static.example.com/img/product.jpg
S3
<img src=“/img/product.jpg” />
静的コンテンツ⽤用
jpg
<img src=
“http://static.example.com/img/product.jpg” />
静的コンテンツのリンクを変更更する。
それに伴うアプリ側の修正が難しい場合は、Apache mod_̲rewrite等を使って書き換える⽅方法もあり。
特定のユーザのみにS3からコンテンツファイルを配信
する⽅方法
•  署名付きURLを使って、そのURLを知っているユーザのみファイルのダウ
ンロードを可能にする(S3上のバケットやファイルはデフォルトでは公開
されていない。)
–  署名付きURLで有効期限を設定可能。有効期限を過ぎたら無効なURL
•  署名付きURLの例例:https://bucket-‐‑‒name.s3.amazonaws.com/test.txt?
Expires=1353386085&AWSAccessKeyId=XXXXXXXXXXXXXXXXXXXX&Signature=9Vvu4
9EtywfHkvPWgcuI%2FabdUAc%3D
•  利利⽤用例例
–  Webアプリ側でログイン認証済みのユーザのみに署名付きURLを渡し、S3上のコンテンツを配信する
①Webサイトへアクセス
②署名付きURL⽣生成
Web
リクエスト
(S3のAPIを実⾏行行)
④署名付きURLを渡す
③署名付きURLを返す
⑤署名付きURLを使ってファイルをダウンロード
S3を使う構成への変更更がすぐに難しい場合は、最初は
NFSサーバをマウントする形で構築して、後々S3を活
⽤用するパターンに変更更されるケースもあります。
アジェンダ
•  Introduction
•  AWSの関連サービスのご紹介
•  AWS上でのファイルサーバ活⽤用パターン
•  Amazon S3を活⽤用して静的コンテンツを配信するパターン
•  Amazon EC2でNFSサーバを構築するパターン
•  AWS Storage Gatewayを使ってNFSサーバを構築するパターン
•  お⾒見見積り例例
•  まとめ
AWS上でNFSサーバを構築するには?
•  EC2インスタンス(=仮想サーバ)を起動
AMIとは
Linuxベースの AMI
または
AMIを選択
して起動
(Amazon Machine Image)
オペレーティングシステムのマ
シンイメージ
NFS
サーバ
(EC2)
EBS
Volume
Windowsベースの AMI
EC2インスタンス(=仮想サーバ)の起動⼿手順
Step 1: AMI(Amazon Machine Image)
の選択
Step 2: インスタンスタイプの選択
Step 3: 起動台数、ネットワークの選択
Step 5: インスタンスへのタグ付け
Step 6: セキュリティグループの設定
Step 7: 起動設定の確認
Step 4: ストレージの選択(重要)
Step 8: 使⽤用するキーペアを作成または
選択して起動
•  EC2インスタンス起動の動画
http://aws.amazon.com/jp/getting-‐‑‒started/
セキュリティグループとは
•  インスタンスへのトラフィックを制限
するSemi-‐‑‒statefulなファイアーウォー
ル機能
•  デフォルトでは全トラフィックが閉じ
ており、外からアクセスできない
•  必要な受信アクセスに対してアクセス
ルールを定義する
• 
• 
• 
プロトコル( TCP/UDP)
宛先ポート
アクセス元IP / Security Group
•  設定したルール以外の受信トラフィッ
クは破棄される
•  ルールをひとまとめにしたテンプレー
トを Security Groupと呼ぶ
ポート25
(SMTP)
Security Group
ポート2049
(TCP)
ポート22
(SSH)
EC2
インスタンス
(例)
2049番ポートは
NFSクライアントの
みに制限
EC2ファイアウォール
キーペアとは
• 
• 
• 
• 
キーペアを作成すると、1組の公開鍵・秘密鍵が作成される
公開鍵はAWS側で保管。EC2起動時にインスタンスにコピー
秘密鍵はユーザー側で保管。ログイン時に必要
リージョンごとに独⽴立立
公開鍵は、AWSに
よってEC2起動時に
埋め込まれる
キーペアの作成
秘密鍵は、デスク
トップにダウンロード
される
EC2インスタンスは
2つの鍵を用いる
EC2インスタンスへのログインに必要な鍵認証について
•  ユーザ名・パスワードの認証よりも安全な認証⽅方式
•  公開鍵・秘密鍵のペアが合っている場合のみログイン可能
–  Linuxの場合はSSHログイン時に認証
–  Windowsの場合は公開鍵によって暗号化されたAdministratorパスワードを秘
密鍵で復復号化することで、Administratorログインが可能
EC2インスタンスを起動する(EC2マネージメントコン
ソール)
①リージョンの選択
Tokyoが選択されてい
ることを確認
②Launch Instanceを選択
Step 1:AMIの選択
今回はAmazon Linux、または
Microsoft Windows Serverを
選択する
Step 2:インスタンスタイプの選択
インスタンスタイプは、さまざまなCPU、メモリ、スト
レージ、ネットワークキャパシティの組み合わせに
よって構成されている
(例)
・t2.micro(無料利用枠): 1vCPU, 1GiBメモリ
・r3.8xlarge : 32vCPU, 244GiBメモリ
※スペックの高いインスタンスタイプほど、1時間あた
りの起動料金が高くなる
t2.microを選択
Step 3:起動台数およびネットワークの選択
インスタンスの起動台数を指定
どのVPCのどのサブネットに起動
するかを選択
今回はデフォルトのまま変更不要
Step 4:ストレージの選択
元となる
スナップ
ショット
ボリューム
のサイズ
3パターンのボリューム
から選択(詳細は後述)
デバイス名
ストレージの容量量およびボリュームタイプを選択
起動時にボリュームの容量量を増やすことが可能。
(減らすことは不不可)
IOPS指定
(後述)
Terminate時
に削除するか
どうか
Step 5:インスタンスへのタグ付け
Valueにインスタンスを判別するための名前を⼊入
⼒力力する。
Step 6: セキュリティグループの設定
今回は新しいセキュリティグループを作成
する
アクセス元の制限⽤用にIPアドレスを指定可能だが、セ
キュリティグループIDを指定することで、そのセ
キュリティグループが割り当てられているEC2インス
タンスがアクセス可能となる。
LinuxであればSSH(22番)
WindowsであればRDP(3389番)、およびNFS
マウント⽤用のTCPポート2049番等を許可する
Step 7:起動設定の確認
東京リージョンが選択されていることを確認
インスタンスタイプがt2.microが選択さ
れていること、セキュリティグループが
HTTP、SSH(Linux⽤用)、
RDP(Windows⽤用)が許可されているこ
とを確認
Step 8:使⽤用するキーペアの作成または選択をして起動
①Create a new key pairを選択
(作成済みであればChoose an existing key pairを選択してLaunch Instancesを選択)
②キーペア名を⼊入⼒力力
③秘密鍵ファイルを
ダウンロードする
④Launch Instances
を選択
インスタンスの起動開始
起動したインスタンスにインスタ
ンスIDが割り当てられる。
インスタンスIDを選択すると、起
動ステータスを確認可能
インスタンスの起動確認およびインターネットから接続
Instance Stateがrunningになっ
可能なPublic DNSを確認する
ており、Status Checksが2/2 checks passedになっていれば、
アクセス可能
インターネットからアクセス可能
なPublic DNS(ホスト名)をコ
ピーして、SSHログインやRDPロ
グイン時の接続先に利利⽤用
LinuxインスタンスへSSHログインする
•  Windowsからログインする場合
–  TeraTerm (ttssh.exe) を起動
http://sourceforge.jp/projects/ttssh2/
– 
– 
– 
– 
接続するインスタンスのホスト名を⼊入⼒力力
SSH2を指定
ユーザ名: ec2-‐‑‒user
KeyPair作成時に取得した秘密鍵ファイルを選択して接続
WindowsインスタンスへRDPでログインする
④Public IP、ユーザー名および
Passwordを取得。こちらを元にリ
モートデスクトップを実⾏行行
①Windowsインスタンスを選
択→Actions→Get Windows Passwordを選択
以下ログイン後のWindowsデスク
トップ画⾯面
②起動時に指定したキーペアに
相当する秘密鍵ファイルをロー
カルから選択
③Decrypt Password実⾏行行
EBSボリュームを使⽤用できるようにする
(Linuxの場合の例例)
•  空のEBSボリュームをアタッチ後、以下を実⾏行行して、EBSボ
リュームのデバイス名を確認する
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvdf 202:80 0 100G 0 disk xvda1 202:1 0 8G 0 disk /
•  EBSボリュームでmkfsを実⾏行行
$ sudo mkfs -‐‑‒t ext4 /dev/xvdf
•  ディレクトリを作成して、マウントする
$ sudo mkdir /mnt/data
$ sudo mount /dev/xvdf /mnt/data NFSサーバ用のパッケージインストール等の
手順は、オンプレミスと同じのため割愛
Amazon EBSボリュームの種類
General Purpose
(SSD)
Provisioned IOPS (SSD)
Magnetic
ボリュームサイズ
1GiB~1TiB
10Gib~1TiB
1GiB~1TiB
IOPS
パフォーマンス
最大3,000 IOPSまでバー
スト可能、 1GiBあたり3
IOPSのベースパフォーマ
ンス
最大4,000 IOPS
平均100 IOPS, 数百
IOPSまでバースト可
能
ユースケース
システムブートボリューム、 持続的に3,000を越えるIOPSを必要と
中小規模のデータベース、 する重要なビジネスアプリケーション、
MongoDB、 Microsoft SQL Server、
開発・テスト環境
MySQL、PostgreSQL 、Oracleなど
頻繁にアクセスしない
データ領域、
低いストレージコストが重
視される場合
※IOPSとは、ディスクが1秒あたりに処理理できるI/Oアクセス数
EBSでは、256KB以下のI/O操作を1 IOPSとみなす。
1024KBのI/O操作は4 IOPSとなる。
※近い将来、1個あたりのEBSボリュームサイズは16TiBまで拡張可能となる予定
EBSボリュームサイズを拡張する⽅方法
EC2
④OS側でファイルシステ
ムのサイズを拡張
(Linuxの場合は
resize2fsなど)
③EC2インスタンスに
attachする(必要に応じて
古いボリュームをdetachす
る)
①EBSスナップショット作成
EBS
Volume
EBS
Volume
②スナップショットをベースに、サイズ
の⼤大きな新規EBSボリュームを作成する
※2014年年12⽉月9⽇日時点でEBSボリューム1個あたり最⼤大1TBまで。
※近い将来、EBSボリューム1個あたり最⼤大16TiBまで利利⽤用可能になる予定
EBSボリューム単体の最⼤大容量量で⾜足りない場合は、複数
のEBSボリュームをアタッチする
Linux上でのマウント先
のディレクトリの例例
EC2
EBS
Volume
EBS
Volume
・
・
・
EBS
Volume
Windows上でのドライ
ブ⽂文字の例例
/ (root)
Cドライブ
/mnt/vol1
Dドライブ
複数のEBSボリュームを1つのボリュームに⾒見見せるには
•  ソフトウェアRAIDでRAID 0アレイ(ストラ
イピング構成)を作る
–  EBSボリュームは、内部的に複数ノードで複製しているので
EBSボリューム間でさらに複製する必要はない。
•  LinuxのRAID Array構成⽅方法
–  http://docs.aws.amazon.com/ja_̲jp/AWSEC2/latest/
UserGuide/raid-‐‑‒config.html
EC2
EBS
Volume
EBS
RAID 0
Volume
アレイ
・
・
・
EBS
Volume
EC2インスタンスへのファイルアップロード⽅方法
•  標準的な⽅方法
–  scp / sftp / rsync / ftp など
•  ⾼高速転送ソリューション
– 
– 
– 
– 
TsunamiUDP
Aspera
Skeed
Riverbed
ファイル数が多い場合は、zipで圧縮してS3へアップロー
ド後、S3からEC2にダウンロードして展開する、など。
•  S3へファイル転送して、S3からEC2インスタンス側にダウンロード
–  AWS CLIを使って、ローカルとS3間のファイルコピー
•  S3のマルチパートアップロード、マルチパートダウンロード機能を使えば、⼤大きなサイズ
のファイルを分割して、それらをマルチスレッドで⾼高速転送が可能
•  参考:AWS Direct Connect
–  1Gbps/10GbpsでAWSへ専⽤用線接続
NFSサーバの可⽤用性を⾼高める⽅方法
•  冗⻑⾧長化
–  マスター・スレーブ間でレプリケーション
•  ダウンしたらすぐに起動し直す(常時1台起動)
–  新規EC2インスタンスに、データが格納されているEBSボリュームをアタッチす
る
冗⻑⾧長化の例例
•  DRBDを活⽤用するパターン
•  他にもCLUSTERPROやDataKeeperを活⽤用するパターンも
あり
マスター障害時のスレーブへのエンドポイント切切り
替え(フェイルオーバー)の例例
•  Route Based HAパターン
–  http://aws.clouddesignpattern.org/index.php/CDP:Routing-‐‑‒Based_̲HA
%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
•  マスター障害時にVPC内のサブネットのルーティングを切切り替えるパターン
•  Floating IPパターン
–  http://aws.clouddesignpattern.org/index.php/CDP:Floating_̲IP%E3%83%91%E3%82%BF
%E3%83%BC%E3%83%B3
•  マスター障害時にElastic IPを付け替えるパターン
•  他にもAmazon Route 53でファイルサーバ⽤用のDNSレコードをマス
ターからスレーブに動的に書き換える⽅方法もあり。
–  APIやCLIを使って動的に変更更可能
※いずれもアベイラビリティゾーンを跨ってフェイルオーバー可能
ダウンしたら起動し直す構成の例例
(常時1台起動)
•  ファイルサーバー⽤用のEC2インスタンスがダウンしたら、
新規EC2インスタンスを起動して、こちらに既存のEBS
ボリュームをアタッチする
–  監視しておいて、ダウンを検知したら⽴立立ち上げ直す
旧EC2
インスタンス
Elastic IPまたは
ENIの付け替え
新EC2
インスタンス
EBSボリュームの
付け替え
ファイルサーバのバックアップ⽤用に
EBSスナップショットを活⽤用する
•  最後にスナップショットを作成された時点から、ボリューム上で変更更
のあるブロック(差分)のみが新しいスナップショットに保存される。
•  差分ベースで保存されるものの、最新のスナップショットのみ保持し
ていれば、最新のボリュームを復復元可能
–  古い世代のスナップショットを削除しても、最新のボリュームを復復元可能
1⽇日⽬目の
スナップショット
2⽇日⽬目の
スナップショット
増分バックアップ
3⽇日⽬目の
スナップショット(最新)
増分バックアップ
1⽇日⽬目のスナップショットを削除した場合でも、最新
のスナップショットからボリュームを復復元可能
リストア
EBSボリューム
EBSスナップショットを実⾏行行するときの注意事項
•  スナップショットはボリュームがアタッチされ、稼働中の状態
でも実⾏行行可能
•  ただし、EBSボリュームに書き込まれたデータのみ捕捉
–  OSによって、ローカルにキャッシュされたデータは含まれない可能性あり
•  安定したスナップショットを取得するには、以下の⼿手順を推奨
1.  EBSボリュームのアンマウント → デタッチ EBSスナップショット⽤用コマンドを実⾏行行してか
ら、そのレスポンスが返ってくるまでの間の
2.  EBSスナップショットコマンド実⾏行行
み静⽌止点を確保すればよい。
3.  EBSボリュームのアタッチ → マウント
•  ルートデバイス⽤用のEBSボリュームは、⼀一旦シャットダウン(停
⽌止)してから、スナップショット実⾏行行を推奨
アジェンダ
•  Introduction
•  AWSの関連サービスのご紹介
•  AWS上でのファイルサーバ活⽤用パターン
•  Amazon S3を活⽤用して静的コンテンツを配信するパターン
•  Amazon EC2でNFSサーバを構築するパターン
•  AWS Storage Gatewayを使ってNFSサーバを構築するパターン
•  お⾒見見積り例例
•  まとめ
AWS Storage Gatewayを使うメリット
•  お客様側でバックアップの実装不不要
•  ⾃自動的に⾮非同期でS3にバックアップを保存
–  バックアップのためのサービス停⽌止は不不要
•  Gateway-‐‑‒Cached Volumeを使えば、頻繁にアクセスさ
れるデータのみGatewayホストに保持可能
•  Cached Volumeは1個最⼤大32TiBまで。
•  Gatewayホストあたり合計Cached Volumeは最⼤大
150TiBまで
AWS Storage Gateway Cached Volumeの
活⽤用イメージ(AWS上で活⽤用する場合)
AWS Storage Gateway
(Gateway-‐‑‒Cached Volumes)
NFS
サーバ
NFS
サーバ
Amazon S3
データ転送
EBS
EBS
Cache Storage
Upload Buffer
(ローカルキャッシュ⽤用)
(転送⼀一時格納⽤用)
データアクセス
Volume Storage
⼤大容量量ストレージ
AWS Storage Gateway Cached Volumesのご利利⽤用
の流流れ
Step 1: Storage Gateway AMIの起動
Step 2: Gateway⽤用のEC2インスタンスに
Upload Buffer/Cache Storage⽤用のEBSボ
リュームをアタッチして、Public IPを登録
する
Step 3: Gatewayをアクティベートする
Step 4: Cache Storage/Upload Buffer⽤用
のボリュームを指定する
Step 5: アラームの設定
Step 6: S3上にボリュームを作成する
Step 7: 作成したボリュームのiSCSI
ターゲットを確認して、iSCSI接続する
AWS Storage Gatewayの画⾯面に移動
Step 1: Storage Gateway AMIを選択する
AWS MarketplaceでAWS Storage Gateway⽤用の
AMIを選択して起動する
Step 2: AWS Storage Gateway⽤用のEC2インスタン
ス起動後にEBSをアタッチして、Public IPを登録する
EC2
EBS
Volume
Upload Buffer⽤用
EBSボリューム
EBS
Volume
Cache Storage⽤用
EBSボリューム
Gateway⽤用のEC2インス
タンスのPublic IPを登録
Step 3: Gatewayの名前とタイムゾーンを設定して、
アクティベートする
アクティベートされたGatewayの情報を確認する
Step 4: Create Volumesを選択して Cache Storage/Upload Buffer⽤用のボリュームを指定する
Step 5: Upload Bufferの利利⽤用率率率が閾値を越えたら、
アラームを⾶飛ばす設定
同様にCache Storageの利利⽤用
率率率も閾値を越えたらメール通
知を⾶飛ばす設定を⾏行行う。
Step 6: Amazon S3に保持されるストレージ領領域を指
定して、Create Volumeを選択する
1ボリュームあたり最⼤大32TB
Step 7: AWS Storage Gatewayのストレージボ
リューム作成後にiSCSIターゲットを確認する
AWS Storage Gatewayのストレージボリュームへの
iSCSI接続⽅方法
•  Windowsクライアントからの接続⽅方法
–  http://docs.aws.amazon.com/ja_̲jp/storagegateway/latest/userguide/
ConfiguringiSCSIClientInitiatorWindowsClient.html
•  Red Hatクライアントからの接続⽅方法
–  http://docs.aws.amazon.com/ja_̲jp/storagegateway/latest/userguide/
ConfiguringiSCSIClientInitiatorRedHatClient.html
AWS Storage Gatewayのストレージボリュームに格
納されるデータについて
•  サーバーサイド暗号化(SSE)により暗号化された状態
でAmazon S3に保存
•  保存されたデータには、Amazon S3 APIやAmazon S3
コンソールからはアクセス不不可
AWS Storage Gatewayについての詳細
•  AWS Black Belt Tech Webinar 2014
AWS Storage Gateway
–  http://adsj-‐‑‒contents.s3.amazonaws.com/meister-‐‑‒blackbelt/
20140820_̲AWS-‐‑‒BlackBelt-‐‑‒StorageGateway.pdf
アジェンダ
•  Introduction
•  AWSの関連サービスのご紹介
•  AWS上でのファイルサーバ活⽤用パターン
•  Amazon S3を活⽤用して静的コンテンツを配信するパターン
•  Amazon EC2でNFSサーバを構築するパターン
•  AWS Storage Gatewayを使ってNFSサーバを構築するパターン
•  お⾒見見積り例例
•  まとめ
お⾒見見積り例例:Amazon S3活⽤用パターンの例例
S3
バケット
ご利利⽤用項⽬目
ご利利⽤用量量
1カ⽉月あたりの料料⾦金金
S3に格納されるデータの合計サイズ
500GB
$16.5
S3からのダウンロード転送量量
100GB
$14
PUT/COPY/POST/LISTリクエスト
数
5,000
$0.03
GETおよびその他のリクエスト数
10,000
$0.01
合計
$30.54
※2014年年12⽉月9⽇日時点
お⾒見見積り例例:NFSサーバをAmazon EC2で構築するパ
ターンの例例
EC2
EBS
Volume
バックアップ
EBS
Snapshot
ご利利⽤用項⽬目
ご利利⽤用量量
1カ⽉月あたりの料料
⾦金金
EC2インスタンス
(m3.large)
1台720時
間
$44.66
EBSボリューム
500GB
$60
EBSスナップショット
500GB
$47.5
データ転送量量
100GB
$14
合計
$166.16
(リザーブドインスタ
ンスにより値引きされ
た価格)
※2014年年12⽉月9⽇日時点
※m3.largeのリザーブドインスタンス⽤用の初期費⽤用$487を
含まない
お⾒見見積り例例:AWS Storage Gateway Cached Volumes
を活⽤用するパターンの例例(EC2で構築する場合)
AWS Storage Gateway
(Gateway-‐‑‒Cached Volumes)
EC2
EBS
Cache Storage
EBS
Upload Buffer
Amazon S3
Volume Storage
ご利利⽤用項⽬目
ご利利⽤用量量
1カ⽉月あたりの料料⾦金金
EC2インスタンス
(m3.large)
1台720時間
$44.66
(リザーブドインスタン
スにより値引きされた価
格)
EBSボリューム(Cache Storage⽤用)
250GB
$30
EBSボリューム(Upload Buffer⽤用)
50GB
$6
Storage Gatewayアプライアンス利利⽤用/⽉月
1台
$119
ボリュームストレージ(S3内)
500GB
$16.15
スナップショットストレージ
500GB
$47.5
データ転送量量
100GB
$14
合計
$277.25
※2014年年12⽉月9⽇日時点
※m3.largeのリザーブドインスタンス⽤用の初期費⽤用$487を
含まない
AWSクラウド対応サードパーティソリューション
ストレージ・NAS
レプリケーション
Red Hat Storage
CloudNAS
ClusterPRO
StorSimple
NetApp Private Storage for AWS
ArcServe Replication
Storage Box
QNAP
DR Box Cloud Back
セキュアSAMBA
DataKeeper / LifeKeeper
CloudDR vFLEX
•  AWSクラウド対応製品⼀一覧 (2014 年年9⽉月26⽇日時点)
–  http://media.amazonwebservices.com/jp/
AWS_̲Correspondence_̲list_̲for_̲JP_̲Applications_̲20140926.pdf
アジェンダ
•  Introduction
•  AWSの関連サービスのご紹介
•  AWS上でのファイルサーバ活⽤用パターン
•  Amazon S3を活⽤用して静的コンテンツを配信するパターン
•  Amazon EC2でNFSサーバを構築するパターン
•  AWS Storage Gatewayを使ってNFSサーバを構築するパターン
•  事例例紹介
•  まとめ
まとめ
•  オンプレミス同様にAWS上でもNFSサーバなどのファイルサーバの
構築が可能
•  ⼀一⽅方で、スケーラブルなシステムにおいてはNFSサーバはボトル
ネックになる可能性がある
•  Amazon S3であれば耐久性が⾼高く、セキュアで、⾼高負荷に耐えら
れる設計のため、静的コンテンツ格納先はAmazon S3を活⽤用する
形が推奨
•  AWS Storage Gateway Cached Volumeを使えば、頻繁にアクセ
スするデータをGatewayホスト上でキャッシュし、⾃自動でS3にあ
るボリュームに⾮非同期転送が可能
Q&A
参照リンク
• 
AWSアカウント作成の流流れ
http://aws.amazon.com/jp/register-‐‑‒flow/
• 
Using Amazon Web Services for Disaster Recovery
https://media.amazonwebservices.com/AWS_̲Disaster_̲Recovery.pdf
• 
AWSアカウント作成やEC2インスタンス起動⽅方法についての動画
(⽇日本語字幕付き)
http://aws.amazon.com/jp/getting-‐‑‒started/
• 
AWSクラウド活⽤用資料料集
http://aws.amazon.com/jp/aws-‐‑‒jp-‐‑‒introduction/
• 
国内のお客様のAWS活⽤用事例例
http://aws.amazon.com/jp/solutions/case-‐‑‒studies-‐‑‒jp/
AWSをより深く理理解したい⽅方向けに
クラスルームトレーニングを提供しています。
詳細: aws.amazon.com/training
認定資格試験
AWSの導⼊入、お問い合わせのご相談
•  AWSクラウド導⼊入に関するご質問、お⾒見見積り、資料料請
求をご希望のお客様は、以下のリンクよりお気軽にご相
談ください。
https://aws.amazon.com/jp/contact-‐‑‒us/aws-‐‑‒sales/