2010年9月30日木曜日

オリジナルAMIの作成(CentOS)の"slideshare"

スズキです。

今さらですが、"slideshare"デビューです。

昔、JAWS-UGの第0回勉強会でのLTで使ったものです。

AWS+でも紹介されてます。

昔はAWSレベル低かったなー...
--------
http://www.suz-lab.com

2010年9月29日水曜日

ELBとBasic認証

スズキです。

ELB使ってて、下記のように全体にBasic認証をかけたら、
そのEC2インスタンスがELBから外れてしまいました…

--------【httpd.conf】--------
...
<Location />
    Basic認証
</Location>
...
--------

ELBは"/healthcheck.txt"に対して死活監視するようにしているので、
そのレスポンスが200(番台?)じゃなくなったから外された、
ってことです。

なので、下記を追加して死活監視しているファイルに、
Basic認証がかからないようにします。

--------【httpd.conf】--------
<Files healthcheck.txt>
    Satisfy Any
    Allow from all
</Files>
--------

二度あったから、三度目もあるだろう…
--------
http://www.suz-lab.com

2010年9月27日月曜日

25番ポートでSMTP-AUTH(Postfix)

スズキです。

以前、Postfixでの"Submission over SMTP-AUTH"を紹介しましたが、
http://blog.suz-lab.com/2010/05/submission-over-smtp-auth-postfix.html
今回は、25番ポートのままのSMTP-AUTHに関してです。

とはいっても設定は簡単で、基本的に上記で紹介した方法での、
"master.cf"に記述した内容と同様のものを下記のように"main.cf"に記述します。

--------【main.cf】--------
...
smtpd_sasl_auth_enable=yes
smtpd_recipient_restrictions =
permit_sasl_authenticated,reject_unauth_destination
...
--------
※reject_unauth_destinationがポイントでしょうか...

認証にdovecotを利用したものも書かなきゃ...
--------
http://www.suz-lab.com

"Google Chrome"をアプリケーションモードで起動

スズキです。

"Google Chrome"はアプリケーションモードで起動することができます。

アプリケーションモードとは、
アドレスバーが無いなど、非常にすっきりした表示モードです。

こんな感じで起動します。(AWSコンソールの起動)

> GoogleChromePortable.exe -app=https://console.aws.amazon.com/ec2/home
※Portable版使ってます…

KeePassで利用する場合は、URLの項目に以下のように記述します。

cmd://.../GoogleChromePortable.exe -app=https://console.aws.amazon.com/ec2/home

これで、KeePass上で、
"Ctrl + U"でAWSコンソール立ち上げて、
"Ctrl + V"でログインできるようになりました。

今日はもう1エントリー…
--------
http://www.suz-lab.com

2010年9月26日日曜日

PHPのセッションデータ格納先にMemcachedを利用(CentOS)

スズキです。

こちらで、Memcachedサーバができたので、
http://blog.suz-lab.com/2010/09/centosmemcached_26.html

今度はクライアント側の話です。
今回は、PHPのセッションデータ格納先として利用してみます。

まずは"php-pecl-memcached"のインストールですが、
諸事情でPHPは5.2系を利用しているので、下記のように行っています。

# rpm -Uvh http://rpms.famillecollet.com/enterprise/5/olds/x86_64/libmemcached-0.31-1.el5.remi.x86_64.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-pecl-memcached-0.2.0-1.el5.remi.x86_64.rpm

次に、設定ファイル(/etc/php.d/memcached.ini)を下記のように調整します。

--------【memcached.ini】--------
session.save_handler=memcached
session.save_path="localhost:11211"
--------

それに伴い、"/etc/php.ini"も調整します。
(session.save_handler,session.save_pathを無効にします)

--------【memcached.ini】--------
...
;session.save_handler = files
...
;session.save_path = "/var/lib/php/session"
...
--------

これでApacheを再起動すれば、
セッションデータがMemcachedに保存されるようになります。

土日もブログを書くようにしないとなー...
--------
http://www.suz-lab.com

CentOSにMemcachedをインストール&確認

スズキです。

以下のように、"yum"で簡単にインストールできます。
# yum install memcached

起動は以下のとおりです。
# /etc/init.d/memcached start

自動起動は次のとおりです。
# chkconfig memcached on

