Submit Search
node.jsでS3にバックアップを送り続けるコードを書いてみた話。Node s3maの紹介-jawsugさいたま
4 likes
7,190 views
Yasuhiro Araki, Ph.D
node.jsでS3にバックアップを送り続けるコードを書いてみた話。 Node s3maの紹介-jawsugさいたま
Technology
Read more
1 of 25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
More Related Content
PDF
AWSでAPI Gatewayから非同期でLambdaを起動してS3にファイルアップロードしようとしたらハマった話。
Takehiro Suemitsu
PDF
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
Masahiro NAKAYAMA
PPTX
はじめてのAWS Lambda
Masaki Misawa
PDF
画像処理をAWS LambdaのPythonで!
Tomotsune Murata
PDF
速習 AWS Lambda
Masayuki Uchida
PDF
lambda-lgtm
Yoshiaki Yoshida
PDF
20160526 AWSサービスアップデート
Genta Watanabe
PDF
AWS Lambdaで作るクローラー/スクレイピング
Takuro Sasaki
AWSでAPI Gatewayから非同期でLambdaを起動してS3にファイルアップロードしようとしたらハマった話。
Takehiro Suemitsu
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
Masahiro NAKAYAMA
はじめてのAWS Lambda
Masaki Misawa
画像処理をAWS LambdaのPythonで!
Tomotsune Murata
速習 AWS Lambda
Masayuki Uchida
lambda-lgtm
Yoshiaki Yoshida
20160526 AWSサービスアップデート
Genta Watanabe
AWS Lambdaで作るクローラー/スクレイピング
Takuro Sasaki
What's hot
(20)
PPTX
Lambda Layerの権限制御を試してみた
KazukiNabasama
PDF
AWS Lambda を使ってみた話 at づや会Vol.3
ko ty
PPTX
20160312 Jaws Days 2016 API Gateway+Lambda
Kazuki Ueki
PDF
AWS Lambda のご紹介 2015 JAWS沖縄
Toshiaki Enami
PPTX
New Cloud Design Pattern using Amazon Aurora
宗 大栗
PDF
AWS re:Invent2019 Overview &New Releases Summary for Game
Amazon Web Services Japan
PDF
第18回 jaws ug札幌 勉強会 やってみたで終わらないlambdaな話
Hiroyuki Hiki
PPTX
AWS Batch Fargate対応は何をもたらすか
Shun Fukazawa
PDF
前座Lambda
Akio Katayama
PDF
俺のLambda
Motokatsu Matsui
PDF
AWS Search Services
Eiji Shinohara
PDF
Tune Up AWS Lambda
Keisuke Nishitani
PDF
AWS Black Belt Online Seminar 2017 Deployment on AWS
Amazon Web Services Japan
PDF
Talk: serverless-express
HiroyukiTakakura
PDF
AWS Black Belt Online Seminar 2017 AWS X-Ray
Amazon Web Services Japan
PDF
20140418 aws-casual-network
Yasuhiro Araki, Ph.D
PPTX
EC2でマルチキャスト
Kenta Yasukawa
PDF
AWS Black Belt Online Seminar 2017 AWS Storage Gateway
Amazon Web Services Japan
PDF
EC2上のWordPressをShifterに移行してみた!
Eiji KOMINAMI
PDF
re:invent 2016 新サービスで変わる AWS運用
Shuji Kikuchi
Lambda Layerの権限制御を試してみた
KazukiNabasama
AWS Lambda を使ってみた話 at づや会Vol.3
ko ty
20160312 Jaws Days 2016 API Gateway+Lambda
Kazuki Ueki
AWS Lambda のご紹介 2015 JAWS沖縄
Toshiaki Enami
New Cloud Design Pattern using Amazon Aurora
宗 大栗
AWS re:Invent2019 Overview &New Releases Summary for Game
Amazon Web Services Japan
第18回 jaws ug札幌 勉強会 やってみたで終わらないlambdaな話
Hiroyuki Hiki
AWS Batch Fargate対応は何をもたらすか
Shun Fukazawa
前座Lambda
Akio Katayama
俺のLambda
Motokatsu Matsui
AWS Search Services
Eiji Shinohara
Tune Up AWS Lambda
Keisuke Nishitani
AWS Black Belt Online Seminar 2017 Deployment on AWS
Amazon Web Services Japan
Talk: serverless-express
HiroyukiTakakura
AWS Black Belt Online Seminar 2017 AWS X-Ray
Amazon Web Services Japan
20140418 aws-casual-network
Yasuhiro Araki, Ph.D
EC2でマルチキャスト
Kenta Yasukawa
AWS Black Belt Online Seminar 2017 AWS Storage Gateway
Amazon Web Services Japan
EC2上のWordPressをShifterに移行してみた!
Eiji KOMINAMI
re:invent 2016 新サービスで変わる AWS運用
Shuji Kikuchi
Ad
More from Yasuhiro Araki, Ph.D
(20)
PDF
1999年JUSメールサーバワークショップ@伊勢志摩
Yasuhiro Araki, Ph.D
PDF
サービスをスケールさせるために AWSと利用者の技術
Yasuhiro Araki, Ph.D
PPTX
AWSのIPv6対応状況@JAWS-UG大阪
Yasuhiro Araki, Ph.D
PPTX
今だから!Amazon CloudFront 徹底活用
Yasuhiro Araki, Ph.D
PDF
20151016 soracom-araki-02
Yasuhiro Araki, Ph.D
PDF
Webサービス向け、クラウドデザインパターン:アンチパターン紹介
Yasuhiro Araki, Ph.D
PDF
AWSにみる日本のクラウドのトレンド予測 20150321 jaws-tohoku
Yasuhiro Araki, Ph.D
PPTX
20141202 jaws-osaka-hangeki
Yasuhiro Araki, Ph.D
PPTX
20141126 jaws-antipattern
Yasuhiro Araki, Ph.D
PPTX
クラウドによる運用の計測と運用価値の表現、その未来
Yasuhiro Araki, Ph.D
PPTX
AWS 専用線アクセス体験ラボ紹介と開催地立候補のお願い
Yasuhiro Araki, Ph.D
PPTX
20140906 jawsfesta-araki-lt
Yasuhiro Araki, Ph.D
PPTX
20140906 jawsfesta-araki-public
Yasuhiro Araki, Ph.D
PPTX
AWSつもり違い10箇条 at 201408 jaws高尾山ビアマウント
Yasuhiro Araki, Ph.D
PDF
20140717 awssummit2014-cloud-operation
Yasuhiro Araki, Ph.D
PPTX
20140628 AWSの2014前半のアップデートまとめ
Yasuhiro Araki, Ph.D
PPTX
20140621 july techfesta (JTF2014) 突発**むけAWS
Yasuhiro Araki, Ph.D
PPTX
MTのスケールアップパターン with AWS
Yasuhiro Araki, Ph.D
PPTX
S3をてなづけてオレオレバックエンドにしてみた話
Yasuhiro Araki, Ph.D
PDF
Aws update jawstokyo-public
Yasuhiro Araki, Ph.D
1999年JUSメールサーバワークショップ@伊勢志摩
Yasuhiro Araki, Ph.D
サービスをスケールさせるために AWSと利用者の技術
Yasuhiro Araki, Ph.D
AWSのIPv6対応状況@JAWS-UG大阪
Yasuhiro Araki, Ph.D
今だから!Amazon CloudFront 徹底活用
Yasuhiro Araki, Ph.D
20151016 soracom-araki-02
Yasuhiro Araki, Ph.D
Webサービス向け、クラウドデザインパターン:アンチパターン紹介
Yasuhiro Araki, Ph.D
AWSにみる日本のクラウドのトレンド予測 20150321 jaws-tohoku
Yasuhiro Araki, Ph.D
20141202 jaws-osaka-hangeki
Yasuhiro Araki, Ph.D
20141126 jaws-antipattern
Yasuhiro Araki, Ph.D
クラウドによる運用の計測と運用価値の表現、その未来
Yasuhiro Araki, Ph.D
AWS 専用線アクセス体験ラボ紹介と開催地立候補のお願い
Yasuhiro Araki, Ph.D
20140906 jawsfesta-araki-lt
Yasuhiro Araki, Ph.D
20140906 jawsfesta-araki-public
Yasuhiro Araki, Ph.D
AWSつもり違い10箇条 at 201408 jaws高尾山ビアマウント
Yasuhiro Araki, Ph.D
20140717 awssummit2014-cloud-operation
Yasuhiro Araki, Ph.D
20140628 AWSの2014前半のアップデートまとめ
Yasuhiro Araki, Ph.D
20140621 july techfesta (JTF2014) 突発**むけAWS
Yasuhiro Araki, Ph.D
MTのスケールアップパターン with AWS
Yasuhiro Araki, Ph.D
S3をてなづけてオレオレバックエンドにしてみた話
Yasuhiro Araki, Ph.D
Aws update jawstokyo-public
Yasuhiro Araki, Ph.D
Ad
node.jsでS3にバックアップを送り続けるコードを書いてみた話。Node s3maの紹介-jawsugさいたま
1.
node.jsでS3にバックアップを送り 続けるコードを書いてみた話 S3にセミリアルタイム同期 with node.js node-s3maの紹介 ARAKI Yasuhiro
(ar1@)
2.
自己紹介 名前 • 荒木 靖宏(twitter:
ar1) 肩書 • プリンシパルソリューション アーキテクト 好きなAWSサービス • Amazon Virtual Private Cloud • AWS Direct Connect
3.
クラウドストレージ Amazon S3 世界中の8拠点から選択 S3 東京リージョン データ置くだけ。イ ンフラ、電源、気に しない。 容量無制限。 保存するデータは、 自動で暗号化する ことも可能 データセンターA バケット データセンターB データセンターC 3か所以上で 自動複製 安価な従量課金 ファイル(バイナリ、 テキスト、画像、動画) 例:1GB/月
– 約10円 高い耐久性で データ失わない: 99.999999999%
4.
Simple(シンプルに使えること) ファイルのPUT/GET/DELETE/LIST/COPY • これだけ。とってもシンプル Plug & Play:
クラウドストレージを簡 単に使うための3rdパーティーソリュー ションが豊富に存在。ソリューション を使う事で簡単に利用する事が可能 SDK: アプリケーションデベロッパーは、 S3 SDKを使ってアプリケーションを開 発することが可能 Internet Web Services API HTTP(S) S3 & /or Glacier S3 AWS Storage Gateway
5.
node-s3ma Automatic local file
backup to two of S3 buckets.
6.
node-s3maの動作 Region node-s3ma 1)ファイル保存 2)S3にPUT 3)S3にバケット間 COPY命令 指定したディレクトリ以 下のファイル更新を検出 Region
7.
node-s3maをつかってみる インストール • npm install
node-watch aws-sdk mime 設定ファイル { "watchDir": "/tmp", "accessKeyId": "AKIA******", "secretAccessKey": "**********", "region": "us-west-2", "bucket": "*******-oregon", "topPrefix": "backup/", "bucketSync": "**********-ireland", "topPrefixSync": "backup/", "endpointSync": "https://s3-eu-west-1.amazonaws.com" }
8.
node-s3maの機能 nodeが動けばどんな環境でも動く(はず) ファイルの変更監視 • inotify (linux) •
WindowsやMacなどなどでも動かすためにnode-watch.js 並列転送 • nodeなんでC10Kとか • コア数分はマルチプロセス動作 mime-typeの自動判別 • mime.jsの使用。拡張子毎に任意に設定可能
9.
協力したい? https://github.com/armaniacs/node-s3ma/ • コアコードは100行弱です! • いっしょに試してくれる人募集 •
特にLinuxとMac以外で試していただける方
10.
使用例 S3を使って静的なウェブサイトを ホスティングする
11.
S3でウェブサイトをホスティングする理由 運用いらず • データがなくならないので、バックアップの必要なし • ハードウェア障害でサイトにアクセスできなくなる心配な し •
容量無制限なのでディスクがあふれる心配なし • 大量トラフィックによりサイトが落ちる心配なし • 操作はシンプルで簡単 安い • 従量課金で1ヶ月10円からはじめられる 技術で料金を下げることが可能
12.
例: 月間10000PVのサイトが月157円 想定スペック • ページ数100 •
1ページ当たりのファイル数 30 • 1ページ当たりの平均サイズ 1MB • 月間PV 10000 項目 単価 ストレージ 10円/GB リクエスト 0.4円/10000リクエスト 転送量 15.7円/GB 合計 金額 1円 12円 144円 157円
13.
S3を使って静的Webサイトを公開する手順 1. Webサイト用にS3のバケットを設定する。 2. バケット内のファイルがアップロードした際、自動的 に公開されるようバケットポリシーを追加する。 続くスライドではここを説明します 3.
手元でnode-s3maを動かす 4. S3のwebsite endpointにアクセスし、ウェブサイトが表 示されることを確認する。
14.
S3を使って静的なウェブサイトを ホスティングするためのバケット設定方法
15.
Webサイト用にバケットを設定する [All Buckets]をクリックしてバケット一覧ページを表示します。 1. [All
Buckets]をクリック
16.
Webサイト用にバケットを設定する 虫めがねボタンをクリックして右側にバケットのプロパティを表示します 1. 虫めがねボタンをクリック
17.
Webサイト用にバケットを設定する [Static Website Hosting]をクリックし、静的ウェブサイト用の設定項目を表 示します。 1.
[Static Website Hosting]をクリック
18.
Webサイト用にバケットを設定する [Enable website hosting]を選択し、Index
、Error Documentに ファイル名を入力したら、[Save]ボタンをクリックし設定を有効にします。 1. [Enable website hosting]をクリック 2. [index.html]と入力 3. [error.html]と入力 4. [Save]をクリック
19.
Webサイト用にバケットを設定する Endpointを確認しておきます。 • Endpoint経由でアクセスすることで、パス指定なしのURLでアクセスした場合に、Index Documentに指定したファイル(index.html)が、ファイルが存在しないURLにアクセスし た場合にError Documentに指定したファイル(error.html)が表示されるようになります。 Endpointを確認しておきます。
20.
バケットポリシーを設定する バケットポリシーを設定し、このバケットにアップロードされたファイルは 自動的に公開されるように設定します。 プロパティから[Permissions]をクリックし、[Add bucket policy]をクリックし て、Bucket
Policy Editorを起動します。 1. [Permissions]をクリック 2. [Add bucket policy]をクリック
21.
バケットポリシーを設定する Editorが表示されたら、下側にある [Sample Bucket
Policies]をクリックし、 サンプルページを表示します。サンプルページは別ウィンドウで開きます。 1. [Sample Bucket Policies]をクリック
22.
バケットポリシーを設定する [Granting Permission to
Anonymous User]を見つけて、その内容をコピーし ます。 1. この部分をコピー
23.
バケットポリシーを設定する コピーしたポリシーをEditorに貼り付けます。 1. この部分に貼り付け
24.
バケットポリシーを設定する 貼り付けた内容の[bucket]という部分を自分のバケット名に書きかえます。 書きかえ終えたら、[Save]ボタンをクリックし設定を保存します。 1. この部分を自分のバケット名に書きかえる 2. [Save]をクリック
25.
バケットポリシーを設定する バケットポリシーの保存が正常に完了すると [Add bucket policy]が[Edit
bucket policy]に変わります。 Edit bucket policyに変わっている