2012年8月25日土曜日

Amazon CloudFront エッジロケーションのキャッシュを削除して10分で変更を反映させる

Expiresヘッダーを10年後とかに設定してるけど、CSSファイルの変更をすぐに反映させたいとかいうときに。
まあそんなに長く設定してなくてもデフォルト設定で24時間くらいかかるようなので。
  1. オリジンサーバー上のファイルを修正
  2. AWS Management Console上で該当するDistributionのDistribution Settingsへ
  3. InvalidationsタブでCreate Invalidateボタン押す
  4. 該当ファイルのパスを指定してInvalidate押す
  5. 10分待って変更が反映されてるか確認
普通にAWS Management Console上の操作を書いただけな感じになりましたがまあそんな感じで。

2012年8月23日木曜日

Amazon S3上のファイルのExpiresヘッダーを一括編集する

巷にはいろいろ便利ツールがあふれてると思いますが一応。
今回はRubyで aws-s3 を使ってみました。
require 'rubygems'
require 'aws/s3'

AWS::S3::Base.establish_connection!(
  :access_key_id     => '',
  :secret_access_key => ''
)
# 東京リージョンに設定
AWS::S3::DEFAULT_HOST.replace "s3-ap-northeast-1.amazonaws.com"

AWS::S3::Bucket.objects('static.xcream.net').each do |obj|
  if obj.key !~ /\/$/
    obj.store(
      :cache_control => 'max-age=315360000',
      :expires => Time.now + 60*60*24*365*10).httpdate,
      :access => :public_read
    )
  end
end
特にファイルの種類を区別することなく10年後に設定してます。

2012年8月20日月曜日

Ubuntu Serverを強制終了後、起動メニューで止まらないようにする

デフォルトでは異常終了時に起動メニューでタイムアウトせず手動でOS選択をしないといけない設定になってるので、諸事情などでリモートコンソールで状況が確認できないとかいう場合のために。
GRUB 2を使ってるUbuntuが対象なので9.10からみたいですね。

/etc/grub.d/00_header を編集します。
if [ "\${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=${2}
fi
電源長押し等で強制終了させた場合は recordfail=1 になるようなので timeout=-1 が設定されてタイムアウトしなくなります。
if [ "\${recordfail}" = 1 ]; then
  set timeout=${2}
else
  set timeout=${2}
fi
上記のようにするなり set timeout=${2} 以外はコメントするなりすればいいかと思います。
最後に update-grub2 をして変更を反映すれば完了です。

2012年8月18日土曜日

LO100の仮想KVMに接続できない場合に

LO100の Virtual KVM/Media をクリックしても Remote KVM/Media Viewer が起動せず以下のエラーが出るサーバがありました。

"com.serverengines.rdr.EndofStream: EndofStream"

Javaのバージョンとか変えたりして試したんですが、結果は変わらないので、まあ最悪データセンターに走ればいいやと放置してたのですが、この度(本当に行くはめになったので)再度調べてみると解決法がありました。
.pQd's log » Blog Archive » ilo

https://LO100のアドレス/M2.JAR

上記のように入力すると直接仮想KVMを起動できるJARファイルをダウンロードできます。
(M2.JARはそのまま大文字で入力しないとだめみたいです。)
あとはダウンロードしたJARファイルを実行すると Remote KVM/Media Viewer が起動します。

根本のエラーは放置な感じですが、これでまた安心してリモート管理ができるようになりました。
(なるべく使うような状況にはなりたくないものですが…)