kenju's blog

About Programming, Mathematics, Security and Blockchain

AWS

動画配信におけるHTTP Live Streamingの概要について

動画配信プラットフォームを設計している。 Streaming/Download2種類の配信方法がある 配信方法には大きく分けるとStreaming/Downloadの2種類 + 他の動画プラットフォームを利用する手法が考えられる。 Streaming Download Pre Download Progressive Downloa…

TerraformでModulesを用いてResourcesの保守性UP

Terraformでは、Modulesを使うと、リソースを分割管理することができる。 保守性・メンテナンス性が向上するので、Terraformで複数リソースを管理している場合にはおすすめ。 www.terraform.io メリット main.tfの肥大化を避けられる git submodulesに切り出…

「CloudFrontのPolicyに複数のStatementを定義することはできない」件をAWSサポートチームに確認した

tl;dr 「CloudFrontのPolicyに複数のStatementを定義することはできない」件をAWSサポートチームに確認した オフィシャルチームに明確な回答を得ることで、今後ドキュメントに書かれていない使用を確認するために、無用な労力をかける人が減ることを期待して…

AWS SDK for RubyでS3のファイルを扱う時はdownload_file/upload_fileを使う

tl;dr S3へのファイルのアップロードには、#putも#upload_fileもいずれも使えるが、特別な理由がない限り#upload_fileを使うべき 同様に、ダウンロードする際は#download_fileを使う s3 = Aws::S3::Resource.new(...) obj = s3.bucket('bucket-name').object…

CloudFrontにおける署名付きCookieの悪用防止対策について

署名付きCookieを利用する場合、Cookieの悪用を防止するため、公式ドキュメントでは実装時に考慮すべきポイントについて↓でまとめられています。 このエントリーでは、一つ一つについて深掘りします。 docs.aws.amazon.com tl;dr CloudFrontで署名付きCookie…

CloudFrontで署名付きCookieで配信する場合のPolicy Statementsについて

署名付きCookieでコンテンツを配信する場合、コンテンツにアクセスできるユーザーを制御するため、ポリシーを適用することになると思います。 その場合、選択肢としては 既定ポリシー 独自ポリシー の二つが存在します。 既定ポリシーと独自ポリシーの違い ↓…

CloudFrontを経由してS3のPrivate Objectsを配信する実装方法まとめ

tl;dr CloudFrontを経由してS3のPrivate Objectsを配信する実装方法には「署名付きURLを用いた認証」と「署名付きCookieを用いた認証」の2パターンが存在 サービスの要件として「絶対にURLの漏洩によるデータ流出のリスク」を避けなければならない場合、「署…

S3 Lifecycle Ruleに設定したExpiration/Transitionの期間はいつから有効になるか

tl;dr Expiration/Transitionに設定した日付は、翌日の午前 00:00(UTC)に丸め込まれた上で加算計算される つまり、経過日数で設定した場合、常に 00:00(UTC)で移行・削除アクションが実行される より詳細な時刻でObjectのExpiration/Transitionのタイミ…

Versioningが有効なS3 Bucketsにライフサイクルポリシーを設定する

ObjectsのLifecycle設定について S3に配備したObjectsに対して、 一定期間経過したら、AWS Glacierなどの別サービスに移行する 一定期間経過したら、S3 Bucketsから削除する という設定をすることができます。これは、「Lifecycle設定」と呼ばれています。 d…

CloudFrontのPolicyに複数のStatementを定義することはできない

元ネタ:“Multiple Policy Statements for CloudFront Custom Policy (Signed Cookies) ” CFのリソースを複数定義したいとする。ドキュメント を読む限り、 { "Statement": [ { "Resource":"URL or stream name of the object", "Condition":{ "DateLessThan…

書評『Serverless Single Page Apps: Fast, Scalable, and Available』を読んで

購入した本 Serverless Single Page Apps: Fast, Scalable, and Available作者: Ben Rady出版社/メーカー: Pragmatic Bookshelf発売日: 2016/06/24メディア: ペーパーバックこの商品を含むブログを見る なぜ買ったか 仕事で一部導入しているSPAへの知見を深…