AWS環境におけるEC2間での通信について

コメント

4件のコメント

  • 正式なコメント
    Ichiro Takahashi

    フィックスポイントの高橋です。

    kompira ジョブマネージャは kompira エンジンに対して AMQP というプロトコルで接続しますが、このとき SSL の使用設定によって、5671 番ポート (SSL) または 5672 番ポート (非SSL) を用います。

    当該バージョンではデフォルト SSL 接続が有効で 5671 番ポートで接続するようになっているはずで、「エンジン側では5671のポートがLISTENされており」とのことから問題ないように見受けられます。

    kompira ジョブマネージャを動作させたいホスト上で、以下のコマンドを実行してみてください。${KOMPIRA_IP} の部分は kompira エンジンを動作させているサーバのIPアドレスに置き換えてください。

    $ openssl s_client -connect ${KOMPIRA_IP}:5671 < /dev/null 

    このコマンドを実行して、接続に成功してSSL証明書の情報と最後に DONE と表示されていれば、サーバ間の接続性は問題ないはずです。もし接続に失敗するようでしたら、EC2 のネットワーク設定を見直してみてください。

    次に、ジョブマネージャ側の設定としては、「ジョブマネージャー側のkompira.confでは エンジンのipアドレスとポート5671」を設定されているとのことですが、合わせて [amqp-connection] セクションに「ssl = true」という設定もなされているかご確認ください。

    一方、「サブドメイン名を定義している」と書かれていますが、こちらはどのような設定内容を示しておられますでしょうか?(もしも、[agent] セクションの name の設定のことであれば、これはドメイン名の設定項目ではないので一旦デフォルトの "default" に戻してみてください)

    上記で解決しない場合、kompira.conf の設定内容を張り付けてみていただけますでしょうか。

    コメントアクション パーマリンク
  • kitamura

    フィックスポイント
    高橋様

    お世話になっております。
    ご回答ありがとうございます。

    ・opensslコマンドの結果ですが、問題ありませんでした。
    ・ジョブマネージャ側のkompira.conf ですが、[amqp-connection] セクションに「ssl = true」が設定されております。
    ・「サブドメイン名を定義している~」につきましては、
     ジョブマネージャ側のkompira.conf において、agentセクションのnameの設定として、
     default から別名に変更する事で、kompira web の設定→管理領域設定で、
     別名に指定したnameが表示される認識でした。

    <エンジン側_kompira.conf>
    [kompira]
    site_id         = 1

    [amqp-connection]
    server          = localhost
    ssl             = true
    ssl_verify      = false

    [event]
    channel         = /system/channels/Alert

    [agent]
    name            = default

    <ジョブマネージャ側_kompira.conf>
    [kompira]
    site_id         = 1

    [amqp-connection]
    server          = 10.10.xx.xx
    port            = 5671
    ssl             = true
    ssl_verify      = false

    [event]
    channel         = /system/channels/Alert

    [agent]
    name            = test-name

    実現したい事としましては、上述の通り、
    kompira web の設定→管理領域設定にて、ジョブマネージャのkompira.confで
    指定したnameを認識させたいです。

    以上です、よろしくお願いいたします。

    0
    コメントアクション パーマリンク
  • Ichiro Takahashi

    フィックスポイントの高橋です。

    早速のご確認ありがとうございます。

    default から別名に変更する事で、kompira web の設定→管理領域設定で、
    別名に指定したnameが表示される認識でした。

    管理領域については事前に Kompira サーバ側で作成しておく必要がございます。ブラウザで「管理領域設定」画面にて、名称に「test_name」などと入力して新しい管理領域オブジェクトを作成してください。

    このとき名称には Kompira オブジェクトとして指定できる形式に限られるため "-" などは使えないことにご注意ください。よって、ここでは例えば「test_name」としています。

    また、管理対象の「対象範囲」には "*" を追加しておいてください(任意のリモートホスト名にマッチします)。

    その上で、管理領域の名称に合わせて、ジョブマネージャ側の kompira.conf の [agent] セクションの name を設定して、kompira_jobmngrd を起動しなおしてみてください。

    kompira_jobmngrd を再起動したのちに、ブラウザで管理領域設定の当該管理領域オブジェクトを確認してみてください。「ジョブマネージャ状態」に別サーバで動作させた kompira_jobmngrd が表示されていれば、正常に kompira エンジンと接続できていることが分かります。

    なお、複数の管理領域に分けていて、リモートコマンド実行時などに接続元となる kompira_jobmngrd を(デフォルト以外に)指定したいときは、ジョブフローにて制御変数 __realm__ で名称を指定するようにしてください。

    [__realm__ = "test_name"] ->
    [__node__ = ...
    0
    コメントアクション パーマリンク
  • kitamura

    フィックスポイント
    高橋様

    お世話になっております。
    ご回答ありがとうございます。

    管理領域については事前に Kompira サーバ側で作成しておく必要がございます。ブラウザで「管理領域設定」画面にて、名称に「test_name」などと入力して新しい管理領域オブジェクトを作成してください。

    こちら、当方の認識が誤っておりお手数をおかけしました。

    Kompira サーバ側でオブジェクトを作成し無事認識されました。

    ありがとうございます。

    0
    コメントアクション パーマリンク

サインインしてコメントを残してください。