2010年8月31日火曜日

passwd: Authentication token manipulation error (Linux)

スズキです。

Linuxでパスワード変更しようとしたときのエラーです...

以下に原因と対策が詳しく紹介されていました。
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/428errpasswdcmd.html

実際は、こんな感じに、コマンド打ってます。

# passwd
Changing password for user root.
passwd: Authentication token manipulation error
# pwconv
# passwd
Changing password for user root.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

でも、SSHの認証で"root"がパスワード入力でログインできるようになってしまった...
--------
http://www.suz-lab.com

2010年8月30日月曜日

Linux(CentOS)でCPUとメモリの情報を取得

スズキです。

"/proc/cpuinfo"と"/proc/meminfo"に書いてあります。

シンガポールのEC2(Smallインスタンス)で試してみました。

# cat /proc/cpuinfo
--------
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Xeon(R) CPU E5430 @ 2.66GHz
stepping : 10
cpu MHz : 2666.666
cache size : 6144 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu tsc msr pae mce cx8 apic mca cmov pat pse36
clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni
monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm
bogomips : 5336.03

# cat /proc/meminfo
--------
MemTotal: 1740944 kB
MemFree: 1018876 kB
Buffers: 29432 kB
Cached: 549724 kB
SwapCached: 0 kB
Active: 345108 kB
Inactive: 312048 kB
HighTotal: 1003528 kB
HighFree: 366780 kB
LowTotal: 737416 kB
LowFree: 652096 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 128 kB
Writeback: 0 kB
Mapped: 10856 kB
Slab: 39532 kB
CommitLimit: 870472 kB
Committed_AS: 11952 kB
PageTables: 320 kB
VmallocTotal: 118776 kB
VmallocUsed: 248 kB
VmallocChunk: 118512 kB

8月も終わってしまう...
--------
http://www.suz-lab.com

2010年8月27日金曜日

(書評) Amazon EC2クラウドWindows2003 Server構築ガイド

スズキです。

目次は下記の通りです。
========
1. Amazon EC2って何?
2. アカウントの作成
3. 仮想マシンの設定と起動
4. 保存用ドライブEBSの設定
5. 日本語化と実用的設定
6. バンドルとAMIの作成
7. EC2その他の機能
8. AWS登録内容の確認と変更
9. IISのインストール
10. Apacheのインストール
11. PHPのインストール
12. MySQLのインストール
13. phpMyAdminのインストール
14. FileZillaのインストール
15. Mercuryのインストール
16. XAMPPのインストール
17. WordPressのインストール
18. FileMaker Serverのインストール
========

Windowsに特化した、現在、唯一のEC2(AWS)本です。

ただ、「Windows & EC2」の内容は、以下の部分で、
それほどボリュームがあるわけではありません。

3.03(P.36) Administrator用Passwordの発行

4.01(P.44) サーバへVolumeを追加する

4.03(P.54) Windowsインストールディスクを準備する

6.05(P.91) バンドルを行う(インスタンスのバックアップ)

それ以外は、はじめの方は、クラウド/AWS/EC2の概論的な話、
おわりの方は、むしろWindows上でのサーバ構築の話になっています。

EC2本というよりも、Windows上でのサーバ構築本として、
購入したほうが、気分的にいいかもしれません。

AWS系の和書はコンプリートかな?
--------
http://www.suz-lab.com

NRPEの設定(リモートホスト側)

スズキです。

NRPEとは、Nagiosのコマンドをリモートホスト上で実行する仕組みです。
SNMPなどを使わずに、
リモートホストのロードアベレージなどの監視ができるようになります。

インストールはこんな感じです。

# yum install nagios-nrpe rpmforge
※ rpmforge


# yum install nagios-plugins-all
※ epel

そして"/etc/nagios/nrpe.cfg"を下記のように適当に修正します。

allowed_hosts=127.0.0.1
→ #allowed_hosts=127.0.0.1
※どこからでもアクセス可能にします。(EC2なんで…)

dont_blame_nrpe=0
→ dont_blame_nrpe=1
※実行するコマンドに引数を使えるように

コマンドの登録も適当にしておきます。
command[check_users]=/usr/lib/nagios/plugins/check_users -w $ARG1$ -c $ARG2$
command[check_load]=/usr/lib/nagios/plugins/check_load -w $ARG1$ -c $ARG2$
command[check_disk]=/usr/lib/nagios/plugins/check_disk -w $ARG1$ -c
$ARG2$ -p $ARG3$
command[check_procs]=/usr/lib/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$

