Power Unit Inc. | 想像力のない者に翼はない | Amazon S3
17356
page-template,page-template-full_width,page-template-full_width-php,page,page-id-17356,qode-quick-links-1.0,woocommerce-no-js,ajax_fade,page_not_loaded,,side_area_uncovered_from_content,columns-4,qode-theme-ver-16.7,qode-theme-bridge,wpb-js-composer js-comp-ver-5.5.2,vc_responsive
 

Amazon S3

Amazon Simple Storage Service (Amazon S3)

シンプルで耐久性があり、きわめてスケーラブルなオブジェクトストレージ

Amazon S3 のメリット

Amazon S3 の大きな特徴は以下のようになります。

  • 拡張性 … 毎日、数兆個ものオブジェクトを保護するため、世界中のお客様が Amazon S3 を利用しています。コストは必要に応じて拡大および縮小し、グローバルなデプロイも数分で実行できます。金融サービス、ヘルスケア、メディアおよびエンターテインメントといった産業では、ビッグデータ、分析、コード変換、およびアプリケーションアーカイブの構築に利用されています。
  • 耐久性 … Amazon S3 は世界中のリージョンで使用でき、リージョン間でレプリケーションすることによる地理的冗長性も選択できます。さらに、ポイントインタイムリカバリのためにオブジェクトの複数のバージョンを保持できます。
  • ライフサイクル管理ポリシー … オブジェクトは、カスタマイズできる自動ルールを使用してストレージクラス間で移行できます。これにより、管理を減らしてコストを低減できます。
  • AWS の他のサービスとの幅広い統合 … セキュリティ (IAM および KMS)、アラート (CloudWatch、CloudTrail およびイベント通知)、コンピューティング (Lambda)、およびデータベース (EMR、Redshift) といったサービスが、Amazon S3 と直接統合するよう設計されています。

Amazon S3 のメリットは以下のようになります。

耐久性

Amazon S3 は、ミッションクリティカルで重要なデータストレージのために設計された、極めて堅牢なストレージインフラストラクチャです。

Amazon S3 では、データが複数の施設および施設内の複数のデバイスに冗長的に保管されます。耐久性を高めるため、Amazon S3 は、データが正常に保存されたことを確認する前に、データを複数の施設に同期的に保存します。さらに Amazon S3 は、ネットワークの全トラフィックに対してチェックサムを計算し、データの保存または取得時のデータパケットの損傷を検出します。

従来型のシステムでは、データの検証と修復にかなりの人的作業が必要になることもありますが、Amazon S3 では、体系的なデータ完全性チェックが定期的に実施されるほか、自己修復を自動的に行うように設計されています。

低コスト

Amazon S3 を使用すると、非常に低いコストで大量のデータを保存できます。データが古くなり、さらにコストを削減したい場合、ライフサイクル管理を使用して、データを自動的に、Amazon S3 Standard、Amazon S3 Standard Infrequent Access (Standard – IA) および Amazon Glacier へ移行するポリシーを設定できます。お支払いは必要な分だけ。最低料金や前払い料金はありません。

可用性

Amazon S3 Standard は、1 年でオブジェクトの可用性が最大 99.99% になるように設計されており、必要とされるときに Amazon S3 Standard を信頼できることを保証するため、Amazon S3 サービスレベルアグリーメント (SLA) で裏づけされています。また、レイテンシーを最適化し、コストを最小限に抑え、規制要件に対応した AWS リージョンを選択することもできます。

安全性

Amazon S3 は、SSL でのデータ転送と、アップロード後のデータの自動暗号化をサポートします。また、バケットポリシーを構成して、オブジェクトの権限を管理し、AWS Identity and Access Management(IAM)を使用したデータへのアクセスを制御できます。詳細については後述します。

拡張性

Amazon S3 では、必要な量のデータを保存し、必要なときにアクセスできます。自動的にスケーリングするので、将来のストレージニーズを予測したり、必要に応じて拡大/縮小しなてくもよいため、ビジネスの俊敏性が劇的に向上します。

イベント通知の送信

