Blog Archives

S3にBasic認証付きリクエストをすると400:Bad Requestになる

nginx で S3 にリバースプロキシしたサイトで、特定の URL 配下にしらーっとBasic認証を追加したら、S3 のリソースの取得が”400 : Bad Request” でことごとく失敗していた。 現象を再現させる まずはこの動きを確認してみる S3を用意 バケットを作成し、オブジェクトを public-read の ACL つきて PUT する。 public read が付いているので、anonymous user も GET できる。 Basic 認証付きでリクエスト 次に Basic 認証付きでリクエストしてみる みごとに 400 Bad Request エラーが発生した。 nginx での解決

Tagged with: , , ,
Posted in aws, middleware

[AWS]S3オブジェクトのHTTPステータスコードをカスタマイズして計画メンテナンスページを構築

計画メンテナンスでサイトを一時的に閉じる時、ブラウザでアクセスしてくる一般ユーザにはメンテナンスページを返せば十分だけれども、 検索ボットにはメンテナンスページの HTTP ステータスコードを 503:Service Unavailable で返すのが好ましい。 Official Google Webmaster Central Blog: How to deal with planned site downtime メンテナンスページは静的という前提のもと、AWS の DNS サービス route53 と CDN サービス CloudFront とストレージサービス S3 を組み合わせで実現してみる。 route53-ELB-EC2 というようなサーバ構成の場合、メンテナンスの前後で route53 の Alias Target を本番用の ELB からメンテナンスページ用の

Tagged with: , , ,
Posted in aws

cURLの出力結果をカスタマイズする

Chrome の Developer Tools→Network→Timing にはリソース取得の各ステップにかかる時間が俯瞰できるようになっていて、このデータへアクセスする JavaScript API も用意されている。 諸般の事情により、これと同等のデータを cURL を使ってコマンドラインから取得する方法をメモ。 というか、必要なことは次のブログにまとめられている Timing Details With cURL https://josephscott.org/archives/2011/10/timing-details-with-curl/ cURL デフォルトの出力 cURL デフォルトの表示は以下のようになる(レスポンスデータは -o オプションで /dev/null に捨てる) プログレスバーは -s/–silent オプションをつけると無効化できる。 出力のカスタマイズ 本題の出力メッセージのカスタマイズを行うには、フォーマットを記述したファイルを用意して -w/–write-out @format-file-name というオプションをつければ良い。 フォーマットの記述について 送受信の転送量やらHTTPレスポンスステータスやリダイレクト情報などいろいろな情報をとれるのだけど、Chrome にちかい指標は以下 time_namelookup : DNS Lookup

Tagged with: , , , , ,
Posted in aws, web

AWS-CLIからS3の暗号化を使ってみる

S3のデータ保護 S3は以下のような手順で S3 ストレージの機密性を担保している。 1. ssl通信 S3 サービスイン時から 2. client-side encryption クライアント側で暗号化したデータを S3 に保存する。 http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html http://aws.amazon.com/blogs/aws/client-side-data-encryption-using-the-aws-sdk-for-java/ 以下の SDK で対応 Java .NET Ruby 3.server-side encryption S3 の出し入れ時に AWS が管理する鍵で暗号・復号する。 http://aws.amazon.com/blogs/aws/new-amazon-s3-server-side-encryption/ http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html 4.server-side encryption with customer-provided encryption keys(SSE-C) S3の出し入れ時にクライアントが指定した鍵で暗号・復号する。 2014-Jun-12 発表 http://aws.amazon.com/blogs/aws/s3-encryption-with-your-keys/

Tagged with: , , , ,
Posted in aws

AWS CLIでS3オブジェクトのContentTypeを設定する

aws が提供するコマンドラインツールの aws cli を使って、S3オブジェクトのContentTypeを設定する方法をメモ。 aws s3 cp の場合 default aws s3 cp コマンドを使うと、デフォルトでは ContentType が guess される。 guess の仕様は Python 標準ライブラリー の mimetypes.guess_type に準拠。 guess 例 ContentType の guess をやめる –no-guess-mime-type をつけて cp する。 ContentType を明示的に指定 –content-type で明示的に指定して cp

Tagged with: , ,
Posted in aws

AWS CLIを使ってELBのS3ログ転送設定をする

コマンドラインツールの aws cli を使って Elastic Load Balancing(ELB) のログを S3 転送させる方法をメモ。 ELB の S3 へのログ転送機能について 2014年3月から ELB のアクセスログを S3 に転送できるようになった http://aws.typepad.com/aws/2014/03/access-logs-for-elastic-load-balancers.html http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/access-log-collection.html マニュアルを読めばわかるように、管理コンソールからの S3 ログ転送設定は極めて簡単。 ELB の “Description” タブにある “Access Logs” の “Edit” をクリックし、ユニークな S3 のバケット名を指定して、 “Create the location for me”

Tagged with: , , ,
Posted in aws

AWS S3のバケット別使用量を調べる

AWS S3 の各バケットで使用している容量を調べる方法をメモ。 AWS 管理画面から使用量を出力 AWS 管理画面のアカウントメニューに「Usage Reports」がある。 この機能を利用して S3 のバケットごとの使用量(Byte-Hours)を調べる。 Service に “Amazon Simple Storage Service” を選択 Usage Types に “TimedStorage-ByteHrs” を選択 あとは期間とフォーマットを指定してダウンロード。 出力データにはバケットごとに使用量が UsageValue カラムに出力される。 単位は Byte-Hours なので、請求の目安に利用できる。 要らなくなったバケットに大きな数字がのっていたら、さっさと整理しないといけない。 CSV Format XML Format 注意点としては、この機能は決済情報を閲覧できるような強い権限がないと使えない。 権限がなりないアカウントでこの画面に遷移すると、以下のようなエラー画面が表示される。 via http://serverfault.com/a/455375 http://webapps.stackexchange.com/a/2360

Tagged with: , ,
Posted in aws
Archives
  • RT @__apf__: How to write a research paper: a guide for software engineers & practitioners. docs.google.com/presentation/d… /cc @inwyrd 5 months ago
  • RT @HayatoChiba: 昔、自然と対話しながら数学に打ち込んだら何かを悟れるのではと思いたち、専門書1つだけ持ってパワースポットで名高い奈良の山奥に1週間籠ったことがある。しかし泊まった民宿にドカベンが全巻揃っていたため、水島新司と対話しただけで1週間過ぎた。 それ… 6 months ago
  • RT @googlecloud: Ever wonder what underwater fiber optic internet cables look like? Look no further than this deep dive w/ @NatAndLo: https… 6 months ago
  • @ijin UTC+01:00 な時間帯で生活しています、、、 11 months ago
  • RT @mattcutts: Google's world-class Site Reliability Engineering team wrote a new book: amazon.com/Site-Reliabili… It's about managing produc… 1 year ago