これで、下記のようにNRPEサービスを開始すれば、Nagiosから利用できます。
# /etc/init.d/nrpe start

起動時に開始するようにするには、こちらです。
# chkconfig nrpe on

次は、Nagios側の設定…
--------
http://www.suz-lab.com

2010年8月24日火曜日

SUZ-LAB謹製 CentOS AMI アップデート (ap-southeast-1)

スズキです。

"ap-southeast-1"でも公開しました。

Manifestは下記となります。

64bit: 811118151095/suz-lab_ebs_centos-core-x86_64-5.5.2
32bit: 811118151095/suz-lab_ebs_centos-core-i386-5.5.1

そろそろ、下記にも登録しようかなー...
http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=171
--------
http://www.suz-lab.com

"hostname"を変更したらProFTPDが動かなくなった

スズキです。

以下のように"hostname"を変更したら、

# hostname suz-lab

ProFTPDが動作しなくなってしまいました...

実際に下記のように"proftpd"コマンドを実行してみると、
"hostname"に指定した"suz-lab"から
IPアドレスを決定できないことが原因のようです。

# proftpd
- warning: unable to determine IP address of 'suz-lab'
- error: no valid servers configured
- Fatal: error processing configuration file '/etc/proftpd.conf'

なので、"suz-lab"でIPアドレスが決定できるように、
下記のように、"/etc/hosts"ファイルに記述します。

--------【hosts】--------
127.0.0.1 localhost suz-lab
--------

これで、ProFTPDを再起動すると、無事、動作することが確認できました。

エラー系のログが無くて、解決に時間がかかってしまった...
--------
http://www.suz-lab.com

2010年8月23日月曜日

MySQLのメモリ関係のパラメータとRDSのデフォルト値

スズキです。

メモリ関係のパラメータは、下記のように"/etc/my.cnf"で指定できます。

--------【my.conf】--------
...
key_buffer = 1024M
sort_buffer_size = 8M
read_buffer_size = 8M
--------

【key_buffer】
MyISAM テーブルのインデックスを保存しておくバッファの大きさ。
サーバ全体で共有。

【sort_buffer_size】
sort時に使用されるバッファの大きさ。
"ORDER BY"や"GROUP BY"のパフォーマンスに影響。

【read_buffer_size】
テーブルを順次読み込んでいく時に使用されるバッファの大きさ。
INDEXが使用されない場合のパフォーマンスに影響。

そして、RDS(LARGE)では、デフォルトで下記のように設定されています。

sort_buffer_size: 2097144
key_buffer_size: 16777216
read_buffer_size: 262144

パラメータ関係はもっと調べておかないと...
--------
http://www.suz-lab.com

2010年8月19日木曜日

CentOSにUserminの導入

スズキです。

いつもの"yum"頼みです。

# yum install usermin
※リポジトリは"webmin"です。

...
Usermin install complete. You can now login to http://xxx.xxx.xxx.xxx:20000/
as any user on your system.
...

これで、 http://xxx.xxx.xxx.xxx:20000/ でUserminにアクセスできます。

言語の変更は"/etc/usermin/config"で設定します。

--------【config】--------
...
lang=ja_JP.UTF-8
--------

HTTPSでアクセスしたい場合は、Net::SSLeay(Perlモジュール)をインストールし、

# yum install perl-Net-SSLeay
※リポジトリは"rpmforge"です。

"/etc/usermin/miniserv.conf"の"ssl=0"を"ssl=1"に変更します。

--------【miniserv.conf】--------
...
ssl=1
...
--------

これで、 https://xxx.xxx.xxx.xxx:20000/ でUserminにアクセスできます。

ApacheやMySQLとの連携も調査しないと...
--------
http://www.suz-lab.com

"us-west-1"のAMI(EBS)を"ap-southeast-1"に

スズキです。

結局、かなりベタな方法になってしまいました。

【us-west-1】

1. AMIのスナップショットからEBSボリュームを作成

"AWS Management Console"などの適当なツールで簡単にできます。

2. 適当なインスタンス(Linux)を立ち上げ、上記のEBSボリュームをアタッチ

これも適当なツールで簡単にできます。

3. インスタンスにログインしてEBSボリュームの内容からイメージファイルを作成