Amazon S3 のイベント通知は、Amazon S3 でオブジェクトがアップロードまたは保存されたときのアクションに対する応答で送信できます。通知メッセージは Amazon SNS または Amazon SQS で送信でき、AWS Lambda に直接配信して AWS Lambda 機能を呼び出すこともできます。

Amazon S3 イベント通知を使用すると、Amazon S3 に保存されているオブジェクトの変更に応答して、ワークフローの実行、アラートの送出、その他のアクションの実行が行えます。

例えば、Amazon S3 のイベント通知を使用して、メディアファイルがアップロードされたときのエンコードを変換したり、データファイルが利用可能になったときにデータ処理したり、Amazon S3 オブジェクトのその他のデータストアへの同期といったアクションの実行をトリガーできます。

オブジェクト名のプレフィックスおよびサフィックスに基づいてイベント通知を設定することも可能です。例えば、”images/” で始まるオブジェクト名の時に通知を受け取るよう選択できます。Amazon S3 オブジェクトのセカンダリインデックスの同期維持に使用する場合もあります。

高性能

Amazon S3 は、ネットワークのスループットと回復性を最大化するのに役立つマルチパートアップロードをサポートし、エンドユーザーに近い AWS リージョンを選択してデータを保存することでネットワークレイテンシー(遅延)を最小にできます。また、Amazon S3 は、レイテンシーが短く、データ転送速度が速く、最低使用料のないエンドユーザー向けのコンテンツ配信ウェブサービスである Amazon CloudFront と統合されます。

ネットワークアクセラレーションの埋め込み

Amazon S3 には、クラウドとの大量のデータ転送を可能にする方法がいくつかあります。最も簡単なのが Amazon S3 Transfer Acceleration です。革新的ソフトウェア、プロトコルの最適化、AWS エッジインフラストラクチャを組み合わせて、既存インフラストラクチャに比べ、データ送信速度を何倍も向上しました。

S3 コンソールで機能を有効にし、アプリケーション側の S3 バケットエンドポイント名を変更するだけで、Amazon S3 のアップロード/ダウンロード処理が高速になります。プロトコルを調整し、ファイアウォール設定を変更し、アクセラレーターを購入する必要はありません。詳細については後述します。

統合

Amazon S3 はその他の AWS のサービスと統合されているため、Amazon S3 のデータを簡単にアップロード/ダウンロードでき、さまざまな AWS のサービスを使用するソリューションの構築が容易になります。

Amazon S3 の統合には、Amazon CloudFront、Amazon CloudWatch、Amazon Kinesis、Amazon RDS、Amazon Glacier、Amazon EBS、Amazon DynamoDB、Amazon Redshift、Amazon Route 53、Amazon EMR、Amazon VPC、Amazon KMS、および AWS Lambda などが含まれます。

使いやすさ

Amazon S3 は、ウェブベースの管理コンソール、モバイルアプリケーション、完全な REST API や SDK と合わせて使用でき、サードパーティ製のテクノロジーと統合するのも簡単です。

Amazon S3 でデータを保護する(安全性)

Amazon S3 は、データを保護するために様々なオプションを提供しています。

Amazon S3 に格納されたデータはデフォルトで保護され、バケットとオブジェクトの所有者のみが、自分が作成した Amazon S3 のリソースにアクセスできます。Amazon S3 は、複数のアクセスコントロールメカニズムだけでなく、保存時の安全な転送と格納を行うための暗号化をサポートしています。

Amazon S3 のデータ保護機能により、意図しないユーザーアクション、アプリケーションエラー、インフラストラクチャ障害によるデータ損失に対して、論理的・物理的の両面の障害からデータを保護することができます。

柔軟なアクセス制御メカニズム

Amazon S3 は、お客様のデータに誰が、どのように、いつ、どこでアクセスすることができるかを柔軟にコントロールできるメカニズムをサポートしています。Amazon S3 は、3 種類のアクセスコントロールメカニズムを備えています。

  • AWS Identity and Access Management(IAM)ポリシー
  • アクセスコントロールリスト(ACL)バケットポリシー
  • クエリ文字列認証

