IntelliJ IDEA 13 でプロパティファイル(propertiesファイル)の文字化け(というかascii表示)を直す

開発環境
Windows7
IntelliJ IDEA 13.0.2


File > Settings > File Encodings

を選んで右ウィンドウに表示された一番下の

Properties Files (*.properties)

□ Transparent native-to-ascii conversion

↑にチェックを入れたらOK!

参考ブログ様↓
http://mobileapplication.blog.fc2.com/blog-entry-17.html

今日も先人の知恵に感謝。

【後編】GMOクラウド環境にてロードバランサとファイアウォール設定でつまづいたお話

どうも、前回はGMOクラウドのロードバランサにとっちめられたお話をしました。

以下、前回の続き、後編です。

そもそも1.に関しては
LBに合わせてサーバ側ののIPを変えなきゃいけないっていうのが微妙だと思うのは私だけ?
サーバ複数立ててから、LBが使いたくなって作ったはいいものの
サーバのIP変えたくないって場合はどうするねん。
あたりのIP出るまでLBをひたすら作り直すんかな?w
だいたい私がそうやったけど、サーバ3台は自動的に割り振られた初期IPじゃなくて
使いやすくするために、すでに第三オクットまで揃えてたゆーねん。
てか、LBのIPが変えれたら済む話やん?
てかてか、LBのIPに関係なくつなげられたら済むはなしやん?

2.に関しても、なんでIPが2つ必要なのか、なにかのっぴきならない事情でもあるんですかね。
IPを2つもFWのACCEPTルールに追加するのもすごく手間なのにな。。
しかも、AWSみたいにルールのグループを作れる訳でもないので
サーバ共通のFW設定だろうがなんだろうが、1サーバずつに設定してやらにゃいかんのですよ。めんど。

その他の愚痴気になることを言うならば
まず、GMOのLBは死活監視が可視化されてないのがつらい。(ってか、死活監視自体されてないぽ。)
ちなみに、これは余談だけど、見えるからといって油断ならないのが
クラウドサービス事業社によって、LBの挙動や死活監視の仕方が全然違うこと。
たしかAWSはLBが返すエラーが細かく分かれてたりした気がする。

さらにGMOのLBでひどいのは、LBにつなげるとき、サーバがストップするっていう。。
ネットワークの再構築で再起動がかかるんだろうねぇ。うん。え?

あとこれはLBじゃないんだけども、WEBの管理画面(コンソール)の表示と
実際のサーバ状況とのタイムラグがつらい。
サーバがOFFって表示されてても、起動してるしなー。

まぁ、いろいろつまづいたせいでおかげで
コンソールでサーバの設定変えては再起動とかを連続で繰り返してたら
サーバに接続できなくなっちゃってつぶしちゃったから
サーバ作り直したりして、苦しみましたね(泣)
ちゃんと綺麗なサーバのバックアップをとってた自分を褒めてあげたいです。

あんまりAWSと比べると
「ほな、AWS使ったらよろしいですやん。」と言われそうだけど、それは置いといて。
そこはね、ほら、大人の事情ってやつ。

なにはともあれ、クラウドの情報って、
たまに公式の情報もあてにならないことがあって、貴重な情報なんだよね。
私も親切なブログ様に何度も救われました。ほんとに!

だから、こんな記事も誰かの役に立てばこれ幸い。

あぢゅー。

GMOクラウド環境にてロードバランサとファイアウォール設定でつまづいたお話

どうも、先輩エンジニアの無茶ぶりによって
後輩エンジニアにどや顔でブログに履歴を残す素晴らしさを説明したら
最後に「さぞ、ブログにたくさんの記事を書かれたのでしょうね。」と
めった刺しにされた私です。

今日は先日、GMOパブリッククラウドにて
環境構築(というかロードバランサ構築)でつまづいた経験を残したいと思います。

といっても、今回のミスは冷静に考えればつまづかなさそうなところではあるんですが
GMOクラウド特有なところを少し書きたいと思います。

私がそもそもやりたかったことは、
3台の仮想サーバの上にロードバランサ(以下LB)を作るという
とても単純なことだったんだけれども、
なんせLBからその3台に接続できてないというのでひたすらつまづいた。

結論から先に言っちゃうと、
単にサーバ側のファイアウォール(以下FW)の設定がミスっていただけなんだけど
そこまでつまづいたのには訳がある。(言い訳していいわけ。)

足をすくわれたのはポイントは 2 つ。

GMOクラウドのLBは
1. LBのIPアドレスに合わせてサーバのIPアドレスを変更する必要がある
2. LBのIPアドレスは自動的に2つ割り当てられる

GMOクラウドのLBについての詳細は下記を参照してね。
クラウドコンソール|GMOクラウド Public サポート
screenshot

1. LBのIPアドレスに合わせてサーバのIPアドレスを変更する必要がある

ロードバランサーに設定する仮想サーバーは、第三オクテットまで同一のIPアドレスが設定されている必要があります。
第三オクテットが異なる場合には、対象サーバーを同一の第三オクテットに変更してください。

と書かれている訳ですが、
サーバもLBも作った時点で自動的にIPアドレスがふられるので
たまたま第三オクテットまで一緒だったラッキー☆
って場合以外は、メンドクサイのですが、サーバのIP変更してあげる必要があります。
まぁ、ここまでは100歩譲ってやろうじゃないの。(全然譲りたくないけどね。)