下記コマンドでできます。(EBSボリューム"/dev/sdb1"は10Gを想定)
# dd if=/dev/sdb1 of=suz-lab.img count=10240 bs=1M

4. イメージファイルを"ap-southeast-1"のインスタンス(Linux)に転送

"ap-southeast-1"にインスタンスを用意した後、"scp"などで転送します。

【ap-southeast-1】

1. 適当なインスタンス(Linux)を立ち上げ、新規のEBSボリュームをアタッチ

"us-west-1"からイメージファイルを"scp"する前に立ち上げときます。

2. イメージファイルの内容をEBSボリュームにコピー

下記コマンドでできます。(EBSボリューム"/dev/sdb1"は10Gを想定)
# dd if=suz-lab.img of=/dev/sdb1 count=10240 bs=1M

3. EBSボリュームをデタッチしたスナップショットを作成

"AWS Management Console"などの適当なツールで簡単にできます。

4. スナップショットをAMIとして登録

下記コマンドでできます。("--region"の指定に注意です)
# ec2reg \
-K /mnt/pk.pem \
-C /mnt/cert.pem \
-s snap-xxxxxxxx \
-a i386 \
--region ap-southeast-1 \
-d suz-lab \
-n suz-lab

これで、"ap-southeast-1"にもSUZ-LAB謹製AMIが整ったぞ。
--------
http://www.suz-lab.com

iPhone 4 & RBK-2000BTII

スズキです。

一時期、どこにも売ってなかったんですが、
ついに購入することができました。

ペアリングも簡単に問題なく完了しました。

現在、キーボードのある"iPhone 4"生活を試しているところです。

とりあえず、仕事でも使っているメッセンジャー系は、BeejiveIMを利用して、
iPhoneで受けることにしました。

机にいるときは、このキーボードで操作するようにしているのですが、
アプリとともに、なかなか実用的じゃないか?、と思っています。
(机にいるときは、ついでにSMS/MMSも、このキーボードで操作しています...)

次はポメラ的な使い方に挑戦してみようと思います。

メモアプリは何にしよう...
--------
http://www.suz-lab.com

(献本御礼) 間違いだらけのソフトウェア・アーキテクチャ

スズキです。

訳者、出版社より、献本いただきました。

目次は以下の通りです。
========
第1章 アーキテクト入門―長い道のりの最初の一歩

プロローグ ─ 最後のセミナー
セミナーの始まり

第2章 アーキテクチャという名の歴史と思想―僕の偏った歴史観
コンピュータとアーキテクチャの歴史
休憩時間に……その1「アジャイルについて」

第3章 アプリケーションアーキテクチャへようこそ―もしくは勝手な思いつき
アーキテクチャ概要
休憩時間に……その2「製造業と開発プロセスについて」

第4章 品質特性シナリオ―ようやくアーキテクトの仕事っぽくなってきた
品質特性を見つける
休憩時間に……その3「認証について」

第5章 ビジネスロジックと形式手法―人間の仕事という不可解な部分を考察する
人間の仕事ってヤツは
形式主義者
休憩時間に……その4「見積もりと経験について」

第6章 ATAM による分析評価―アーキテクチャを丸裸にする話
アーキテクチャの分析/評価
休憩時間に……その5「派生開発とアーキテクチャの分析と評価」

第7章 メトリクスとDSM―俺の考えたアーキテクチャを壊すヤツは許さん
アプリケーションの分析/評価

第8章 アーキテクトへの長い道のりの次の一歩―ここで崖に落ちなきゃいいんだけど
セミナーのおわり
おわりに

訳者あとがき
参考文献
========

本書は、アプリケーションアーキテクチャ(特に非機能要件)の開発と評価の方法と、
それを行うアーキテクトの役割を、セミナー形式で少しくだけた感じに紹介しています。

セミナーには、下記のような職種の参加者おり、それぞれの視点で、
著者に「つっこみ」をいれています。

- シニア・マネージャー
- 宇宙人
- アジャイル教の教祖
- IT雑誌の記者
- SE
- 新人

上記の参加者は、それぞれの職種での立場をかなり誇張した形で書かれていますが、
「あー、そんな人いたなー」
「自分も、そんな風に考えてたことがあったなー、」
など思い当たる節も多々あり、つい、昔をふりかえながら読んでしまいました。

本書で、アプリケーションアーキテクチャが、どのように紹介されているか、
簡単にメモしてみました。(詳しくは書籍を読んでください!)