IAM を使用すると、単一の AWS アカウントで複数のユーザーを作成し管理できます。IAM ポリシーにより、お客様は Amazon S3 バケットやオブジェクトに対して細かく分けられたコントロールを IAM ユーザーに付与することができます。

ACL を使用して、個々のオブジェクトに特定のアクセス許可を選択的に追加(付与)することができます。Amazon S3 バケットポリシーは、単一のバケット内のオブジェクトの一部または全体にわたってアクセス許可を追加または拒否するために使用できます。

クエリ文字列認証を使用すると、指定した期間に有効な URL を通して Amazon S3 のオブジェクトを共有できます。

VPC エンドポイント

Amazon Virtual Private Cloud (Amazon VPC) から、VPC エンドポイントを使用して Amazon S3 にアクセスできます。VPC エンドポイントは設定が簡単で、インターネットゲートウェイやネットワークアドレス変換 (NAT) インスタンスを設定せずに、Amazon S3 への信頼できる接続を提供します。

VPC エンドポイントを使用すれば、Amazon VPC と Amazon S3 との間のデータは Amazon のネットワーク内で転送されるようになり、お客様のインスタンスをインターネットトラフィックから守るのに役立ちます。

Amazon S3 用の Amazon VPC エンドポイントは、複数レベルのセキュリティコントロールを備え、S3 バケットへのアクセスの制限をサポートします。まず、Amazon S3 バケットへのリクエストが、VPC エンドポイントを使用した VPC からのものであることを要求できます。さらに、特定の VPC エンドポイントを通じたアクセスが許可されるバケット、リクエスト、ユーザー、またはグループを管理できます。

暗号化

HTTPS プロトコルを使用して SSL で暗号化されたエンドポイント経由で、Amazon S3 にデータを安全にアップロード/ダウンロードできます。Amazon S3 は、保存時のデータを自動で暗号化でき、複数のキー管理方法を提供します。また、Amazon S3 の暗号化クライアントなどのクライアント暗号化ライブラリを使用して、Amazon S3 にアップロードする前にデータを暗号化できます。

サーバー側暗号化(SSE)を使用して Amazon S3 が保存時のデータを暗号化するように選択した場合、Amazon S3 は書き込み時にデータを自動的に暗号化し、取得時に自動的にデータを復号します。Amazon S3 SSE は、保存時のデータを暗号化するとき、Advanced Encryption Standard(AES) 256 ビット対称キーを使用します。Amazon S3 でサーバー側暗号化を選択する場合、3 種類の暗号化キー管理方法があります。

  • SSE と Amazon S3 キー管理(SSE-S3)
  • SSE と顧客提供のキー(SSE-C)
  • SSE と AWS KMS(SSE-KMS)

監査ログ

Amazon S3 はまた、お客様の Amazon S3 リソースに対して行われたリクエストのロギングをサポートしています。それに対して行われたリクエストのアクセスログレコードを作成するように Amazon S3 バケットを設定することができます。これらのサーバーアクセスログは、バケットやその中のオブジェクトに対して行われたすべてのリクエストをキャプチャするので、監査目的に利用できます。

バージョニング

Amazon S3 はバージョニング機能でさらなる保護能力を提供します。バージョニングを使用して、Amazon S3 バケットに格納されたあらゆるオブジェクトのあらゆるバージョンを、格納、取得、復元することができます。

これによって、意図せぬユーザーアクションやアプリケーションの障害から、簡単に回復することができます。デフォルトでは、リクエストは最も新しく書き込まれたバージョンを取得するようになっています。リクエストでバージョンを指定することによって、オブジェクトの旧バージョンを取得することができます。ストレージ料金は、格納される各バージョンに対して適用されます。ライフサイクルルールを設定して、複数のバージョンのオブジェクトを保存する期間と料金を自動的に管理できます。

Multi-Factor Authentication Delete

Amazon S3 は、Multi-Factor Authentication(MFA)Delete で追加のセキュリティを提供します。この機能を有効にすると、オブジェクトの以前のバージョンを保護するため、Amazon S3 に保存されているオブジェクトを削除するには多要素認証デバイスの使用が必要になります。

