Your SlideShare is downloading. ×
0
AWSマイスターシリーズReloadedAmazon S3       2012年03月19日       大谷 晋平 (@shot6 )       ソリューションアーキテクト
アジェンダS3とは?S3のコンセプトS3の機能S3をうまく使うためにはS3の利用例まとめ
AWSサービス一覧                             お客様のアプリケーション ライブラリ & SDKs                                   IDE プラグイン               ...
AWSストレージサービスのゴールお客様がデータを安心して預けられる、サービスの提供 データが安全に保管されている データが取りたい時に常に取得可能 データを保存したい時に常に保存可能 データが誰がいつアクセス出来るかを完璧  にコントロ...
S3とは?S3はWeb時代のストレージユーザはデータを安全にどこからでも保存可能AWSの主力サービスの1つ。2006年から開始開発者が“Webスケール”なコンピューティングを可能にするよう設計された    高いスケーラビリティ    高い信...
Amazon S3は、データ保存の基盤           S3        世界中の7拠点から選択           東京リージョンデータ置くだけ。インフラ、電源、                              保存するデータ...
S3の用語 バケット  オブジェクト置場。最大100/アカウント。名前がユニークな必   要あり オブジェクト  S3に置くファイルでURLによるアドレスが付与。バケット内に   は無制限にオブジェクトを置くことが可能。1オブジェクトのサ ...
S3のネームスペース                Amazon S3    バケット                         バケットオブジェクト     オブジェクト           オブジェクト   オブジェクト       ...
S3 –実例にあてはめてみる -                       Amazon S3    mculver-images                 media.mydomain.comBeach.jpg   2009/maui...
S3のコンセプトDurable(堅牢であること)Available (いつでも利用可能であること)Scalable (スケールすること)Secure (安全であること)Fast (高速に動くこと)Simple (シンプルに使えること)Cost ...
Durable(堅牢であること)ファイルを失わない設計  データを3箇所以上にレプリケーション  障害検知とデータ修復  2006年サービス開始以来データロストなし99.999999999%の堅牢性を誇る  3つ以上同時にDCが消失しな...
Available(常に利用可能なこと)常に利用可能なように設計  99.9%可用性SLA、実際はほぼ100%計画停止無し全世界からどの地域でもインターネット経由で利用可能  異なる8つのリージョンから選択
Scalable(スケールすること)論理的には無限にスケールするどれだけのファイルでも保存可能  1バイトから1PBまでいくらでも保存可能  1つのファイルサイズは最大5TBまで
Secure(安全であること)全ての通信はSSL暗号化認証・認可機能を持つ  ACLベース/ポリシーベース  ユーザアクセスコントロール暗号化機能を持つ  サーバサイド/クライアントサイド暗号化ログ機能認定・認証の取得
Fast(高速であること)ピーク時最大50万RPS常に安定したレイテンシ世界8か所にリージョン展開  最も近い場所を利用可能専用線で直結も可能
Simple(シンプルに使えること)ファイルのPUT/GET/DELETE/LIST  これだけ。とってもシンプル  データサイズも数も気にしなくてよいサードパーティツールでFTPライクに利用SDKで様々な言語からすぐに利用可能PutObj...
Cost Effective(低コストなこと) 従量課金で使った分だけお支払い 初期費用もいらない コストは下げ続けている  2012年2月に13%値下げ ストレージ      旧 (GB / 月)   新 (GB / 月) 最初の1TB  ...
S3のコンセプトDurable(堅牢であること)Available (いつでも利用可能であること)Scalable (スケールすること)Secure (安全であること)Fast (高速に動くこと)Simple (シンプルに使えること)Cost ...
S3の機能 マルチパートアップロード Webサイト機能 バージョニング サーバアクセスログ S3セキュリティ機能 データの暗号化 オブジェクトの期限付き保存
S3マルチパートアップロード巨大なオブジェクトを複数のチャンクに分割してアップロード 各チャンク < 5GB チャンクがアップロードされたら、  単一オブジェクトに結合  • 自動で結合する場合  • 自分で分割→結合
S3 Webサイト機能 静的なWebサイトのホスティングをS3で!  ファイルをアップロードして、Website機能をON!
S3バージョニング全てのオブジェクトのバージョン管理下におき保存、検索、リストアが可能。バージョニング中はオブジェクトは削除されない。S3でよくみる光景はユーザアクションによるデータ消失。こういったアプリケーションエラーから重要なデータを保護す...
S3サーバアクセスロギングS3バケットへS3のアクセスログを保存  デフォルトでは出力しないAPI/SDKで設定可能アクセスログのデリバリではチャージしていない  ログの保存ではチャージ。ただしいつでも削除可能  アクセスログへのアクセス...
S3の認証機構S3を含む全AWSサービスでセキュリティは最優先事項認証のないアクセスからはデータは確実に保護オブジェクトは全てフルコントロール可能特定ユーザに対して権限を与えることも勿論可能How?  AWS Identity and Acc...
AWS IAM アカウント内で複数ユーザを作成し、セキュリティクレデン シャルや権限を付与する事が可能  S3のバケットにオブジェクトのPUT/LIST/GETなど 詳細は第4回セミナーにて! IAMで出来る事:  ユーザレベルでのコントロ...
S3バケットポリシーS3バケットレベルのポリシーベースのコントロールバケットオーナーだけが適用可能  バケットレベルでのAllow/Deny  バケット内のオブジェクトの権限のDeny  バケットオーナーがオブジェクトオーナーだった場合の...
バケットポリシーの一例例:  ユーザ(1-22-333-4444, 3-55-678-9100)に   “mybucket” (arn:aws:s3:::mybucket/*“,)というバケットに   対してGETリクエストの発行を許可   ...
S3 Access Control List バケットからオブジェクトへのコントロール バケットのACLをオブジェクトは継承しない 作成と適用はいつでも可能 100個ACLは作成可能:     Owner     Email     An...
データの暗号化サーバサイド暗号化クライアントサイド暗号化
サーバサイド暗号化 • マネージメントコンソールから実施する • GUIツールで実施する • コードで実施するAmazonS3Client client = new AmazonS3Client(credentials);client.setE...
クライアントサイド暗号化   • マネージメントコンソールから実施する   • GUIツールで実施する   • コードで実施するKeyPairGenerator generator =    KeyPairGenerator.getInstan...
オブジェクトの期限付き保存バケット単位でオブジェクトの生存期間を指定可能 Prefix単位 日付で指定可能             http://bit.ly/A9dE0b
S3を上手に使うには?
最近AWSブログを書きました。
S3をうまく使うコツ(パフォーマンス)大前提:ほとんどのケースでは普通に使ってもらえばいいだけ。大量にオブジェクトを保存したり、取得したりする場合のみコツが必要  キー名はとても大事。キー名の先頭を散らす  • 先頭2、3をハッシュ値にするだ...
S3をうまく使うコツ秒間数百以上のPUTをする場合には、エラーコードに注意  503が返ってきたらクライアント側でも送信側で   も少し軽減する(エクスポネンシャルバックオフ)
S3のよくある利用例コンテンツの保存と配信  メディア・エンターテイメントのコンテンツ  ソフトウェアの配信大規模データ分析のストレージ・データオリジナル  オンラインストレージ  アプリケーションそのもののストレージバックアップやディ...
5000万ユーザーを持つファイル共有サービスAmazon S3の上で構築S3は、99.999999999%の耐久性
European Space Agencyデータ配信用の衛星写真およびデータをS3に保存ESRIN: center of the European Space Agency forthe Earth Observation Programs (...
Oracle Secure CloudBackupでDBのデータもS3         へ保存
Amazon.comの事例テープバックアップからS3へ切替
Amazon.comの事例テープバックアップからS3へ切替高速なバックアップ・リカバリ  以前:テープでは10-15時間  現在:S3で2.5時間で3.8TBリカバリ可能貴重な人材を別のところで活用 テープは壊れるのと、維持するのが高価
AWS自体もユーザAWSサービスの中心にS3がある       EC2                  EBS  …                         …             S3  …      EMR          ...
S3のサードパーティツール様々なサードパーティツールが存在する自分が使っているものを紹介  CloudBerry  TND
S3を通じて実現したいことお客様がデータを安心して預けられる、サービスの提供 S3上のデータは常に安全に保管 S3内データはいつでも取得可能 S3内データを常に保存可能 S3内へのデータアクセスは完璧にコント  ロールできる データ保...
参考文献Amazon S3  http://aws.amazon.com/jp/s3/Amazon S3 Getting Started Guide  http://docs.amazonwebservices.com/AmazonS3/l...
20120319 aws meister-reloaded-s3
Upcoming SlideShare
Loading in...5
×

20120319 aws meister-reloaded-s3

915

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
915
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
19
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "20120319 aws meister-reloaded-s3"

  1. 1. AWSマイスターシリーズReloadedAmazon S3 2012年03月19日 大谷 晋平 (@shot6 ) ソリューションアーキテクト
  2. 2. アジェンダS3とは?S3のコンセプトS3の機能S3をうまく使うためにはS3の利用例まとめ
  3. 3. AWSサービス一覧 お客様のアプリケーション ライブラリ & SDKs IDE プラグイン デプロイと自動化 Web インターフェース Java, PHP, .NET, Eclipse AWS Elastic Beanstalk Python, Ruby Management Console AWS CloudFormation Visual Studio ネットワーク&ルーティング 認証 & 請求 Amazon VPC AWS IAM モニタリング スケーリング Amazon Elastic LB Identity Federation Amazon CloudWatch Auto Scale Amazon Route 53 Consolidated Billing AWS Direct Connect コンテンツ配信 メッセージ通知 キューイング 分散処理 メール配信 Amazon Amazon SNS Amazon SQS Elastic MapReduce Amazon SES CloudFront ストレージ データベース コンピュータ処理 Amazon S3 Amazon RDS Amazon DynamoDB Amazon EC2 Amazon EBS Amazon SimpleDB AWS Storage Gateway Amazon Elasticache AWS のグローバルなインフラ
  4. 4. AWSストレージサービスのゴールお客様がデータを安心して預けられる、サービスの提供 データが安全に保管されている データが取りたい時に常に取得可能 データを保存したい時に常に保存可能 データが誰がいつアクセス出来るかを完璧 にコントロールできる データ保存が低価格で実現できる
  5. 5. S3とは?S3はWeb時代のストレージユーザはデータを安全にどこからでも保存可能AWSの主力サービスの1つ。2006年から開始開発者が“Webスケール”なコンピューティングを可能にするよう設計された  高いスケーラビリティ  高い信頼性・堅牢性  セキュア  高速  低価格
  6. 6. Amazon S3は、データ保存の基盤 S3 世界中の7拠点から選択 東京リージョンデータ置くだけ。インフラ、電源、 保存するデータは、 気にしない。 自動で暗号化する 容量無制限。 ことも可能 データセンターA データセンターB バケット 3か所以上で 自動複製 データセンターC 高い耐久性で 安価な従量課金 データ失わない: 99.999999999% ファイル(バイナリ、 例:1GB/月 – 約10円 テキスト、画像、動画)
  7. 7. S3の用語 バケット  オブジェクト置場。最大100/アカウント。名前がユニークな必 要あり オブジェクト  S3に置くファイルでURLによるアドレスが付与。バケット内に は無制限にオブジェクトを置くことが可能。1オブジェクトのサ イズは5TBまで キー  オブジェクト毎に付与される一意なキー ACL  アクセスコントロールリスト
  8. 8. S3のネームスペース Amazon S3 バケット バケットオブジェクト オブジェクト オブジェクト オブジェクト バケット オブジェクト オブジェクト
  9. 9. S3 –実例にあてはめてみる - Amazon S3 mculver-images media.mydomain.comBeach.jpg 2009/maui/sun.jpg img1.jpg img2.jpg public.blueorigin.com Installer.msi img/pic1.jpg
  10. 10. S3のコンセプトDurable(堅牢であること)Available (いつでも利用可能であること)Scalable (スケールすること)Secure (安全であること)Fast (高速に動くこと)Simple (シンプルに使えること)Cost Effective (低コストであること)
  11. 11. Durable(堅牢であること)ファイルを失わない設計  データを3箇所以上にレプリケーション  障害検知とデータ修復  2006年サービス開始以来データロストなし99.999999999%の堅牢性を誇る  3つ以上同時にDCが消失しない限りデータ を失わない
  12. 12. Available(常に利用可能なこと)常に利用可能なように設計  99.9%可用性SLA、実際はほぼ100%計画停止無し全世界からどの地域でもインターネット経由で利用可能  異なる8つのリージョンから選択
  13. 13. Scalable(スケールすること)論理的には無限にスケールするどれだけのファイルでも保存可能  1バイトから1PBまでいくらでも保存可能  1つのファイルサイズは最大5TBまで
  14. 14. Secure(安全であること)全ての通信はSSL暗号化認証・認可機能を持つ  ACLベース/ポリシーベース  ユーザアクセスコントロール暗号化機能を持つ  サーバサイド/クライアントサイド暗号化ログ機能認定・認証の取得
  15. 15. Fast(高速であること)ピーク時最大50万RPS常に安定したレイテンシ世界8か所にリージョン展開  最も近い場所を利用可能専用線で直結も可能
  16. 16. Simple(シンプルに使えること)ファイルのPUT/GET/DELETE/LIST  これだけ。とってもシンプル  データサイズも数も気にしなくてよいサードパーティツールでFTPライクに利用SDKで様々な言語からすぐに利用可能PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, file);PutObjectResult result = this.client.putObject(putObjectRequest);
  17. 17. Cost Effective(低コストなこと) 従量課金で使った分だけお支払い 初期費用もいらない コストは下げ続けている  2012年2月に13%値下げ ストレージ 旧 (GB / 月) 新 (GB / 月) 最初の1TB $0.150 $0.130 次の49TB $0.135 $0.115 $0.120 次の450TB $0.100 次の500TB $0.105 $0.095 次の4000TB $0.090 $0.085 5000TB以上 $0.065 $0.060
  18. 18. S3のコンセプトDurable(堅牢であること)Available (いつでも利用可能であること)Scalable (スケールすること)Secure (安全であること)Fast (高速に動くこと)Simple (シンプルに使えること)Cost Effective (低コストであること)
  19. 19. S3の機能 マルチパートアップロード Webサイト機能 バージョニング サーバアクセスログ S3セキュリティ機能 データの暗号化 オブジェクトの期限付き保存
  20. 20. S3マルチパートアップロード巨大なオブジェクトを複数のチャンクに分割してアップロード 各チャンク < 5GB チャンクがアップロードされたら、 単一オブジェクトに結合 • 自動で結合する場合 • 自分で分割→結合
  21. 21. S3 Webサイト機能 静的なWebサイトのホスティングをS3で!  ファイルをアップロードして、Website機能をON!
  22. 22. S3バージョニング全てのオブジェクトのバージョン管理下におき保存、検索、リストアが可能。バージョニング中はオブジェクトは削除されない。S3でよくみる光景はユーザアクションによるデータ消失。こういったアプリケーションエラーから重要なデータを保護する。ただし課金はバージョニングの分、かかる
  23. 23. S3サーバアクセスロギングS3バケットへS3のアクセスログを保存  デフォルトでは出力しないAPI/SDKで設定可能アクセスログのデリバリではチャージしていない  ログの保存ではチャージ。ただしいつでも削除可能  アクセスログへのアクセスについては若干のチャージ
  24. 24. S3の認証機構S3を含む全AWSサービスでセキュリティは最優先事項認証のないアクセスからはデータは確実に保護オブジェクトは全てフルコントロール可能特定ユーザに対して権限を与えることも勿論可能How?  AWS Identity and Access Management(IAM) ポリシー  バケットポリシー  ACL
  25. 25. AWS IAM アカウント内で複数ユーザを作成し、セキュリティクレデン シャルや権限を付与する事が可能  S3のバケットにオブジェクトのPUT/LIST/GETなど 詳細は第4回セミナーにて! IAMで出来る事:  ユーザレベルでのコントロール • S3に対してのお客様要件にあわせた操作の制御 アクセスポリシー言語を記述する  JSON format
  26. 26. S3バケットポリシーS3バケットレベルのポリシーベースのコントロールバケットオーナーだけが適用可能  バケットレベルでのAllow/Deny  バケット内のオブジェクトの権限のDeny  バケットオーナーがオブジェクトオーナーだった場合のみオブ ジェクトに適切な権限を与えるアクセスポリシー言語を記述する  JSON format
  27. 27. バケットポリシーの一例例:  ユーザ(1-22-333-4444, 3-55-678-9100)に “mybucket” (arn:aws:s3:::mybucket/*“,)というバケットに 対してGETリクエストの発行を許可 { "Version":"2008-10-17", "Id":"aaaa-bbbb-cccc-dddd", "Statement" : [ { "Effect":"Allow", "Sid":"1", "Principal" : { "AWS":["1-22-333-4444","3-55-678-9100"] }, "Action":["s3:GetObject*"], "Resource":"arn:aws:s3:::mybucket/*", } ] }
  28. 28. S3 Access Control List バケットからオブジェクトへのコントロール バケットのACLをオブジェクトは継承しない 作成と適用はいつでも可能 100個ACLは作成可能:  Owner  Email  Any AWS account  Anyone パーミッション:  READ – Object or bucket  WRITE – Create, overwrite, delete objects in bucket  READ_ACP – Read ACL for bucket or object  WRITE_ACP – Overwrite ACL for bucket or object  FULL_CONTROL – All of the above
  29. 29. データの暗号化サーバサイド暗号化クライアントサイド暗号化
  30. 30. サーバサイド暗号化 • マネージメントコンソールから実施する • GUIツールで実施する • コードで実施するAmazonS3Client client = new AmazonS3Client(credentials);client.setEndpoint("s3-ap-northeast-1.amazonaws.com");PutObjectRequest putRequest = new PutObjectRequest( "shot6jp", “S3に置くファイル名", new File(“実際のファイル"));ObjectMetadata objectMetadata = new ObjectMetadata();objectMetadata.setServerSideEncryption( ObjectMetadata.AES_256_SERVER_SIDE_ENCRYPTION);putRequest.setMetadata(objectMetadata);PutObjectResult result = client.putObject(putRequest);
  31. 31. クライアントサイド暗号化 • マネージメントコンソールから実施する • GUIツールで実施する • コードで実施するKeyPairGenerator generator = KeyPairGenerator.getInstance("RSA");generator.initialize(512);KeyPair keyPair = generator.generateKeyPair();EncryptionMaterials encryptionMaterials = new EncryptionMaterials(keyPair);AmazonS3EncryptionClient client = new AmazonS3EncryptionClient(credentials, encryptionMaterials);client.setEndpoint("s3-ap-northeast-1.amazonaws.com");PutObjectResult ret = client.putObject( “バケット名”, “S3上のファイル名”, new File(“現状ファイル"));
  32. 32. オブジェクトの期限付き保存バケット単位でオブジェクトの生存期間を指定可能 Prefix単位 日付で指定可能 http://bit.ly/A9dE0b
  33. 33. S3を上手に使うには?
  34. 34. 最近AWSブログを書きました。
  35. 35. S3をうまく使うコツ(パフォーマンス)大前提:ほとんどのケースでは普通に使ってもらえばいいだけ。大量にオブジェクトを保存したり、取得したりする場合のみコツが必要  キー名はとても大事。キー名の先頭を散らす • 先頭2、3をハッシュ値にするだけで十分ス ケールする  S3のパーティション分割  当然バケットが違えば更にスケール
  36. 36. S3をうまく使うコツ秒間数百以上のPUTをする場合には、エラーコードに注意  503が返ってきたらクライアント側でも送信側で も少し軽減する(エクスポネンシャルバックオフ)
  37. 37. S3のよくある利用例コンテンツの保存と配信  メディア・エンターテイメントのコンテンツ  ソフトウェアの配信大規模データ分析のストレージ・データオリジナル  オンラインストレージ  アプリケーションそのもののストレージバックアップやディザスタリカバリ。低価格かつ安心のテープの代替  サーバのバックアップ  個人的なバックアップ • 複数端末での共有
  38. 38. 5000万ユーザーを持つファイル共有サービスAmazon S3の上で構築S3は、99.999999999%の耐久性
  39. 39. European Space Agencyデータ配信用の衛星写真およびデータをS3に保存ESRIN: center of the European Space Agency forthe Earth Observation Programs (*)  地球の衛星写真を生成し保存  EUの政府団体やNGOなどのデータ配信の元 (*) Source : http://www.esa.int/esaMI/ESRIN_SITE/index.html
  40. 40. Oracle Secure CloudBackupでDBのデータもS3 へ保存
  41. 41. Amazon.comの事例テープバックアップからS3へ切替
  42. 42. Amazon.comの事例テープバックアップからS3へ切替高速なバックアップ・リカバリ 以前:テープでは10-15時間 現在:S3で2.5時間で3.8TBリカバリ可能貴重な人材を別のところで活用 テープは壊れるのと、維持するのが高価
  43. 43. AWS自体もユーザAWSサービスの中心にS3がある EC2 EBS … … S3 … EMR Dyna … mo DB
  44. 44. S3のサードパーティツール様々なサードパーティツールが存在する自分が使っているものを紹介  CloudBerry  TND
  45. 45. S3を通じて実現したいことお客様がデータを安心して預けられる、サービスの提供 S3上のデータは常に安全に保管 S3内データはいつでも取得可能 S3内データを常に保存可能 S3内へのデータアクセスは完璧にコント ロールできる データ保存が低価格で実現できる
  46. 46. 参考文献Amazon S3  http://aws.amazon.com/jp/s3/Amazon S3 Getting Started Guide  http://docs.amazonwebservices.com/AmazonS3/latest/gs g/Amazon S3 Developer Guide  http://docs.amazonwebservices.com/AmazonS3/latest/de v/Amazon Web Services Japan blog  http://aws.typepad.com/aws_japan/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×