▼ アーキテクチャは下記より決定

- 機能要件 & 非機能要件
- 制約条件 & 前提条件

▼ アーキテクチャが提供するもの
-システムの理解を助ける
-組織の構造に影響を与える
-将来の見通しを良くする
-ソースコードの実装ルールを提供する
-システムの品質

▼ アプリケーションアーキテクチャー → 論理層 + 物理層

論理層: ビジネスロジック部分、表示部分、永続化部分、...
物理層: 各種フレームワーク、共通ライブラリ、...

▼ アーキテクトの作業
1. 要件定義
2. アーキテクチャの構築
3. 実装環境の準備
4. アーキテクチャ管理

最後に、心に残ったフレーズを、いくつか紹介しておきます。

「見積は経験で出すのが一番。」
※巷の見積もり手法は、あくまで参考値として...

「アーキテクトは月に一回電車を乗り間違える。」
※いつもアーキテクチャのことを考えてるから...(近頃、乗り間違えないなー...)

「一匹の羊に率いられた百匹の狼は、一匹の狼に率いられた百匹の羊に敗れる。」

※チームリーダークラスを充実させるのが効率いいのでは?

「完璧とは、何かを足せない状態になることではない。何も削るものがなくなった状態のことだ。」
※(これは、これから、いつも意識するようにしよう...)

献本、大歓迎!(ご相談は suzuki@suz-lab.com まで)
--------
http://www.suz-lab.com

2010年8月13日金曜日

(書評) Amazon EC2/S3/EBS クラウドコンピューティングによる仮想サーバ構築

スズキです。

目次はこちらです。
========
1. クラウドコンピューティングの概要
2. Amazon Web Serviceの利用
3. Amazon EC2の利用
4. Amazon S3の利用
5. Amazon EBS(Elastic Block Store)の利用
6. Elasticfox
7. AWS Management Console
8. Windowsサーバの使用
9. Amazon CloudFront
10. Amazon Elastic MapReduce
11. AmazonEC2、S3、CloudWatchツールコマンド
========

本書は、こちらでまとめたものの中での最後の紹介となります。

他の書籍と違って特徴的なところは、コマンドラインの操作方法を、
多めに掲載しているというところでしょうか?

特に、第3章、第4章、第5章に関しては、EC2を利用するために、
コマンドラインのツールのインストールから紹介し、
実際のコマンドラインの利用、SSH(Putty)でのログイン、
Apacheの動作確認まで、コマンドライン(シェル)での操作を中心に、
解説されています。

当然、クラウド、AWSサービスに関する説明も、第1章、第2章で
しっかりとされており、また、S3Fox、Elasticfox、
"Amazon Management Console"のようなGUIに関しても、
使い方まで、しっかりと言及されています。

基本的にはLinux中心で書かれていますが、第8章では、
一章まるまる、EC2のWindowsインスタンスを扱っており、
日本語化の方法まで解説されています。

個人的に読み込んだところは、第10章のMapReduceのところでしょうか?
MapReduceに関しては、未だほとんど経験がないのですが、
本書を読むことで、ぐっとハードルを下げることができたような気がします。

とりあえず、簡単にAWSを一通り使ってみたい人にとっては、
最適な一冊ではないでしょうか?

EC2のWindows本を見つけてしまった...
--------
http://www.suz-lab.com

2010年8月12日木曜日

iPhone 4 & MW600/B

スズキです。

個サルの帰りに、錦糸町のヨドバシカメラで購入してしまいました。

せっかくのiPhoneなので、自転車や電車などの移動時間にオーディオブックでも聞こうと思っての購入です。

今までも、この手のものはいろいろ検討してきたのですが、「ディスプレイ付き」というのが決定的でした。

ペアリングも簡単にでき、通話や音楽など、問題なく利用できています。

iOS4.1ではAVRCPにも対応するようなので、今は利用できない曲送りや曲戻しなども可能になります!

でも、RBK-2000BTIIがどこにも売ってない...
--------
http://blog.suz-lab.com

http://blog.suz-lab.com/2010/07/iphone-4_30.html


Openswanのインストール(tarボール)

スズキです。

依存パッケージを"yum"でインストールした方法は下記ですが、
http://blog.suz-lab.com/2010/06/ec2-l2tpipsec-iphone_02.html
今回はtarボールからのインストールです。