オブジェクトへの期間限定アクセス

Amazon S3 はクエリ文字列認証をサポートしており、お客様が指定した期間だけ有効な URL を生成できます。この期間限定 URL は、ソフトウェアのダウンロードや、ユーザーがオブジェクトにアクセスできる期間を制限したい他のアプリケーションに便利です。

Amazon S3 でデータを管理する

Amazon S3 を使用すればデータの管理が容易になります。Amazon S3 のデータライフサイクル管理機能によって、自動的に古いオブジェクトをStandard – Infrequent Access(Standard – IA)に移行したり、オブジェクトを Amazon Glacier にアーカイブしたり、定期的な削除を実行したりして、オブジェクトの存続期間を通じてコストを節約することができるようになります。

また、Amazon S3 により、さまざまなビジネス機能のコストのモニタリングと制御が可能になります。

Amazon S3 では、コストとパフォーマンスの特性を自動的に割り当てて、データの進化と共にそれらを変更することができます。また、容量のプロビジョニング、低コスト階層への自動移行、法令遵守ポリシー、およびスケジュールされた最終削除を含め、データライフサイクル管理の共通タスクを自動化することもできます。

データのライフサイクル管理

Amazon S3 ではオンデマンドのスケーリングおよび使った容量のみの支払いの両方が可能なので、新しいデータを保存する際に容量計画の必要がなくなります。従来のストレージシステムでは、容量計画は誤りの発生しがちなプロセスと言えます。ストレージの増大が予測不可能な場合はなおさらです。プロビジョニングする容量が大きすぎると、利用率の低さとコスト上昇の原因となり、逆に小さすぎると、高額なハードウェアアップグレードが予定よりも早く必要になる可能性があります。

Amazon S3 では、データの保存日数経過に伴い、データを低コストストレージに自動的に移行することもできます。Amazon S3 オブジェクトをデータの期間に基づいて、Standard – Infrequent Access(Standard – IA)または Amazon Glacier へ自動的に移行するためのルールを定義できます。

データの保存期間が終了すると、Amazon S3 はデータを定期的に削除するか、大容量を一斉に削除するかを選択するオプションを提供します。定期的にデータを削除する場合、事前定義された期間後、オブジェクト一式を削除するようにルールを定義できます。これらのルールは、Standard またはStandard – IA に保存されているオブジェクトおよび Amazon Glacier にアーカイブされているオブジェクトに適用できます。

また、Amazon S3 オブジェクトのバージョンに応じたライフサイクルルールを定義して、ストレージコストを節約することもできます。例えば、オブジェクトの古いバージョンが不要になったときにそのバージョンを自動的 (かつ明確) に削除するルールを作成し、コストを削減し、パフォーマンスを向上させることができます。または、古いバージョンをStandard – IA または Amazon Glacier のいずれかに自動的に移行するルールを作成し、ストレージコストをさらに削減することもできます。

データの保存期間が終了すると、Amazon S3 はデータを定期的に削除するか、大容量を一斉に削除するかを選択するオプションを提供します。定期的にデータを削除する場合、事前定義された期間後、オブジェクト一式を削除するようにルールを定義できます。これらのルールは、Standard またはStandard – IA に保存されているオブジェクトおよび Amazon Glacier にアーカイブされているオブジェクトに適用できます。

また、Amazon S3 オブジェクトのバージョンに応じたライフサイクルルールを定義して、ストレージコストを節約することもできます。例えば、オブジェクトの古いバージョンが不要になったときにそのバージョンを自動的 (かつ明確) に削除するルールを作成し、コストを削減し、パフォーマンスを向上させることができます。または、古いバージョンをStandard – IA または Amazon Glacier のいずれかに自動的に移行するルールを作成し、ストレージコストをさらに削減することもできます。

クロスリージョンレプリケーション(CRR)