パラメータの調整は"/etc/sysconfig/memcached"で可能です。

--------【memcached】--------
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="1024"
OPTIONS=""
--------
※キャッシュに利用するメモリ(CACHESIZE0は1GByteにしています。

確認は次の通り、"telnet"で行うことができます。
# telnet localhost 11211

"stats"コマンドで以下のような状況を確認することができます。

--------【telnet】--------
stats
STAT pid 29736
STAT uptime 898
STAT time 1285476739
STAT version 1.4.5
STAT pointer_size 64
STAT rusage_user 0.060000
STAT rusage_system 0.070000
STAT curr_connections 5
STAT total_connections 903
STAT connection_structures 7
STAT cmd_get 896
STAT cmd_set 1792
STAT cmd_flush 0
STAT get_hits 2
STAT get_misses 894
STAT delete_misses 0
STAT delete_hits 896
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 206439
STAT bytes_written 28017
STAT limit_maxbytes 1073741824
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 4
STAT conn_yields 0
STAT bytes 93984
STAT curr_items 894
STAT total_items 1792
STAT evictions 0
STAT reclaimed 0
END
--------

次は、PHPのセッション格納先にMemcachedを利用する方法です。
--------
http://www.suz-lab.com

2010年9月24日金曜日

"s3cmd"でヘッダの追加

スズキです。

以前、"s3cmd"でS3との同期しかたを紹介しましたが、
http://blog.suz-lab.com/2010/08/s3cmd.html

今回は、その同期時に、任意のヘッダを加える方法です。
※下記で紹介したCloudFrontのTTLの調整に利用できます。
http://blog.suz-lab.com/2010/09/cloudfrontttl241.html

具体的には、下記のように"--add-header"オプションで行います。
--add-header=NAME:VALUE

実際に、CloudFrontのTTLを1時間にする場合は、
Cache-Control:max-age=3600
として、下記のように指定します。

--------【Shell】--------
#!/bin/sh
date >> /tmp/s3cmd.log 2>&1
/usr/bin/s3cmd -c /root/s3.cfg -P sync \
-v --no-preserve --no-progress --delete-removed \
--add-header=Cache-Control:max-age=3600 \
/tmp/source/ s3://cdn.suz-lab.com/target/ \
>> /tmp/s3cmd.log 2>&1
exit 0
--------

まだまだ、ブログにメモしたいことは、いっぱいある...
--------
http://www.suz-lab.com

CentOSにAPCをインストール(PHP)

スズキです。

下記で紹介した5.2.13用のインストール方法です。
http://blog.suz-lab.com/2010/04/centos-54php-5213yum.html

インストールは、こんな感じです。
# yum install php-pear
# rpm -Uvh http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-pecl-apc-3.0.19-1.el5.remi.x86_64.rpm

設定ファイルは下記にありますが、デフォルトの状態で有効になります。
/etc/php.d/apc.ini

管理画面のPHPは下記にあります。
/usr/share/doc/php-pecl-apc-3.0.19/apc.php

上記を HTTPで見えるパスにコピーして、下記のようにパスワードを設定しておくと、
そのアカウントでログインできるようになります。

--------【apc.php】--------
...
defaults('ADMIN_USERNAME','apc');
defaults('ADMIN_PASSWORD','apc!23');
...
--------

効果があるといいなー...
--------
http://www.suz-lab.com

Apacheのログを毎日圧縮して一ヶ月分残してローテート

スズキです。

といっても、単なる"logrotate"の話です。

こんな感じにしておけば、OKです。

--------【/etc/logrotate.d/httpd】--------
/var/log/httpd/*log {
  daily
  rotate 30
  compress
  missingok
  notifempty
  sharedscripts
  postrotate
    /sbin/service httpd reload > /dev/null 2>/dev/null || true
  endscript
}
--------

ブログネタが書ききれてないなー…
--------
http://www.suz-lab.com

Notepad++ Portable 5.8 リリース

スズキです。

近頃、エディタをサクラエディタからNotepad++に変更しました。
http://notepad-plus-plus.org/

そして、下記で紹介されているように、
ポータブル版のバージョン5.8もリリースされました。
http://portableapps.com/news/2010-09-22_-_notepadpp_portable_5.8

早速アップデートしておきましたが、使い始めて間もないので、
何が良くなったかは、まったくわかってません...

プラグインとかいろいろ試してみよう。。。
--------
http://www.suz-lab.com

2010年9月21日火曜日

CloudFrontで最短のTTLが24時間から1時間に

スズキです。

近頃、AWSで新機能がいろいろリリースされてますが、
今回は、そのレビューではなく、公式ブログの2010/04/20の記事についてです。

この記事は、CloudFrontの最短のTTLが24時間から1時間に短縮された、
というものです。

おそらく、今でもデフォルトは24時間のままじゃないかと思います。
(検証はしていませんが体感ということで...)

なので、短縮された1時間をTTLにするには、
下記のようなHTTPのヘッダーを該当コンテンツに加える必要があります。

Cache-Control: max-age=3600

下記のように"AWS Management Console"のS3のタブで、
該当コンテンツのプロパティで確認することもできます。


CloudFrontはAWSのプロダクトの中でもかなり秀逸なものだと思います。
効果的に利用した事例も、どんどん出てくるのではないでしょうか?
--------
http://www.suz-lab.com

Postfix&Dovecotで"POP before SMTP"(CentOS)

スズキです。

SMTP-AUTHでがんばろうとしましたが、
いろいろあって、結局"POP before SMTP"です...

まずは、必要なパッケージをインストールします。

# yum -y install perl-BerkeleyDB
# yum -y install pop-before-smtp

そして設定ファイル(/etc/pop-before-smtp-conf.pl)を下記のように、
Postfix&Dovecotに即した形に調整します。
※コメントアウトされている下記のコメントをはずします。

--------【pop-before-smtp-conf.pl】--------
...
$logto = '/var/log/pop-before-smtp';
...
$dbfile = '/etc/postfix/pop-before-smtp';
...
$file_tail{'name'} = '/var/log/maillog';
...
# For Dovecot POP3/IMAP when using syslog.
$pat = '^[LOGTIME] \S+ (?:dovecot: )?(?:imap|pop3)-login: ' .
'Login: .*? (?:\[|rip=)[:f]*(\d+\.\d+\.\d+\.\d+)[],]';
$out_pat = '^[LOGTIME] \S+ (?:dovecot: )?(?:imap|pop3)-login: ' .
'Disconnected.*? (?:\[|rip=)[:f]*(\d+\.\d+\.\d+\.\d+)[],]';
...
--------

さらに、Postfixの設定ファイル(/etc/postfix/main.cf)も下記のようにします。

--------【pop-before-smtp-conf.pl】--------
...
smtpd_recipient_restrictions =
check_client_access hash:/etc/postfix/pop-before-smtp,
reject_unauth_destination
--------

最後に、Postfixを再起動してPop-before-smtpを起動すれば、
Postfix&Dovecotで"POP before SMTP"が利用できるようになります。

# /etc/init.d/postfix restart
# /etc/init.d/pop-before-smtp start

メール関係は、一通り復習した感じかな...
--------
http://www.suz-lab.com

2010年9月20日月曜日

CloudFrontの上限

スズキです。

> 既定では、お客様の配信物のピーク時データ転送速度 1,000メガビット/秒、
> およびピーク時リクエスト速度 1000リクエスト/秒 がサポートされています。
> このトラフィック量よりも多くを見込む場合は、
> 制限値を増やすためのリクエストを行なってください。
> 2営業日以内に、お客様の配信物に対する能力が強化されます
--------
http://aws.amazon.com/jp/cloudfront/#details

とのことなので、まとめると次のようになります。

ピーク時データ転送速度: 1,000メガビット/秒
ピーク時リクエスト速度: 1,000リクエスト/秒

さらに上限を増やしたい場合は、下記フォームよりリクエストします。
http://aws.amazon.com/jp/cloudfront-request

今後もCloudFrontが大活躍の予感…
--------
http://www.suz-lab.com

S3とCloudFrontのみでサイトホスティング

スズキです。

下記のように、CloudFrontの機能も向上し、
そろそろ静的なコンテンツのみなら、EC2を引っ張りださなくても、
S3とCloudFrontのみでホスティングできるんじゃないか、
っていうか、したほうがいいんじゃないか?、と思うようになってきました。

▼CloudFrontで"Default Root Object"を指定
http://blog.suz-lab.com/2010/09/cloudfrontdefault-root-object.html

▼CloudFrontでInvalidation
http://blog.suz-lab.com/2010/09/cloudfrontinvalidation.html

ということで、実際にやっちゃいました。

やっちゃったサイトは、僕の所属している会社のサイトです。
http://www.iret.co.jp

超高速です…

万が一、Yahooのニュースなどになって、大量のアクセスがあっても、
今後は問題ないでしょう…

この辺、そのうち、AWS+の商品にも登場します…
http://www.aws-plus.com/service/
--------
http://www.suz-lab.com

2010年9月18日土曜日

PostgreSQLでウォームスタンバイ(pg_standby)

スズキです。

PostgreSQLのインストールが終わったら、
http://blog.suz-lab.com/2010/09/centospostgresql84.html
次は"pg_standby"を利用したウォームスタンバイです。

ですので、マスターサーバとスレーブ(スタンバイ)サーバが登場します。

▼ まずは両サーバでの作業です。

(1) 下記で"pg_standby"を利用できるようにします。

# yum -y install postgresql84-contrib

(2) "rsync"で"/var/lib/pgsql/backups/archive"に
アーカイブログを転送できるようにします。

# yum -y install xinetd
# yum -y install rsync

--------【/etc/rsyncd.conf】--------
[archive]
path=/var/lib/pgsql/backups/archive
read only=false
uid = postgres
gid = postgres
--------

# chkconfig xinetd on
# chkconfig rsync on
# /etc/init.d/xinetd start

詳しくはこちら
http://blog.suz-lab.com/2010/03/centosrsync.html

▼ 次にマスターサーバです。

(1) PostgreSQLを起動する前に、"/var/lib/pgsql/data"をバックアップして、
スレーブサーバに転送しておきます。

(2) 設定ファイル(/var/lib/pgsql/data/postgresql.conf)を下記のようにして、
アーカイブログをスレーブサーバに転送するようにします。

--------【postgresql.conf】--------
...
archive_mode = on
archive_command = 'rsync %p pg-slave::archive/%f'
archive_timeout = 10
...
--------

(3) PostgreSQLを起動します。

# /etc/init.d/postgresql start

▼ 最後にスレーブサーバです。

(1) まず、"/var/lib/pgsql/data"をマスターサーバのものにします。

(2) 下記のような"/var/lib/pgsql/data/recovery.conf"を用意します。

--------【recovery.conf】--------
restore_command = '/usr/bin/pg_standby -l -t
/var/lib/pgsql/data/failover /var/lib/pgsql/backups/archive/ %f %p %r'
--------
# ll recovery.conf
-rw------- 1 postgres postgres 116 9月 17 22:58 recovery.done

(3) PostgreSQLを起動するとリカバリーモードで起動します。(接続はできません)

# /etc/init.d/postgresql start

(4) "/var/lib/pgsql/data/failover"を作成するとファイルオーバーして、
接続できるようになります。

# touch /var/lib/pgsql/data/failover

次は、pgpool-II...
--------
http://www.suz-lab.com

2010年9月17日金曜日

Google Chrome Portable 6.0.472.59 リリース

スズキです。

つい最近、アップデート(6.0.472.59)したと思ったら、
http://blog.suz-lab.com/2010/09/google-chrome-portable-6047255.html

また、アップデートしていました...
http://portableapps.com/news/2010-09-16_-_google_chrome_portable_6.0.472.59

「7」も、そろそろ、ちゃんとリリースするのかなー…
--------
http://www.suz-lab.com

2010年9月15日水曜日

CentOSにPostgreSQL(8.4)をインストール

スズキです。

今やMySQLばかりで、すっかり忘れてしまったPostgreSQLですが、
縁あって、インストールから復習です。

まずは"yum"でインストールです。
※"postgresql-server"というパッケージもありますが、バージョンが8.1なので注意です。

# yum install postgresql84-server

そして、サービスを開始する前にDBを作成しておきます。
※DBを作っておかないとサービスを開始できません。

# /etc/init.d/postgresql initdb

最後に、サービスのスタートです。

# /etc/init.d/postgresql start

これで、PostgreSQLが利用できるようになりました。

今日中に全部、思い出そう...
--------
http://www.suz-lab.com

Microインスタンス登場!

スズキです。

最近、AWSの日本語ブログができたようです。
その2010/09/09の記事にMicroインスタンスという新インスタンスの紹介がありました。

早速、コンソールで確認してみると、下記のように、利用できるようになっていました。


特徴は下記のような感じです。

- 時間あたり$0.02(Windowsは$0.03)
- 613MBのRAM
- 32bit/64bit
- EBSブートのみ
- ephemeralストレージ無し
- CPUは短期間のバーストが可能で最大2ECU

といったことで、とりあえず、動作確認環境で利用してみようと思います。

AWS+の商品にも反映しないと...
--------
http://www.suz-lab.com

Google Chrome Portable 6.0.472.55 リリース

スズキです。

なんか、ChromeがVer.6になってました。

そして、ポータブル版もリリースしてました。
http://portableapps.com/news/2010-09-07_-_google_chrome_portable_6.0.472.55

ポータブル環境の見直しの一環として、早速、アップデートです。

でも、違いがあまりわかりませんでした...
--------
http://www.suz-lab.com

2010年9月14日火曜日

"rotatelogs"でログ出力(Apache)

スズキです。

CentOSで普通にApacheを利用していると、
ログのローテーションには、"logrotate"を使っていると思います。

この場合、ログのスイッチ時に、Apacheのリスタートが走り、
Webアプリケーションによっては、このタイミングで問題が発生する可能性もあります。

ということでタイトルのように、Apache標準の"rotetelogs"コマンドを利用して、
上記問題を回避してみました。

具体的には"/etc/httpd/conf/httpd.conf"を下記のように調整します。

--------【httpd.conf】--------
...
CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/access_log.%Y%m%d
86400" combined
...
--------

これで1日単位で、下記のようなファイル名で、
Apacheの再起動なしにログが出力されるようになります。
※ErrorLogでも利用可能です。

access_log.20100910
access_log.20100911
access_log.20100912

名前がまぎらわしい...
--------
http://www.suz-lab.com

PHP(4.4.9)で"phpMyAdmin"

スズキです。

最新の"phpMyAdmin"はPHP5にしか対応して無いので、
PHP4を使う場合は、以下のバージョンが2.11.11のものを利用します。

http://www.phpmyadmin.net/home_page/downloads.php

PHP4関係は、もう、落ち着いたかなー...
--------
http://www.suz-lab.com

2010年9月10日金曜日

CentOSにMemcachedをインストール

スズキです。

こんな感じです。

# yum -y install memcached
# /etc/init.d/memcached start
# chkconfig memcached on

AWSで、RDSみたいなMemcacheプロダクト、でないかなー...
--------
http://www.suz-lab.com

PHP(4.4.9)でMySQLを使えるようにするときに...

スズキです。

ソースからビルドするときに、オプションの書き方で違いがありました...

下記のようなオプションでビルドすると、

# ./configure --with-apxs2=/usr/sbin/apxs --with-mysql

以下のようになり、

--------【phpinfo】--------
...
Client API versioni: 3.23.49
MYSQL_MODULE_TYPE: builtin
...
--------

下記のようなオプションでビルドすると、

# ./configure --with-apxs2=/usr/sbin/apxs --with-mysql=/usr

以下のようになります。

--------【phpinfo】--------
...
Client API versioni: 5.1.50
MYSQL_MODULE_TYPE: external
...
--------

どちらもインストールまでできてしまうので、注意が必要です。

ここ数ヶ月、一日一エントリペースが達成できない...
--------
http://www.suz-lab.com

2010年9月9日木曜日

EC2(ap-southeast-1)のOEL(5.5)にOracle(10.2.0.1)をインストール

スズキです。

まず、OEL(Oracle Enterprise Linux)5.5の準備は下記のAMIを利用します。

ami-fa344aa8(131827586825/OEL5.5-x86_64)

次にOracleのインストールに必要なパッケージをインストールします。

# yum -y install libXp compat-db libgomp

カーネルパラメータ(/etc/sysctl.conf)も調整しておきます。

--------【sysctl.conf】--------
...
fs.file-max 327679
net.core.rmem_max=2097152
net.core.wmem_max:262144
net.ipv4.ip_local_port_range:1024 65000
--------
# sysctl -p

SELinux(/etc/selinux/config)も無効にしておきます。

--------【selinux/config】--------
SELINUX=disabled
...
-------

すでに存在する、oracleユーザーのパスワードも適当なものに変更しておきます。

# passwd oracle

ここで一旦、リブートして、次はOracleのインストールです。

まず、下記よりOracle(10201_database_linux_x86_64.cpio.gz)を
ダウンロード(/usr/local/src/)します。

http://www.oracle.com/technology/global/jp/software/products/database/oracle10g/htdocs/10201linx8664soft.html

ダウンロードしたファイルは、下記のように展開します。
(databaseディレクトリにいろいろ展開されます)

# gunzip 10201_database_linux_x86_64.cpio.gz
# cpio -idmv < 10201_database_linux_x86_64.cpio

そして、下記で紹介しているように、サイレントインストールを行います。

http://blog.suz-lab.com/2007/06/oracle10g2.html

実際には、下記のレスポンスファイルの値を次ののように調整しています。

/usr/local/src/database/install/response/se.rsp

--------【/home/oracle/se.rsp】--------
...
FROM_LOCATION="/usr/local/src/database/stage/products.xml"
ORACLE_HOME="/opt/oracle-10.2.0.1"
ORACLE_HOME_NAME="oracle_10_2_0_1"
s_nameForDBAGrp="dba"
s_nameForOPERGrp="dba"
n_configurationOption=3
...
--------
# cd /usr/local/src/database
# ./runInstaller -ignoreSysPrereqs -silent -responseFile /home/oracle/se.rsp

無事インストールが終わったら、最後にroot権限で下記コマンドを実行します。

# /home/oracle/oraInventory/orainstRoot.sh
# /opt/oracle-10.2.0.1/root.sh

これで、Oracleインストールの完了です。

次は、データベースの作成です...
--------
http://www.suz-lab.com

2010年9月7日火曜日

CloudFrontで"Default Root Object"を指定

スズキです。

再び、CloudFrontネタで、クイックじゃないレビューです。

今回は、2010/08/02に本家のブログで紹介された内容です。

CloudFrontの利用で、よく話題になるものに、"/"でアクセスすると、
コンテンツの情報が出力されてしまう、というものがあります。

これが、"Default Root Object"として適当なオブジェクト(ファイル)を指定することで、
回避できるようになりました。
("/"でアクセスしても指定したファイルの内容が出力されます)

サポートしているツールは以下のようです。

- CloudBuddy Personal
- Bucket Explorer
- CloudBerry Explorer
- boto

ですので、今回も、以前利用した"CloudBerry Explorer"で確認してみました。

まずは下記のように、CloudFrontで公開している適当なS3のバケットを右クリックして、
メニューの「Distribution」を選択します。


次に以下のように、表示した"General"タブの下部にある"Default root object"に、
すでに存在している、適当なコンテンツを入力すると、"/"でアクセスしたときに、
入力したオブジェクト(ファイル)の内容が出力されるようになります。



ただし、適用されるのは、"http://cdn.suz-lab.com/"のみで、
そもそも、コンテンツ情報が出力されない"http://cdn.suz-lab.com/img/"などの
サブフォルダに関しては、今までどおり、コンテンツが見つからない状態のままです。

静的なコンテンツだけなら、"S3 & CloudFront"だけで、いけるんじゃないかなー...
--------
http://www.suz-lab..com

2010年9月3日金曜日

CloudFrontでInvalidation

スズキです。

ぜんぜんクイックではありませんが、AWS情報のクイックレビューです

2010/08/31のオフィシャルブログの記事にCloudFrontのInvalidation機能が
新機能として紹介されてました。

Invalidation機能とは、すべてのエッジサーバから指定したオブジェクト(ファイル)を
削除する機能で、要は、キャッシュクリアです。
(削除の反映は10分から15分程度かかるようです)

APIとして提供はされているのですが、機能が利用できるツールは、
今のところ、下記の二つのようです。

- CloudBuddy Personal
- CloudBerry Explorer

今回は、"CloudBerry Explorer"で試してみました。

下記のように、適当なオブジェクト(ファイル)を右クリックすると、
メニューから"CloudFront Invalidation"が選択できることが確認できます。


実際に、オブジェクト(ファイル)を上書きして、Invalidationすると、
10分程度で上書きしたものに、CloudFront上のキャッシュも変更されていることが確認できます。

最後にコストに関してですが、月当たり、最初の1000回は無料で利用できますが、
それ以降は、$0.005/回かかるので、乱用すると痛い目にあうかもしれません。

CloudFront、充実してきたなー...
--------
http://www.suz-lab.com

2010年9月2日木曜日

CentOSにOracle(10)が使えるPHP(4)をインストール

スズキです。

まずは下記より、Oracleの"Instance Client"をダウンロードします。
(RPM版があるので、そちらをダウンロードします)
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

PHPのビルドに必要なのは下記となります。

▼Instant Client Package - Basic
All files required to run OCI, OCCI, and JDBC-OCI applications

▼Instant Client Package - SDK
Additional header files and an example makefile
for developing Oracle applications with Instant Client

ダウンロードしたら、RPMのインストールです。

# rpm -Uvh oracle-instantclient-basic-10.2.0.4-1.x86_64.rpm
# rpm -Uvh oracle-instantclient-devel-10.2.0.4-1.x86_64.rpm

PHPのビルドは基本的に下記で紹介したとおりです。
http://blog.suz-lab.com/2010/09/centosphp4449.html

ただし、"configure"のオプションは下記のようにします。

# ./configure ¥
--with-apxs2=/usr/sbin/apxs ¥
--with-oci8-instant-client=/usr/lib/oracle/10.2.0.4/client64/lib

ただし、このままだと、次のようなエラーが発生してしまいます...
"Oracle Instant Client SDK header files not found"

これは、RPMでインストールした、"oracle-instantclient-devel"の
インストールパスの整合性が取れてないからなので、
下記のように整合性を取ります。

# cd /usr/lib/oracle/10.2.0.4/client64/lib/
# mkdir sdk
# cd sdk
# ln -s /usr/include/oracle/10.2.0.4/client64 include

この状態で再度"configure"すると問題なくインストールまでできるようになります。

APACでLARGEインスタンスが作れない...
--------
http://www.suz-lab.com

CentOSにPHP4(4.4.9)をインストール

スズキです。

古い環境をAWSに移行するので...

"apxs"が必要なので、"httpd-devel"をインストールします。

# yum -y install httpd-devel

下記より、"php-4.4.9"を見つけてダウンロードします。
http://www.php.net/releases/

そして、いつものお約束です。
# tar xvzf php-4.4.9.tar.gz
# cd php-4.4.9
# ./configure --with-apxs2=/usr/sbin/apxs
# make
# make install

"/etc/httpd/conf/httpd.conf"に下記を追記します。

--------【httpd.conf】--------
...
# For PHP4
LoadModule php4_module modules/libphp4.so
AddType application/x-httpd-php .php
--------
※ 以前にも調べてました...
http://blog.suz-lab.com/2009/05/phphttpdconf.html

ドキュメントルートに、以下のようなPHPを置いて、
PHPの情報が表示すれば、無事インストール完了です。

--------【PHP】--------
<?php phpinfo(); ?>
--------

次はOracleクライアントだー...
--------
http://www.suz-lab.com

2010年9月1日水曜日

NRPEの設定(監視側)

スズキです。

リモートホスト側に引き続き、監視側の設定です。
http://blog.suz-lab.com/2010/08/nrpe.html

とりあえず、Nagiosのインストールです。

# yum -y install nagios
# yum -y install nagios-plugins-all

NRPEプラグインもインストールしておきます。

# yum -y install nagios-plugins-nrpe

そして、NRPEプラグインが利用できるように、
設定ファイル(/etc/nagios/objects/commands.cfg)に下記を記述します。

--------【commands.cfg】--------
...
# 'check_nrpe' command definition
    define command {
    command_name check_nrpe
    command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$
}
...
--------

最後に、下記のように監視設定を記述すれば、NRPE経由で取得した、
ローカル情報に対して、監視ができるようになります。

--------
define service {
    use suz-service
    host_name suz-master
    service_description Current Load
    check_command check_nrpe!check_load!5,4,3 10,6,4
}
--------

監視設定も、あと二つ...
--------
http://www.suz-lab.com