debiancdn

AWS, Content Delivery Network and Debian

タグアーカイブ: cdn

cdn.debian.net と ftp.jp.debian.org の動作に問題があればgithubにおねがいします。

Debianにおけるパッケージ流通はaptが基本的なものになっている。いまどき完全なスタンドアローンで動作しているような例もすくないので、なにかしらaptの御世話になっていることは多いかと思う。

昔のaptの実装ではhttp redirectができないので、http redirectに頼らない誘導方法になっている(現在のaptの実装ではhttp redirectができるので、http.debian.netというサービスが誕生している)。

check_serverの実装自体はRails3.2です。

動作チェック、文句、要望について

以下、内部の説明。

DNSサーバは dns.s.araki.net という名前で、dns_balanceが動作しています。

  • どのDNSを使うかはレイテンシベースのルーティングで3リージョンから選択している。
  • DNSであるdns_balanceは定期的にcheck_serverに対して最新のサーバ生死情報をELBのURL ( http://cdncheck1.araki.net/status/alive )に対してとりにいく。
  • 入手はJSONが使われる。この取得のためのプログラムは gae-surrogate.rbという名前

チェックサーバは、

  • チェック対象である世界中のDebianミラー200台をSQSに順次登録する。
  • チェックサーバの動作は http://cdncheck1.araki.net/view/index で確認できる。

チェックするためのコードはcheck-receive-forward.rbというファイル。

  • SQSからチェック対象ホストを1つ抜き出す。
  • チェックは対象ホストの http://対象サーバのアドレス/debian/project/trace/ftp-master.debian.org を確認し、最終ミラー時刻が8日以内であることを確認する。不達であったり遅延が大きい場合には”alive=0″として登録される。
  • チェック終了したらSQSから消す。
  • チェック結果はSimpleDBに登録

    地理情報の話やAS情報の話は又の機会に。

       

      広告

      今日からサポートされたCloudFrontの動的URLサポートのこまかい話

      CloudFrontがかなりパワフルになった。おねだんはそのままで!

      どれだけかわったかと言えば、とりあえず前のことは忘れてもいい(覚えていたほうがもっといいが必須ではない)と思えてしまうほど。(大枠は、【AWS発表】Amazon CloudFrontが動的コンテンツをサポート あたりを読んでいただきたい)

      これが今日からのwebサイトの標準体だろう。

      さて、ありがたいことに、動的URLといえばQuery Stringということで、すかさず質問をいただいたので。。

      というようなことを書いた。ついでなので細かなことを書いておこう。

      Query Stringについて

      • Query Stringはオプション機能として提供。有効にすると、Query Stringもすべて含んだfull URLがオリジンに送られる。
        • ロギング機能を有効にしていれば、Query Stringは記録される。
      • Query Stringの順番、大文字小文字に注意
      • Private Content機能を使うときにCloudFrontで予約しているQueryがあることに注意。
        • Expires, Policy, Signature, and Key-Pair-Id are reserved query parameters
      複数のオリジンサーバのサポートについて
      • S3 bucket, an ELB, an EC2 instance, a custom originなどなどを指定できる
      • 10オリジンまで. それぞれ”Origin ID”が付与される