クロスリージョンレプリケーション(CRR)では、リージョンを超えた複数の Amazon S3 間でレプリケーション(同期複製)することができます。レプリケーション元バケットにアップロードされたすべてのオブジェクトが、選択した別の AWS リージョンにあるレプリケーション先バケットにレプリケートされます。オブジェクトに関連付けられたメタデータと ACL もレプリケーションに含まれます。レプリケーション元バケットで CRR を設定した後に、オブジェクトのデータ、メタデータ、または ACL の変更が発生すると、レプリケーション先バケットへの新しいレプリケーションがトリガーされます。

クロスリージョンレプリエーションのユースケーストしては、図の解説にあるように、コンプライアンスの視点から遠隔地にデータの複製を保存すること、異なるリージョンからデータアクセスするユーザーに対するローレイテンシー(低遅延)の保証、セキュリティ上の理由から異なる AWS アカウントで管理されたリモートの複製などがあります。

コストのモニタリングとコントロール

Amazon S3 には、コストの管理とコントロールのためのさまざまな機能があります。AWS マネジメントコンソールまたは Amazon S3 API を使用して Amazon S3 バケットにタグを適用すると、例えばコストセンター、アプリケーション名、所有者など、ビジネス上の複数の側面でコストを割り当てることができます。その後、これらのコストの詳細を AWS のコスト配分レポートを使用して確認できます。このレポートは、タグ別に集計した利用量とコストを示します。

Amazon CloudWatch を使用して、請求書の Amazon S3 料金のモニタリングに役立つ請求アラートを受信することができます。推定請求額が指定したしきい値に達した時に自動的に通知を受信するようにアラートを設定することができます。

Amazon S3 の通知(Notification)機能

Amazon S3 のイベント通知は、Amazon S3 でオブジェクトがアップロードまたは保存されたときのアクションに対する応答で送信できます。通知メッセージは Amazon SNS または Amazon SQS で送信でき、AWS Lambda に直接配信して AWS Lambda 機能を呼び出すこともできます。

Amazon S3 イベント通知を使用すると、Amazon S3 に保存されているオブジェクトの変更に応答して、ワークフローの実行、アラートの送出、その他のアクションの実行が行えます。Amazon S3 イベント通知を使用すれば、メディアファイルがアップロードされたときのコード変換、データファイルが利用可能になったときのデータ処理、Amazon S3 オブジェクトのその他のデータストアへの同期といったアクションの実行をトリガーできます。オブジェクト名のプレフィックスおよびサフィックスに基づいてイベント通知を設定することも可能です。例えば、「images/」で始まるオブジェクト名の時に通知を受け取るよう選択できます。Amazon S3 オブジェクトのセカンダリインデックスの同期維持に使用する場合もあります。

Amazon S3 で大容量データの転送(ネットワークアクセラレーション)

Amazon では、データをクラウドに高速に移行することを可能にする一連のツールを提供しています。これらには、既存のネットワークを最適化または置換するツールや既存のワークフローを S3 に統合するツールが含まれています。

これらの 1 つである Amazon S3 Transfer Acceleration は Amazon S3 バケットの長距離の転送速度を最大化するように設計されています。たとえば、国や大陸を超えるなどバケットから離れている場所にあるクライアントからのアップロードを迅速化する必要がある場合があります。

AWS は多くのエッジネットワークを提供しています。今までは、Amazon CloudFront によるコンテンツの配信や Amzon Route53 による高速な DNS クエリの応答に利用されてきました。Amazon S3 Transfer Acceleration により、S3 へ、もしくは S3 からのデータ転送の高速化にエッジネットワークが活用されます。もしあなたが、高速なインターネット回線を持ち、大容量のオブジェクトもしくは、大量のコンテンツをグローバルな地域間で転送する際に、その恩恵を受けることが可能となります。

Amazon S3 Transfer Acceleration によって、クライアントと Amazon S3 バケットの長距離間でファイルを高速、簡単、安全に転送できます。Transfer Acceleration では、世界中に散らばる Amazon CloudFront の AWS エッジロケーションが活用されます。データが AWS エッジロケーションに到着すると、最適化されたネットワークパスで Amazon S3 バケットに向かうようルーティングされます。

