1:急にiDempiere に興味を持った。
2:iDmpiere を使うためにAWS(Amazon Web Services) アカウントを作成することにした。
3:AWS にEC2 インスタンスを作成し、 CentOS をセットアップすることにした。
で、 SSHの設定をして外部からアクセスできる様にしてみる。
まずAWS に接続し、作成済みのインスタンスを実行する。
サイトにアクセスして、サインアップする
http://aws.amazon.com/jp/
イメージを貼るほどではないが、ちと解せぬ事が。。
サインアップボタンを押すと次の画面では、、、
ここでは「サインイン」。。。
ま、たいした話じゃないけど。。
AWSのいろいろなサービスが表示されるが、昨日作成したEC2のインスタンスを立ち上げるので、EC2を選択
EC2サイトを作ったときに見たような画面が出てくるので、
Volume やら Key Pair やら、前は 0 だったのが 1 に変わっている。
Running Instancesは 前回最後に停止したので 0 になっているはず。これを起動する。
赤枠の Running Instancesを右クリックすると、EC2 のステータス画面に変わる。
ここで アクションから start を選択、 status がpendingとなり、しばらくするとrunningに変わる。
さて、sshだけど、AWS ではPuTTY の例が出ている。
なんでも良いと思うが、これを使ってみよう。
というわけでいままでMac環境だったが、Windows環境へ移動。。
(そのうちMacでもやってみたい)
ちなみに PuTTYの設定は EC2 の Connectボタンを押すと案内が出てくる。
これを押すと 次の画面が、、
Connecting to Your Linux/Unix Instances Using PuTTY
とりあえずダウンロード。
AWS 関係のページから PuTTY のページに飛ぶ。
バージョンの説明があれこれあるけど、上部の Download をクリック
ダウンロード方法の選択画面に移るので、exe でもFTPでもお好きな方法でダウンロード。
私はそのまま実行形をダウンロード。
PuTTY.exe/PuTTYgen.exe 両方必要です。
PuTTY.exe は SSH本体ですが、PuTTYgen.exe はAWS にて生成したプライベートキー(.pem)をPuTTY.exe が取り扱える形 (.ppk)に変換するプログラムです。
これをWindows環境で起動。
Key pair 変換
PuTTYgen.ext
Load ボタンを押して、EC2 インスタンス作成時に保存しておいたプライベートキーファイル (.pem)を指定します。始めファイルが表示されずにあわてましたが、ファイル種別を Allに指定すればちゃんと表示されます。
次は PuTTY本体起動
Host name には user name@public DNS を指定します。
public DNS はここです。
CentOS の場合は user name は root となりますので、
root@ec2-xx-xx-xxx-xxx.ap-northeast-1.compute.amazonaws.com
となります。(xx部分はそれぞれ違うかもしれません)
訂正:そもそもxx部分はインスタンス起動毎に変わるようです。つまり一度停止してしまうと次の起動時には別のhost name を入力してあげないといかん用です。
これはめんどくさいが、いやなら固定IPを取得するしかないので当面そのままにしときます。。。
最後に先ほどPuTTY用に変換したプライベートキーの場所を指定します。
ここで Openしてしまう前に一度PuTTYの Categoryの一番上のsession にもどって
設定を Save しておきましょう。(じゃないといちいち指定が必要になる。)
あとは接続するだけ。だけのはず、、、しかしここで問題発生、接続できない。
なぜ?
------------ここからは誤解に基づいた作業 次の線まで読み飛ばした方が良いかも -----------
次のコマンドはコンソールの昨日をローカルに持たせるため?
なんか忘れているのでは?よくよく読みかえすと
「Amazon EC2 CLI ツールをインストールする」とある
% ec2-get-console-output instans_id
でもそんなコマンドはWindows にはない。さらに optional と書いてあるのに。
あちこちさまよってみると、
CLIツールをダウンロードせよとのこと。なるほどね。
で、ダウンロードして見ると、確かに/binの中にwindows のshell がありました。
で、実行してみると
メッセージ:EC2_HOME is not set
なるほど、環境変数をセットするのね。で、コマンドラインで
set EC2_HOME="XXX"
で、もう一度実行。今度は
メッセージ:JAVA_HOME is not set
ドキュメントを読んでみると、JAVAで動いているのでJAVA環境のセットアップが必要とのこと。なるほどね。で、
JAVAインストールしなおして、コマンドラインで環境変数セット。
set JAVA_HOME="XXX"
でまた懲りずに実行
メッセージ:Required option '-O, --aws-access-key KEY' missing (-h for usage)
なんじゃー!
AWS_ACCESS_KEY がセットされていないときに -O オプションで指定しなければならないらしい、うんちゃらくんちゃら。。
あ、でも他のドキュメント見ると、そもそもec2-get-console-outputは、コンソールメッセージをローカルに表示する為の物らしい。じゃ、今いらないじゃん。
------------------------------意味のない作業に費やした時間を返せ。。------------------------------
そもそもエラーメッセージは connection time out
ping で確認してみると Request timeout 。だめじゃん。
AWS側の Security groupは全部素通しする設定にしていたと思ったのだけど、どうやらそこが勘違いの元だったらしい。で、SSH用の穴をあける。
Security Group -> inbound -> Edit
SSH を選択。portは22が勝手にセットされる。
接続元IPアドレスは anywhere 0.0.0.0 でオールフリー(本当はちゃんと限定すべきですけど、、、今はテストということで。。)
される。断る理由はないので、はい(Y)選択する。
ターミナルが開いてパスワードが要求されるので、 AWS アカウントのパスワードを入力する。(たぶん、ネット上には PuTTYgen で .ppkファイル生成時にパスフレーズ入力するという記述もあったけど、、、)
プロンプト赤塗りの部分はEC2 の Private IPs が表示されているので、もちろん自分が立ち上げたEC2 CentOS だとわかります。
ちっと勘違いで大きく時間ロスしたけど、SSH設定終了。
次はデスクトップ?
いつになったら iDempiere にたどり着くのだろう?
今日もCentOS はシャットダウンして作業終了。
お疲れ様でした。
0 件のコメント:
コメントを投稿