日報 #51 - ELBにSSLを、EC2のPrivate IPを
あっちゃこっちゃ色々とやっております。
昨日宣言していたELBのSSLツッコミの話ですが、
基本的にはググって貰えばいいので、1個だけ。
ELBのListenからSSLをぶっこむ際に、
java.lang.ClassCastException: org.bouncycastle.openssl.PEMEncryptedKeyPair cannot be cast to org.bouncycastle.openssl.PEMKeyPair
こんなエラーを受けたら、
秘密鍵にPEMフレーズが付いているせいです。
なのでそれを解除しましょう。
openssl rsa -in private.ssl.hoge.key -out private.ssl.hoge.nopass.key
PEMフレーズはCSR作成の時に仕込まれる秘密鍵を、さらに暗号化するときに使ったフレーズです。
つまりこのままでは秘密鍵自体が暗号化されてて、apacheとかでは呼び出しのたびにPEMフレーズを求めるようになります。ということで、ELBは復号化された秘密鍵を使うのが一般的らしいですよ。奥さん。
ということで、javaのExceptionを裸で貰ってギョッとせずに、
冷静にPEMフレーズを外してやりましょう。
後もう一つの豆知識ですが、
依然VPNではなくClassic EC2をお使いの皆様、
それでもなおPrivate IPを使いたいというシーンは多々あると思います。
EC2毎に一応配置されているPrivate IPですが、ゲートウェイがどこかイマイチわからないので、
EC2間で通信できるのか不安になるかと思います。
結論から言うともちろん通信できるみたいなんですが、いくつか注意点が。
- pingはなぜか通らない (httpingやtelnetとかでポート指定した接続方法じゃないといかぬ)
- security group で 10.0.0.0/0 みたいにPrivateに対してちゃんとポートを開けてやること
- 同じAvailability Zoneじゃないと駄目
最後の3がネックですね。
あんま公式文章がなくて「俺調べ」になっちゃいますが、
とにかく僕が試した感じだとそうでした。
少なくともa->bは見えませんでしたね。
まぁそりゃそうかとも思いますが、もうちょっとゲートウェイとかの位置を分かりやすくしてくれると助かるのに。。。
さて、バラバラと豆知識でしたが、今週も、お疲れ様でした!