これは、お客様のクライアントに最も近い Amazon エッジロケーションと Amazon S3 バケット間で実行される高度に最適化されたネットワークブリッジを介して、HTTP トラフィックおよび HTTPS トラフィックを伝送することによって機能します。管理する必要のあるゲートウェイサーバー、開く必要のあるファイアウォール、統合する必要のある特定のポートまたはクライアント、あるいは、支払う必要のある前払い料金は一切ありません。アプリケーションがデータ転送に使用する Amazon S3 エンドポイントを変更するのみで、アクセラレーションが自動的に適用されます。

Amazon S3 のユースケース

Web ログ分析

AWS なら、信頼性、耐障害性、高い可用性を兼ね備えた Web サービスやインフラストラクチャーを構築できます。運用環境では、これらのアプリケーションは膨大な量のログ情報を生成します。これらの情報は Web アプリケーションを運用するどの企業にとっても重要な情報源です。ログを解析すれば、トラフィックのパターン、ユーザーの反応、マーケティングの分析データなどの情報を抽出できます。

しかし、Web アプリケーションが成長しアクセスするユーザー数が増大すると、Web ログを保存したり解析することが急激に問題になってきます。以下のダイアグラムは、拡張性や信頼性のある巨大なログ解析プラッットフォームを AWS を用いて構築したものです。このアーキテクチャーの重要なコンポーネントは Amazon Elastic MapReduce (Amazon EMR) で、この Web サービスは、ホスト型 Hadoop フレームワークを用いて、膨大な量のログデータを簡単に低コストで処理して解析することができます。

  1. Web のフロントエンドサーバーは Amazon Elastic Compute Cloud (Amazon EC2) インスタンスの上で動作します。
  2. Amazon CloudFront は静的なファイルをユーザーに対して低遅延でかつ高速な転送スピードで配信するコンテンツ配信ネットワーク(CDN)です。このサービスは、また、価値(いつ誰が何をどのようにしてなど)のあるログ情報を生成します。
  3. ログファイルは、高い可用性と耐久性を備えた Amazon Simple Storage Service (Amazon S3) に定期的にアップロードされます。アップロードされたデータは、複数の Web サーバーやエッジロケーションから並列で送信されます。
  4. Amazon Elastic MapReduce クラスタは、データセットを処理します。 Amazon Elastic MapReduce はホスト型 Hadoop フレームワークで、データを並列ジョブフローを用いて処理します。
  5. Amzon EC2 のキャパシティーが必要ないとき、 EC2 インスタンスのコストを削減することが提案されます、これを Spot Price と呼びます。価格の変動は、可用性と(処理の)要求量に依存します。ワークロードは、処理の完了やキャパシティーの要求に対して、柔軟性を持っており、Spot Instances を利用してクラスターの容量を動的に拡張することができます。また、これによって、ジョブフローの実行におけるコストを劇的に削減することもできます。
  6. データ処理の結果は、Apatch Hive などのツールを用いてリレーショナルデータベースに書き戻されます。データベースは、Amazon Relational Database Service (Amazon RDS) インスタンスです。Amazon RDS を用いると、セットアップが容易で、クラウドにリレーショナルデータベースをスケールすることができます。
  7. 他のサービスと同様に、Amazon RDS インスタンスは pay-as-you-go model(使ったぶんだけ)支払いが発生します。分析が終わったデータベースは Amzon S3 にスナップショットとしてバックアップしたり、終了することが可能です。データベースが必要になれば、いつでもスナップショットから抽出することができます。

メディア共有

メディアの共有はインターネットで最もホットな市場の一つでしょう。顧客は、ソーシャルネットワークサイトでありとあらゆる写真やビデオを熱狂的に求めたり、オンライン写真アルバムでメディアを共有しようとします。メディア共有の人気が増すことは、サイトの所有者にとってスケーラビリティの問題とも言えます。つまり、増加する一方のメディアの保存、帯域幅の要求、ライバルよりも高速に配信する市場からのプレッシャーの増大と言えます。