2. LBのIPアドレスは自動的に2つ割り当てられる
ファイアウォールの設定がミスってたというのは、この2つあるLBのIPアドレスの許可ができていなかったから。
私、2つのうちの片一方しかFWのルールに追加してへんかった。
てか、2つも登録する必要ないと思ってたのよ。
というのも

割り当てられるIPアドレスは2つありますが、DNSに設定されるIPアドレスは下段のIPアドレスをご利用ください。

って書いてあるんですよ。
だから私はてっきり、下段のIPアドレスしか使わないと思っていた訳です。この誤解が悲劇を生んだ。。

ちなみに、この誤解の原因となったのには理由があって、
私は以前に1クラスタ作っていたから、そのクラスタの構成をみて、真似をしながら作っていた訳です。
そのクラスタのFWの設定みたら、下段のIPアドレスしかFWのルールに登録していなかったのです。
でもそれできちんと使えていたのです。

では、なぜ前作ったクラスタはLBからサーバに接続できていたのか?

前作ったクラスタのサーバのFWのルール設定には
LBのIPアドレスに対して第三オクテットまでをネットワーク指定して設定していたのです。
つまり、xxx.xxx.xxx.ddd/24でAcceptしていました。

このときはたまたまLBの2つのIPが「第三オクテットまで同じ」IPアドレスだったので
そりゃ通る、という訳です。

ところがどっこい、今回は不運なことに、LBに与えられたIPアドレス
第三オクテットすら違うという残念IPアドレスだったのです!!!!

これまでGMOクラウドのLB作ったときは、必ず番号が並びのIPアドレスだったのですが
そうじゃないこともあるんや・・・という気付きがありました。
今回はついてなかったんやろなぁ。。。激おこぷんぷん丸。

原因は単純なことだったですが、そこに行き着くまで時間がかかりましたよー。

続きは後編として記事をアップしたいと思います。
あとはただの愚痴かもw

あぢゅー。

Netbeans7.2 で UML 作成プラグインを使うために

あんま情報なかったからメモしとく。

ググってると見つけたありがたきブログ様

NetBeans UML plugin | サーバいじくり雑記

ブログより引用

標準のUML pluginはサポートがだいぶ前に終わっており最新の7.2では使えません。

まじか。

Instalar UML NetBeans
今はユーザコミュニティが受け継いでいるそうで、上記リンク先の手順でインストールして利用可能。

なるほど、じゃあリンク先を見てみよう。
・・・スペイン語かよ。

ざっくり手順。

1.「ツール>プラグイン」を選択。プラグインのウィンドウがでてくる。
2.「設定」タブを選択。右真ん中あたりの「追加」ボタンをクリック。
3.「名前」に「UMLモデリングモジュール」とか適当に名前を入力する。
「URL」には
http://deadlock.netbeans.org/hudson/job/uml/lastSuccessfulBuild/artifact/build/updates/updates.xml
を入力する。
どちらも入力できたら「OK」ボタンをクリック。
すると、「アップデータ・センターの構成」に先ほど追加したものが表示される。
4.「インストール済」タブをクリックすると一覧に「UML」が追加されているのが確認できる。
プラグインのウィンドウを閉じる。
5.「新規プロジェクト」を開始すると、「カテゴリ」の選択肢に「UML」を選択しUMLプロジェクトを作成する。

そんな感じで、使えるようになりました。ちゃんちゃん。

欲しいもの

ぽちるよー


パーフェクトPHP (PERFECT SERIES 3)

パーフェクトPHP (PERFECT SERIES 3)

redisの備忘録

【問題】
クライアントPC(mac)から、Linuxサーバのredisへの接続ができにゃい。

【解決策】
(1)redisの設定を変える。
redis.confの中の

bind 127.0.0.1

って書いてあるところ。localhostは元から書かれてる。
この bind に記載のあるIPアドレスからの接続のみを許可するぽいので
そこに下にでも接続を許可したいIPアドレスを加える。(もしくはbindをコメントアウト。全許可するぽい。)

bind 127.0.0.1
bind 127.xx.x.x


(2)Linuxサーバのファイアーウォールを無効にする。
こいつが邪魔してるらしい。

ファイアウォールをとめちゃう。
$ sudo /etc/init.d/iptables stop

状態を確認したいときはstatusを使う。
$ sudo /etc/init.d/iptables status

SELinuxは今回は影響しないみたいだけど、一応手順だけかいておく。

SELinuxをとめちゃう。
$ sudo setenforce 0

確認方法
$ sudo getenforce
Permissive

※(2)は開発環境のみで行わないと危険!!!!良い子は絶対まねしないでね。
 ファイアウォールの対策は正攻法がありますので、それは後ほど(書けるようになっているといいな)。


こんな感じでいけたはず。

Scientific Linux6のインストールに挑戦しました

気を取り直して

Scientific Linux6

のインストールに挑戦中。

昨日の晩にダウンロードしながら
うっかりこたつで寝てしまいましたが
起きたらダウンロード完了してました。

ので、朝からモリモリ
つまづきながら発狂しながら少しずつ進めていますが

ここでとまってしまいました。
LVMの割り当て方?がわからないのです。

メモリが基本的に不足気味な感じだったので
(最初の方で
 'You do not have enough RAM to install Scientific Linux on this machine.'
 こういうエラーがでたりしていたので)
612MBぐらいまでちょっとずつ増やしてやってますが
エラーは解消されません。もっと必要なのかな・・・。