2012年5月アーカイブ


amazon の 東京リージョンのEC2インスタンスを起動して、ElasticIP(固定IPアドレス)をつけたらアメリカに割り当てられているIPアドレスがふられてしまった。

サーバ自体は東京リージョンで起動しているようなので、アクセス速度などは大丈夫なのだが、ちょっと問題なのは、別のサーバとのサーバ間通信や、別のサーバのWEBサイトへのアクセスなどである。

アクセス先のサーバが、アクセス元IPアドレスから地域判定している場合、こちらのサーバがアメリカからのアクセスと勘違いして、アメリカ向けの情報を返してくる。
これは困ります。。

ということで、東京リージョンで ElasticIP を振る場合は、振られた直後に、どこの国に割り当てられたIPなのかを調査することをお勧めします。

何度も振りなおせば日本に割り当てられているIPになるかも?(実験していないので直るかどうかは不明です)



今までは、1つのLINUXマシンに MySQL サーバも入れてMovable Type を使っていたが、マシンが弱ってきたので amazon の AWS を使って再構築してみることにした。

DBサーバのサービスである RDS と、LINUXマシンのEC2をそれぞれ1インスタンスずつ起動して連動するというシンプルな構成。

既存DBのデータをRDSに移し、EC2 に MovableType をインストールして起動、もともとのデータはMTバージョン4のデータで、今回MTバージョン5をインストールしたので、データをアップグレード。

と、ここまでは順調だったのだが、MovableTypeの管理画面を起動してガッカリ。
データがすべて文字化けしている。

DBのエクスポートとインポートの文字コードが違っていたのかと思い、mysqldump や mysql コマンドのオプションで文字コードを指定してみるが、ぜんぜん直らない。。。
そしてハマりました。
MT5にしたのがまずかったのかと思い、MT4の環境を持ってきて起動しても化けている。

試行錯誤の結果、原因はDB自体の文字コードであることが判明。
RDSでDBを作成するときにデフォルトだと、latin1 みたいなコードになってしまうようだ。

では、そこのコードを変更するのはどうすれば良いか、

DBのインスタンスには DB Parameter Group というものが関連付けされていて、この DB Parameter Group の設定に文字コードの値が入っているようだ。

早速変更、と思ったら最初から割り当てられている
Parameter Group は変更不可なのだそうな。

しょうがないので、新しいParameter Group を作成し、インスタンスに関連付けし、それから文字コードの値を変更しよう。

で、この変更がまた大変、AWSのコンソールから変更できるのかと思いきや、ツールをダウンロードして、設定して、コマンドラインで変更をする、ようだ。。。

コマンドラインツールキットをダウンロードして、展開。

コマンドプロンプトを起動し、以下のような環境変数をセット(自分の環境にあった値を設定する。バッチファイルにしておくと後で使うときに便利)
SET AWS_RDS_HOME=C:\\tmp\RDSCli\RDSCli-1.6.001
SET Path=%Path%;%AWS_RDS_HOME%\bin
SET EC2_REGION=ap-northeast-1
SET AWS_CREDENTIAL_FILE=%AWS_RDS_HOME%\credential-file-path.txt

AWS_CREDENTIAL_FILE で指定したファイルにアカウント情報を記述(credential-file-path.templateというファイルがあるのでそれを参考に)

で、
rds-modify-db-parameter-group GROUPNAME -p "name=character_set_database, value=sjis, method=pending-reboot"
みたいなコマンド(GROUPNAMEは実際のパラメタグループ名を書く、文字コードはsjisとかutf8とか)を実行する。

他にもいくつか文字コードの設定をして、DBインスタンスを再起動

DB作成→データ移行→MovableType 表示

で、文字化けせずに表示されました!




このアーカイブについて

このページには、2012年5月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2012年4月です。

次のアーカイブは2012年7月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 5.13-ja