今日では、大抵のビジネスは、マンパワー、予算、データセンターのスペースは限られていますが、AWS はユニークな競争機会を提供します。ハードウェア、スタッフ、追加可能なデーターセンターのスペースを事前に投資することなくスケールします。AWS なら一か八かの計画を回避できます。プロジェクトの状況次第で、異なるサービスを独立して利用できます。以下のダイアグラムは、高い可用性、耐久性、低コストなメディアの共有と処理のプラットフォームの典型例です。

  1. コンテンツ共有は、最初にオンラインサービスにメディアファイルをアップロードする必要があります。設定では、Elastice Load Balancer (EBL) が入力されたネットワークの流れを分散して、Amazon Elastic Compute Claoud (Amazon EC2) インスタンスの動的な集団に含まれるサーバーにアップロードします。Amazon CloudWatch はサーバーを監視したり、Auto Scaling グループを管理します。これによって、要求に応じて Amazon EC2 のキャパシティーを自動で増減することができます。例では、Web サイトのサーバーの仕事量から負荷を削減するために、別々のエンドポイントがメディアを受け取ります。
  2. アップロードされたオリジナルのファイルは、高い可用性と耐久性に優れたストレージサービスの Amazon Simple Storage Service (Amazon S3) に保存されます。
  3. 新しいファイルを処理するために、Upload Web Server はメッセージを Amazon Simple Queue Service (Amazon SQS) にプッシュします。このキューは、ファイルの受理とファイルを処理するコンポーネント間の通信経路になります。
  4. 処理経路は、Amazon EC2 インスタンスを割り当てます。EC2 は、アップロードされたファイルの後処理(ビデオのエンコーディングや写真のリサイズなど)に関連する処理を実行します。自動的に処理能力を調整するために、AutoScaling がグループを監視します。Spot Instance のおかげで、グループのキャパシティーを動的に拡張したり、処理にかかるコストを劇的に削減することができます。
  5. 処理が終了すると、Amazon S3 はアウトプットファイルをに保存します。オリジナルファイルは耐久性を備えて保存することができます。処理されたファイルは冗長性を削減することができます。
  6. メディアに関連するデータ(メタデータ)は、Amazon Relational Database Service (Amazon RDS) や、Amazon SimpleDB に key-value 形式で保存することもできます。
  7. 3 つの目の EC2 インスタンス群は、メディア共有サービスのフロントエンド Web サイトをホストするために配置されます。
  8. メディアファイルは、コンテンツ配信ネットワーク(CDN)を経由して、 Amazon S3 からエンドユーザーに配信されます。Amaozn CloudFront は、エッジロケーションの世界的なネットワークに対して低遅延の配信を提供します。

社内アプリケーションのディザスタリカバリー(災害復旧)

ディザスタリカバリーとは、IT システムに対するマイナスの衝撃をもたらすなんらかの事象への準備と復旧に関する課題です。典型的なアプローチには、災害に備えて代替のキャパシティーの確保を確実にするために複製されたインフラの構築を含みます。

AWS なら必要に応じてお客様のインフラストラクチャーを拡張することが可能です。災害復旧を解決するために、この対策は大変なコストの削減をもたらします。以下の図は、社内アプリケーションのディザスタリカバリーの例を示しています。

  1. 企業内データセンターで、データベースサーバーとアプリケーションサーバー、そして、コンテンツマネージメントシステムのためのローカルストレージから構成されるアプリケーションをホストしています。
  2. AWS Storage Gateway は、オンプレミスなソフトウェアアプリケーションとクラウドベースのストレージを接続するサービスです。AWS Storage Gateway では、低コストなバックアップと迅速な災害復旧のため AWS クラウドにデータを安定して更新します。
  3. データベースサーバーのバックアップ、アプリケーションサーバーのボリュームのスナップショット、復旧サーバーの Amazon Machine Images (AMI) を Amazon Simple Storage Service (Amazon S3) に保存します。Amazon S3 は、高耐久性と低コストなデータストアです。AMI は、Amazon Elastic Compute Cloud (Amazon EC2) の仮想マシンを生成するための、あらかじめコンフィギュレーション(設定)されたオペレーティングシステムとアプリケーションソフトウェアです。Oracle データベースは、Oracle Secure Backup (OSB) Cloud Module を利用して Amazon S3 に直接バックアップできます。
  4. 社内データセンターが災害にあった時、バックアップから Amazon Virtual Private Cloud (Amazon VPC) に完全なインフラを再構築することができます。Amazon VPC は、お客様のアプリケーションを再構築する時に AWS クラウド内にプライベートで隔離された領域を提供できます。
  5. アプリケーションサーバとデータベースサーバーは Amazon EC2 を用いて再構築します。ボリュームのスナップショットを展開するには、Amazon Elastic Block Store (EBS) を利用でき、再構築されたアプリケーションサーバーにアタッチされます。
  6. 復旧したアプリケーションに遠隔地からアクセスするには、 VPC Gateway を用いて生成された VPN コネクションを利用します。