いきなり、Openswanをインストールしようとすると、
gmp, bison, flex, が無いと怒られるので、
下記のように、それぞれインストールします。

▼gmp
$ curl -OL ftp://ftp.gnu.org/gnu/gmp/gmp-5.0.1.tar.gz
$ tar xvzf gmp-5.0.1.tar.gz
$ cd gmp-5.0.1
$ ./configure
$ make
$ make check
$ make install

▼bison
$ curl -OL http://ftp.gnu.org/gnu/bison/bison-2.4.3.tar.gz
$ cd bison-2.4.3
$ ./configure
$ make
$ make install

▼flex
$ curl -OL http://downloads.sourceforge.net/project/flex/flex/flex-2.5.35/flex-2.5.35.tar.gz
$ tar xvzf flex-2.5.35.tar.gz
$ cd flex-2.5.35
$ ./configure
$ make
$ make install

そして、Openswanのインストールです。

$ curl -OL http://www.openswan.org/download/openswan-2.6.28.tar.gz
$ tar xvzf openswan-2.6.28.tar.gz
$ cd openswan-2.6.28
$ make programs install

でも、カーネルが対応してなかった...
--------
http://www.suz-lab.com

2010年8月11日水曜日

Openswanには"ipsec-tools"が必要!?

スズキです。

Openswan(ipsec)実行時に、下記のよな警告が出力される場合があります。

