初心者向けwebinar aws上でのファイルサーバ構築
DESCRIPTION
初心者向けWebinar AWS上でのファイルサーバ構築TRANSCRIPT
【初心者向けWebinar】AWS上でのファイルサーバ構築
2014/12/09※2015/11/12 アップデート
アマゾン データ サービス ジャパン株式会社技術本部 ソリューションアーキテクト舟崎健治
初心者向けWebinar へようこそ!
• 参加者は、自動的にミュートになっています
• 質問を投げることができます!– GoToWebinarの仕組みを使って、書き込んでください
– ただし環境によっては、日本語の直接入力ができないので、お手数ですが、テキストエディタ等に打ち込んでから、コピペしてください
– 最後のQ&Aの時間で、できるだけ回答させて頂きます
– 書き込んだ質問は、主催者にしか見えません
• Twitterのハッシュタグは#jawsugでどうぞ
初心者向けWebinarのご紹介
• 2014年10月より毎月開催しています。
• 過去のWebinar資料– AWSクラウドサービス活用資料集ページで公開しています。
http://aws.amazon.com/jp/aws-jp-introduction/
• イベントの告知– 国内のイベント・セミナースケジュールページにてご案内しています。
http://aws.amazon.com/jp/about-aws/events/
(オンラインセミナー枠)
アジェンダ
• Introduction
• AWSの関連サービスのご紹介
• AWS上でのファイルサーバ活用パターン
• Amazon S3を活用して静的コンテンツを配信するパターン
• Amazon EC2でNFSサーバを構築するパターン
• お見積り例
• まとめ
アジェンダ
• Introduction
• AWSの関連サービスのご紹介
• AWS上でのファイルサーバ活用パターン
• Amazon S3を活用して静的コンテンツを配信するパターン
• Amazon EC2でNFSサーバを構築するパターン
• お見積り例
• まとめ
本Webinarでのファイルサーバの定義について
• 主に静的コンテンツを格納するサーバ、またはサービス
• NFS(CIFS)マウントする方法以外にも、オブジェクト単位でHTTP(S)で配信する方法も含む
オンプレミスでファイルサーバを構築するときの悩み
• ディスク容量の不足
• バックアップ等のメンテナンスの手間がかかる
• 保守期限満了に伴うハードウェアのリプレイスの検討
なぜAWS上でファイルサーバを構築するのか?
• 保存した分だけの従量課金
• 必要に応じてディスク拡張が可能– ディスク容量圧迫の心配からの解放
• セキュア
• サーバーハードウェアのメンテナンス不要
• データの耐久性の向上
• データを保存するだけでなく、データ分析等の用途で活用しやすい
要件に応じて、AWS上でのいくつかの構成パターンが考えられます。それぞれのメリット・デメリットについて本Webinarでお伝えします。
アジェンダ
• Introduction
• AWSの関連サービスのご紹介
• AWS上でのファイルサーバ活用パターン
• Amazon S3を活用して静的コンテンツを配信するパターン
• Amazon EC2でNFSサーバを構築するパターン
• お見積り例
• まとめ
Amazon EC2(Elastic Compute Cloud)
1任意のゾーンに分散配置可能
リージョンアベイラビリティ
ゾーン A
EC2
アベイラビリティゾーン B
EC2
EC2
• 数分で起動可能な仮想サーバ
• 1時間ごとの従量課金で利用可能
• スケールアップ/ダウン、アウト/インが即座に可能
• Windows, Linuxなどx86-64アーキテクチャのOS利用可能
– Windowsライセンスも従量課金
• OS以上はお客様の自由
– お手持ちのソフトをそのまま利用
Amazon EBS(Elastic Block Store)ボリューム
EC2インスタンスに仮想外付けされたブロックレベルのストレージ
サイズは1GB単位で~16TBまでサイズ/期間/IOで課金される
複数EBSを1 EC2インスタンスにアタッチ可能
1つのEBSを同時に複数のEC2インスタンスにattach不可
データは永続的に保存される
アベイラビリティゾーン(AZ) に存在
他のEC2インスタンスに付け替え可能
Region
Availability Zone - a
EBS EBS EBS
Availability Zone - b
EBS
EBS
Amazon Simple
Storage Service (S3)
EBS
Snapshot
EC2 EC2
Amazon EBS スナップショット
Amazon S3に保存された EBSボリュームのポイントインタイムバックアップコピー
EBSスナップショットは増分バックアップ(最後に作成されてから、変更のあるブロックのみ保存される)
EBSスナップショットからEBSボリュームを同じリージョン内で作成可能
リージョン間でコピー可能
Region
Availability Zone - a
EBS EBS EBS
Availability Zone - b
EBS
EBS
Amazon Simple
Storage Service (S3)
EBS
Snapshot
EC2 EC2
Amazon S3(Simple Storage Service)
低コスト アップロード無料
格納料金 1GB/月3.3円 (100円換算、2014/11/04時点)
耐久性 99.999999999%の耐久性
3か所以上への自動複製保存
インテグリティチェックおよび自動復旧
データを自動複製
リージョン
EC2
Availability Zone
セキュリティ
データ転送はすべてSSL通信
同一リージョン内のみでの保管
サーバサイド暗号化オプション(AES256)
柔軟性
格納容量無制限
多くの3rdベンダー製品がサポート
Amazon CloudFront
• ユーザからのアクセスを、最も近いエッジサーバに誘導することで、ユーザへの配信を高速化
• エッジサーバでは、コンテンツのキャッシングを行い、オリジンに負荷をかけず効率的に配信
レスポンス向上 負荷軽減
キャッシュコンテンツ
4.エッジにコンテンツを送信
1.最適なエッジにリクエスト
3.エッジにキャッシュがなければオリジンにリクエスト
2.キャッシュを配信5.取得したコンテンツを配信しキャッシュ
AmazonCloudFront
(Edge Location)
オリジン配信サーバ
クライアント
Amazon VPC(Virtual Private Cloud)
• クラウド内にプライベートネットワークを構築可能
• 企業イントラの延長/1拠点としてAWSを利用
リージョン
VPC
イントラプライベートサブネット
パブリックサブネット
インターネット
分離したNW領域を作成
ゲートウェイ
VPN接続専用線
Elastic Network Interface(ENI)
• VPC上で実現する仮想ネットワークインタフェースを複数持てる機能
• 以下をENIに紐づけて維持可能– Private IP
– Elastic IP
– MACアドレス
– セキュリティグループ
• インスタンスタイプによって割り当て可能な数が異なる。
• 他のインスタンスに付け替え可能
EC2ENI
ENI
Amazon Route 53
• 拡張性と可用性に優れたDNS権威サービス
• ヘルスチェック機能を持つ
Users DNS Resolver
Route 53
www.example.comはどこ?
知らないので権威サーバに尋ねます
1.2.3.4 1.2.3.4
53
AWS SDK/CLI
EC2起動、停止
S3アップロードダウンロード
ManagementConsole (Web)
ユーザ名・パスワード
AWS管理者・オペレータ
各言語ごとのSDK アクセスキー・
シークレットキー
AWS CLI
>
REST API
Route 53登録、変更、削除
Amazon WorkDocs
• フルマネージド型の企業向け文書保存・共有サービス– マルチデバイス対応
– ファイルの共有が可能
– ファイルに対するフィードバックの共有が可能
– サーバの構築不要
共有されたドキュメントにはここからアクセス
ドラッグアンドドロップでファイルのアップロードが可能
アジェンダ
• Introduction
• AWSの関連サービスのご紹介
• AWS上でのファイルサーバ活用パターン
• Amazon S3を活用して静的コンテンツを配信するパターン
• Amazon EC2でNFSサーバを構築するパターン
• お見積り例
• まとめ
AWS上でのファイルサーバ活用パターン
• Amazon S3を静的コンテンツ格納ストレージとして活用– ※Amazon S3をマウントする形ではありません。(後述)
• NFSサーバをEC2インスタンス上で構築
Amazon S3 Amazon EC2
なぜオンプレミスではNFSサーバを多く活用していたかについて考える
• コンテンツを集中管理可能
• リモートからマウントするだけ
• RAIDでミラーリングすることで、データ喪失を防ぐ– ディスク単位でミラーリング
– NFSサーバ自体の冗長化は必要に応じて実施
AWS上でも勿論NFSサーバを構築可能です。オンプレミスで構築していたNFSベースのシステムをそのままAWS上で稼働させることが出来るパターンが多いので、NFSサーバをAWS上に構築されるケースは多くあります。
一方でNFSサーバを活用するときには、気を付けなければいけない点もあります。
NFSサーバのデメリット
• スケーラブルなシステムにおいては、NFSサーバがボトルネックになりやすい。
• NFSサーバ自体を冗長化しないと、SPOFになってしまう。
NFSサーバ
Web Web Web WebWeb Web Web Web
NFSサーバ
レプリケーション
・・・・・・・
AWS上での最適な静的コンテンツファイル格納先について
• 要件に応じて、選択されるストレージは異なる
• ですが、Amazon S3を活用できるのであれば、Amazon S3を使う形を推奨
Amazon S3
アジェンダ
• Introduction
• AWSの関連サービスのご紹介
• AWS上でのファイルサーバ活用パターン
• Amazon S3を活用して静的コンテンツを配信するパターン
• Amazon EC2で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にファイルをアップロード
• S3からファイルをダウンロード
※事前にAWS CLI実行に必要な認証情報を設定する必要あり
aws s3 cp ./test.txt s3://BucketName/
aws s3 cp s3://BucketName/test.txt ./
大きなサイズのファイルをS3に転送するには
• S3マルチパートアップロードを活用する– 単一のファイルを、複数のパーツに自動分割して、マルチスレッドで並列アップロード
– HTTPSで暗号化された形でセキュアに転送される
• AWS CLIを使えば、ファイルサイズが大きい場合は自動で分割、マルチパートアップロード・ダウンロードされる
ファイル
パーツ1
パーツ2
パーツN
S3
AWS CLIまたはAWS SDK
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.jpgWebサイトホスティングのリンクへの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でアクセスする。
jpg
Users
https://image.example.com/photo.jpg
(DNSに登録する必要あり)
http://examplebucket.s3-ap-northeast-
1.amazonaws.com/photo.jpg
S3上で動的コンテンツ生成用のサーバ側スクリプトを実行可能か?
• S3上ではPHP, JSP, ASP.NET等のサーバ側スクリプトは実行不可
• 画像や静的なHTML、JavaScriptは、クライアントのWebブラウザ側で実行・表示させるので、S3配信に利用可能
S3をマウント可能か?
• S3はHTTP(S)でアクセス可能なインターネットストレージ– NFSやCIFSでマウントはできない。
• 擬似的にマウントさせるように見せるサードパーティのツールもあるが、実際はHTTP(S)ベースのアクセスのため、S3上の1つのファイルに同時書き込みするときに排他処理が出来ないため要注意
既存のNFSマウントベースのアプリケーションをS3から直接ユーザに配信する形に変更するには?
• 変更前 • 変更後
Users
Webサーバ
<img src=“/img/product.jpg” /> <img src=“http://static.example.com/img/product.jpg” />
NFSサーバ
Webサーバ
jpg
jpg
S3
http://example.com/index.php http://example.com/index.php
動的コンテンツ用
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=9Vvu49EtywfHkvPWgcuI%2FabdUAc%3D
• 利用例– Webアプリ側でログイン認証済みのユーザのみに署名付きURLを渡し、S3上のコンテンツを配信する
②署名付きURL生成リクエスト(S3のAPIを実行)
③署名付きURLを返す④署名付きURLを渡す
⑤署名付きURLを使ってファイルをダウンロード
①WebサイトへアクセスWeb
S3を使う構成への変更がすぐに難しい場合は、最初はNFSサーバをマウントする形で構築して、後々S3を活用するパターンに変更されるケースもあります。
アジェンダ
• Introduction
• AWSの関連サービスのご紹介
• AWS上でのファイルサーバ活用パターン
• Amazon S3を活用して静的コンテンツを配信するパターン
• Amazon EC2でNFSサーバを構築するパターン
• お見積り例
• まとめ
AWS上でNFSサーバを構築するには?
• EC2インスタンス(=仮想サーバ)を起動
LinuxベースのAMI
WindowsベースのAMI
または
AMIを選択して起動
EBSVolume
NFSサーバ(EC2)
AMIとは(Amazon Machine Image)オペレーティングシステムのマシンイメージ
EC2インスタンス(=仮想サーバ)の起動手順
• EC2インスタンス起動の動画http://aws.amazon.com/jp/getting-started/
Step 1: AMI(Amazon Machine Image)の選択
Step 2: インスタンスタイプの選択
Step 3: 起動台数、ネットワークの選択
Step 4: ストレージの選択(重要)
Step 5: インスタンスへのタグ付け
Step 6: セキュリティグループの設定
Step 7: 起動設定の確認
Step 8: 使用するキーペアを作成または選択して起動
セキュリティグループとは
• インスタンスへのトラフィックを制限するSemi-statefulなファイアーウォール機能
• デフォルトでは全トラフィックが閉じており、外からアクセスできない
• 必要な受信アクセスに対してアクセスルールを定義する• プロトコル( TCP/UDP)• 宛先ポート• アクセス元IP / Security Group
• 設定したルール以外の受信トラフィックは破棄される
• ルールをひとまとめにしたテンプレートを Security Groupと呼ぶ
ポート22(SSH)
ポート2049(TCP)
EC2ファイアウォール
Security Groupポート25(SMTP)
(例)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: セキュリティグループの設定
今回は新しいセキュリティグループを作成する
LinuxであればSSH(22番)WindowsであればRDP(3389番)、およびNFSマウント用のTCPポート2049番等を許可する
アクセス元の制限用にIPアドレスを指定可能だが、セキュリティグループIDを指定することで、そのセキュリティグループが割り当てられているEC2インスタンスがアクセス可能となる。
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を選択すると、起動ステータスを確認可能
インスタンスの起動確認およびインターネットから接続可能なPublic DNSを確認する Instance Stateがrunningになっ
ており、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でログインする
①Windowsインスタンスを選択→Actions→Get Windows Passwordを選択
②起動時に指定したキーペアに相当する秘密鍵ファイルをローカルから選択
③Decrypt Password実行
④Public IP、ユーザー名およびPasswordを取得。こちらを元にリモートデスクトップを実行
以下ログイン後のWindowsデスクトップ画面
EBSボリュームを使用できるようにする(Linuxの場合の例)
• 空のEBSボリュームをアタッチ後、以下を実行して、EBSボリュームのデバイス名を確認する
• EBSボリュームでmkfsを実行
• ディレクトリを作成して、マウントする
$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvdf 202:80 0 100G 0 disk xvda1 202:1 0 8G 0 disk /
$ 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~16TiB 4Gib~16TiB 1GiB~1TiB
IOPS
パフォーマンス
1,000 GiB 未満のボリュームで 3,000 IOPS にバーストできる 3 IOPS/GiB(最大 10,000
IOPS)のベースラインパフォーマンス
最大20,000 IOPS 平均100 IOPS, 数百IOPSまでバースト可能
ユースケース システムブートボリューム、中小規模のデータベース、開発・テスト環境
持続的な IOPS パフォーマンス、またはボリュームあたり 10,000 IOPS または 160
MiB/秒以上のスループットを必要とする重要なビジネスアプリケーション、
MongoDB、 Microsoft SQL Server、MySQL、PostgreSQL 、Oracleなど
頻繁にアクセスしないデータ領域、低いストレージコストが重視される場合
※IOPSとは、ディスクが1秒あたりに処理できるI/Oアクセス数EBSでは、256KB以下のI/O操作を1 IOPSとみなす。1024KBのI/O操作は4 IOPSとなる。
EBSボリュームサイズを拡張する方法
EBSVolume
EC2
EBSVolume
①EBSスナップショット作成
②スナップショットをベースに、サイズの大きな新規EBSボリュームを作成する
③EC2インスタンスにattachする(必要に応じて古いボリュームをdetachする)
EBSボリューム1個あたり最大16TBまで。
④OS側でファイルシステムのサイズを拡張(Linuxの場合はresize2fsなど)
EBSボリューム単体の最大容量で足りない場合は、複数のEBSボリュームをアタッチする
EBSVolume
EC2
EBSVolume
EBSVolume
・・・
Linux上でのマウント先のディレクトリの例
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/User
Guide/raid-config.html
EBSVolume
EC2
EBSVolume
EBSVolume
・・・
RAID 0アレイ
EC2インスタンスへのファイルアップロード方法
• 標準的な方法– scp / sftp / rsync / ftp など
• 高速転送ソリューション– TsunamiUDP
– Aspera
– Skeed
– Riverbed
• S3へファイル転送して、S3からEC2インスタンス側にダウンロード– AWS CLIを使って、ローカルとS3間のファイルコピー
• S3のマルチパートアップロード、マルチパートダウンロード機能を使えば、大きなサイズのファイルを分割して、それらをマルチスレッドで高速転送が可能
• 参考:AWS Direct Connect– 1Gbps/10GbpsでAWSへ専用線接続
ファイル数が多い場合は、zipで圧縮してS3へアップロード後、S3からEC2にダウンロードして展開する、など。
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インスタンス
新EC2インスタンス
Elastic IPまたはENIの付け替え
EBSボリュームの付け替え
ファイルサーバのバックアップ用にEBSスナップショットを活用する• 最後にスナップショットを作成された時点から、ボリューム上で変更
のあるブロック(差分)のみが新しいスナップショットに保存される。
• 差分ベースで保存されるものの、最新のスナップショットのみ保持していれば、最新のボリュームを復元可能– 古い世代のスナップショットを削除しても、最新のボリュームを復元可能
1日目のスナップショット
2日目のスナップショット
3日目のスナップショット(最新)
増分バックアップ 増分バックアップ
1日目のスナップショットを削除した場合でも、最新のスナップショットからボリュームを復元可能
EBSボリューム
リストア
EBSスナップショットを実行するときの注意事項
• スナップショットはボリュームがアタッチされ、稼働中の状態でも実行可能
• ただし、EBSボリュームに書き込まれたデータのみ捕捉– OSによって、ローカルにキャッシュされたデータは含まれない可能性あり
• 安定したスナップショットを取得するには、以下の手順を推奨1. EBSボリュームのアンマウント → デタッチ2. EBSスナップショットコマンド実行3. EBSボリュームのアタッチ → マウント
• ルートデバイス用のEBSボリュームは、一旦シャットダウン(停止)してから、スナップショット実行を推奨
EBSスナップショット用コマンドを実行してから、そのレスポンスが返ってくるまでの間のみ静止点を確保すればよい。
アジェンダ
• Introduction
• AWSの関連サービスのご紹介
• AWS上でのファイルサーバ活用パターン
• Amazon S3を活用して静的コンテンツを配信するパターン
• Amazon EC2でNFSサーバを構築するパターン
• お見積り例
• まとめ
お見積り例:Amazon S3活用パターンの例
ご利用項目 ご利用量 1カ月あたりの料金
S3に格納されるデータの合計サイズ 500GB $16.5
S3からのダウンロード転送量 100GB $14
PUT/COPY/POST/LISTリクエスト数
5,000 $0.03
GETおよびその他のリクエスト数 10,000 $0.01
合計 $30.54
S3バケット
※2014年12月9日時点
お見積り例:NFSサーバをAmazon EC2で構築するパターンの例
ご利用項目 ご利用量 1カ月あたりの料金
EC2インスタンス(m3.large)
1台720時間
$44.66(リザーブドインスタンスにより値引きされた価格)
EBSボリューム 500GB $60
EBSスナップショット 500GB $47.5
データ転送量 100GB $14
合計 $166.16
EBSVolume
EC2
EBSSnapshot
バックアップ
※2014年12月9日時点※m3.largeのリザーブドインスタンス用の初期費用$487を含まない
AWSクラウド対応サードパーティソリューション
• AWSクラウド対応製品一覧 (2014 年9月26日時点)– http://media.amazonwebservices.com/jp/AWS_Correspondence_list_for
_JP_Applications_20140926.pdf
レプリケーション
ClusterPRO
ArcServe Replication
DataKeeper / LifeKeeper
ストレージ・NAS
Red Hat Storage CloudNAS
StorSimple NetApp Private Storage for AWS
Storage Box QNAP
DR Box Cloud Back セキュアSAMBA
CloudDR vFLEX
アジェンダ
• Introduction
• AWSの関連サービスのご紹介
• AWS上でのファイルサーバ活用パターン
• Amazon S3を活用して静的コンテンツを配信するパターン
• Amazon EC2でNFSサーバを構築するパターン
• 事例紹介
• まとめ
まとめ
• オンプレミス同様にAWS上でもNFSサーバなどのファイルサーバの構築が可能
• 一方で、スケーラブルなシステムにおいてはNFSサーバはボトルネックになる可能性がある
• Amazon S3であれば耐久性が高く、セキュアで、高負荷に耐えられる設計のため、静的コンテンツ格納先はAmazon S3を活用する形が推奨
Q&A
参照リンク
• AWSアカウント作成の流れhttp://aws.amazon.com/jp/register-flow/
• Using Amazon Web Services for Disaster Recoveryhttps://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 Black Belt Tech Webinar 2014
• 今後の配信予定
– 12/10(水) AWS CloudTrail & CloudWatch Logs
– 12/17(水) Amazon CloudFront
• 申し込みサイト
– http://aws.amazon.com/jp/event_schedule/
AWSの導入、お問い合わせのご相談
• AWSクラウド導入に関するご質問、お見積り、資料請求をご希望のお客様は、以下のリンクよりお気軽にご相談ください。https://aws.amazon.com/jp/contact-us/aws-sales/