その他のアーキテクチャーの例

世界中に広がる「エッジロケーション」のネットワークを使用することで、Amazon CloudFront では「静的コンテンツ」「オリジン」のコピーをビューワー(エンドユーザー)の近くに「キャッシュ」し、オブジェクトをダウンロードする際のレイテンシー(遅延)を低減し、アクセスの集中するサイズの大きなオブジェクトをエンドユーザーへ大規模に配信するのに必要な高いデータ転送速度を維持することができます。

Amazon S3 なら、静的なコンテンツ中心の Web サイト、大容量のコンテンツを扱う動的な Web サイトを構築できます。

静的なコンテンツ中心の Web サイトの場合は、 コンテンツマネージメントシステム(CMS)からコンテンツを S3 に保存し、完全にマネージドされたサーバを Amazon S3 でホストします。クライアントからは Amazon CloudFront を通して世界中に張り巡らされたエッジロケーションの中で最も遅延の少ないポイントからコンテンツにアクセスすることができます。

大容量のコンテンツを扱う動的な Web サイトの場合は、静的なコンテンツは前述の方法と同じで Amazon S3 で直接ホストし Amazon CloudFront で配信します。写真やビデオのような大容量コンテンツ以外の Web コンテンツ(HTML ファイル、CSS ファイル、JavaScript ファイル、PHP ファイルなど)は Amazon EC2 で動作する Web サーバーでホストします。

Amazon S3 なら、大量のデータを収集、変換、分析することができます。

クライアントからの大量のリアルタイムストリーミングデータから、ログデータを Amazon Kinesis で収集し Amazon S3 に保存します。また通常の Web サーバーがアクセスされた時に生成されるログデータも Amazon S3 に保存します。他の AWS サービスも同様にログデータを Amazon S3 に保存します。Amazon S3 は、低コスト、高い可用性、耐久性を備えた大量のデータを保存することに最適なストレージサービスです。

Amazon S3 に保存されたデータは、 ホスト型 Hadoop フレームワーク Amazon Elastic MapReduce (Amazon EMR) で並列分散処理しログデータから有益な統計データなどを抽出します。また、ライフサイクルタイムを設定して一定時間以上経過した古いログデータは Amazon Glacier に移したり、さらに古くなれば削除することもできます。

Amazon EMR で抽出されたログの統計データは、データウェアハウスの Amazon RedShift を利用して時間をかけて様々な角度から分析することができます。 また、これらの統計データも一定時間以上経過すれば Amazon Glacier に長期保存用として退避することもできます。

Amazon S3 なら社内システムの安全なバックアップや災害時の迅速な復旧が可能です。左側が、オンプレミスな社内システムで、サーバー、ストレージ、バックアップソフトウェアなどでエンタープライズアプリケーションを実行しているとします。

このままでは、社内システムを収容したデーターセンターが災害に襲われた時に致命的な問題になります。そこで、AWS を利用して、社内システムに常にバックアップ体制を築くことができます。アプリケーションサーバーの Amazon EC2 インスタンス、データベースのバックアップなどがセットになって Amazon S3 に保存できます。

また、これは非常にまれな大規模な地震などで、東京リージョン全体が復旧できない場合に備えて、グローバルな災害復旧体制を構築し、シンガポールリージョンのバックアップストレージ Amazon S3 に東京リージョンのバックアップストレージを丸ごとレプリケーション(コピー)することもできます。