ipsec_setup: ipsec_setup: WARNING: cannot flush state/policy database
-- `%defaultroute'. Install a newer version of iproute/iproute2
or install the ipsec-tools package to obtain the setkey command.

そんな時は、下記のように"ipsec-tools"をインストールすれば解決です。

# yum install ipsec-tools

これから当分VPNモードか!?
--------
http://www.suz-lab.com

MySQLのシステム変数を確認

スズキです。

下記のように"show variables"で確認できます。

mysql> show variables;

特定の変数(最大同時接続数)のみ表示したい場合は、
こんな感じです。

mysql> show variables like 'max_connections';

RDS最高!
--------
http://www.suz-lab.com

2010年8月10日火曜日

CentOSでNFSの設定(改)

スズキです。

下記のリファイン版です。
http://blog.suz-lab.com/2009/09/centosnfs.html

▼サーバ側

まずは、インストールです。

# yum install nfs-utils

次に、"/etc/exports"に公開したいディレクトリを記述します。

-------- 【exports】--------
/export/suz-lab *(rw,no_root_squash)
--------

EC2の場合、起動するたびにIPが変わるので、
接続元は*にしておきます。

そして、"/etc/fstab"には下記を記述し、マウントします。
※起動時には自動でマウントされます。

--------【fstab】--------
...
rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs defaults 0 0
--------

# mount /var/lib/nfs/rpc_pipefs

最後に"nfs"、"portmap"を起動します。

# /etc/init.d/portmap start
# /etc/init.d/nfs start

念のため、起動時でも有効になりようにしておきます。

# chkconfig portmap on
# chkconfig nfs on

▼クライアント側

まずは、インストールです。

# yum install nfs-utils

そして、"/etc/fstab"には下記を記述し、マウントします。
※起動時には自動でマウントされます。

--------【fstab】--------
...
xxx.xxx.xxx.xxx:/export/suz-lab /mnt/suz-lab nfs defaults 0 0
--------

# /etc/init.d/netfs start

念のため、起動時でも有効になりようにしておきます。

# chkconfig netfs on

同じ内容をどんどんリファインして再度エントリにするのは、ありだなー...
--------
http://www.suz-lab.com

SwitchHostsでHostsファイルの管理(Firefox)

スズキです。

以下で紹介したように、
http://blog.suz-lab.com/2008/11/vistaapache.html
Apacheなどのバーチャルホストのテストをする場合は、
Hostsファイルを調整してテストすることになると思います。

実はこの調整は、結構UACが有効な場合など結構面倒な作業です。

また、テストは当然ブラウザを主に行うので、ブラウザの機能で調整できたら、
さらに効率的になるはずです。

以上を実現するのが、Firefoxのアドオンである"SwitchHosts"です。
https://addons.mozilla.org/ja/firefox/addon/14258/

ただし、やはり、UACが有効な場合は下記で紹介されている、
Hostsファイルのパーミッションをフルコントロールにする作業が必要になります。
http://switchhosts.mozdev.org/faq.html

Firefoxのアドオン、作ってみたいなー...
--------
http://www.suz-lab.com

(書評) クラウド Amazon EC2/S3のすべて

スズキです。

目次は以下の通りです。

========
1章 クラウドコンピューティングAmazon Web Servicesの概要
2章 Amazon EC2/S3とその関連サービス
3章 SKIPaaSがAmazon EC2を利用した理由
4章 Amazon EC2を活用したシステムの設計ポイント
5章 Amazon EC2でのテスト/保守/運用のポイント
6章 Amazon EC2/S3の基本的な使い方
7章 Amazon EC2/S3の実践的な使い方

========

著者は、AWS関係の調査でいつもお世話になっている、
こちらのブログと、こちらのブログを書かれている方たちです。

本書も他のAWS本と同様、クラウド(SaaS/PaaS/IaaS/...)の説明、
AWSサービス(EC2/S3/...)の紹介と利用方法などに対して詳しく説明されていますが、
特に、4章の「Amazon EC2/S3を活用したシステムポイント」に関しては、
AWSの制約を確認し、それに対する解決策を、あれば提案する形になっており、
非常に具体的で有用な情報になっています。

例えば、

制約: 日本に稼動ロケーションが無い
解決策: CloudFront(CDN)の活用

といった感じです。

また、負荷分散や冗長化にも言及しており、AWS上で複数のサーバを利用した
システム構築をする上では必読の一冊ではないでしょか?


AWS本、残り、あと一冊...
--------
http://www.suz-lab.com

2010年8月9日月曜日

"iptables(nat)"の設定

スズキです。

下記で"iptables"でNATの設定を紹介したのですが、
http://blog.suz-lab.com/2010/07/ec2ipweb.html
ちょっと場当たりだったので、ちゃんとまとめておきます。

まず、以下で紹介したように、カーネルパラメータ"ip_forward=1"を設定します。
http://blog.suz-lab.com/2010/08/ipforward.html

次に、"iptables"を起動してルールを設定できる状態にします。

# /etc/init.d/iptables start

そして、ルールを設定します。

# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to
xxx.xxx.xxx.xxx:80
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j DNAT
--to xxx.xxx.xxx.xxx:443

※EC2では起動するたびにIPアドレスが変わるので、以下で紹介したような、
"-d"オプションは省くことにしています。
http://blog.suz-lab.com/2010/07/ec2ipweb.html

最後にルール保存して、次回からも、このルールが有効になるようにします。

# /etc/init.d/iptables save
ファイアウォールのルールを /etc/sysconfig/iptables に保存中[ OK ]

"iptables"関係は、とりあえず、こんな感じかな?
--------
http://www.suz-lab.com

カーネルパラメータ(ip_forward)の変更方法

スズキです。

iptables(nat)の設定で、
http://blog.suz-lab.com/2010/07/ec2ipweb.html
"ip_forward = 1"にする機会が多いので、まとめみました。

1. "/proc/sys"ディレクトリに直接書き込み

# echo 1 > /proc/sys/net/ipv4/ip_forward

※再起動時には元に戻ってしまいます。(一時的)

2. "sysctl"コマンドを使用

# sysctl -w net.ipv4.ip_forward=1

※再起動時には元に戻ってしまいます。(一時的)

3. "/etc/sysctl.conf"に設定

--------【sysctl.conf】--------
...
net.ipv4.ip_forward = 1
...
--------

# sysctl -p

※再起動しても反映しています。(永続的)

こちらにも詳しく紹介されています。
http://thinkit.co.jp/free/tech/23/5/

"mod_proxy"より"iptables"?
--------
http://www.suz-lab.com

"s3cmd"で同期

スズキです。

こちらで"s3cmd"の導入を紹介したので、
http://blog.suz-lab.com/2010/07/s3cmd.html
次は、多分、一番良く使うであろう、S3との同期のやり方です。

詳しい説明は、こちらにありますが、
http://s3tools.org/s3cmd-sync
使い方は簡単で、下記のように行ないます。

# s3cmd sync /tmp/suz-lab/ s3://cdn.suz-lab.com/tmp/

見ての通り、"s3cmd sync 同期元 同期先"となっています。
※S3の指定は、"s3://バケット名/パス"となっています。

CloudFrontを前提とした同期スクリプトは、下記のようになるかもしれません。

--------【shell】--------
#!/bin/sh
date >> /var/log/s3sync.log 2>&1
s3cmd -c /root/.s3cfg -P sync /tmp/suz-lab/ s3://cdn.suz-lab.com/tmp/
>> /var/log/s3sync.log 2>&
exit 0
--------
※"-c"で設定ファイルを指定し、"-P"でパーミッションを公開モードにします。

AWS+もろもろは、今日で一旦、落ち着けよう。
--------
http://www.suz-lab.com

2010年8月7日土曜日

MySQLのバックアップ&リストア

スズキです。

以前にも紹介しましたが、
http://blog.suz-lab.com/2009/07/mysqlmysqldump.html
こちらはデータベース全体のダンプだけだったので...

特定DB(db)のバックアップはこんな感じです。

# mysqldump -u user -p db > db.sql

リストアはこんな感じです。

# mysql -u user -p db < db.sql

近頃の業務は、80%、このブログみながらやってるなー。
--------
http://www.suz-lab.com

MySQLのバイナリログの自動削除

スズキです。

下記の手動削除に続き、今度は自動削除です。
http://blog.suz-lab.com/2010/06/mysql.html

以下の情報が非常に参考になりました。
http://wiki.bit-hive.com/tomizoo/pg/MySQL%20%A5%D0%A5%A4%A5%CA%A5%EA%A5%ED%A5%B0%A4%CE%BA%EF%BD%FC

実際には"my.cnf"の設定になります。

次のようにすることで、バイナリログを14日間残し、
あとは自動に削除されるようになります。

--------【/etc/my.cnf】--------
[mysqld]
...
set-variable = expire_logs_days=14
...
--------

AWS上のMySQLはすべてRDSにしたいなー...
--------
http://www.suz-lab.com

"us-west-1"でのゾーン間の転送速度(AWS)

スズキです。

ゾーン間NFSがボトルネックになってるような気がして、
簡単に調べてみました。

xxx.xxx.xxx.xxx: a zone
aaa.aaa.aaa.aaa: a zone
bbb.bbb.bbb.bbb: b zone

▼ゾーン内
# ping xxx.xxx.xxx.xxx
PING xxx.xxx.xxx.xxx (aaa.aaa.aaa.aaa) 56(84) bytes of data.
64 bytes from aaa.aaa.aaa.aaa: icmp_seq=1 ttl=63 time=0.350 ms
64 bytes from aaa.aaa.aaa.aaa: icmp_seq=2 ttl=63 time=0.317 ms
64 bytes from aaa.aaa.aaa.aaa: icmp_seq=3 ttl=63 time=0.373 ms
64 bytes from aaa.aaa.aaa.aaa: icmp_seq=4 ttl=63 time=0.722 ms

▼ゾーン間
# ping xxx.xxx.xxx.xxx
PING xxx.xxx.xxx.xxx (bbb.bbb.bbb.bbb) 56(84) bytes of data.
64 bytes from bbb.bbb.bbb.bbb: icmp_seq=1 ttl=58 time=2.26 ms
64 bytes from bbb.bbb.bbb.bbb: icmp_seq=2 ttl=58 time=2.15 ms
64 bytes from bbb.bbb.bbb.bbb: icmp_seq=3 ttl=58 time=2.17 ms
64 bytes from bbb.bbb.bbb.bbb: icmp_seq=4 ttl=58 time=2.18 ms

10倍程度違うってことでしょうか?

アクセスの多いNFSは、下手に冗長化考えずに、
ゾーン内で展開しないといけませんね...

そろそろ、安定してきたか?
--------
http://www.suz-lab.com

2010年8月5日木曜日

UTCとJST

スズキです。

"AWS Management Console"でRDSの設定をするときに、
"Backup Window"と"Maintenance Window"で、その時刻(時間)を設定するのですが、
UTCで設定しなければならないので、直感的に行うことができません。

そのような時に、下記のサイトが参考になります。

▼PST/PDT/UTCからJST変換表
http://www.vwnet.jp/Windows/PST2JST/PST2JST.htm

なので、

Backup Window: 04:00-06:00 (JST)
Maintenance Window: sun:06:00-sun:10:00 (JST)

としたい場合は、

Backup Window: 19:00-21:00 (UTC)
Maintenance Window: sat:21:00-sun:01:00 (UTC)

といった感じになります。

AWSビジネスは、結構きそうだなー...
--------
http://www.suz-lab.com