0

Brooklyn を使い始めたばかりで、AWS アカウントを介して完全に機能するブループリントのデプロイページから例を取得しようとしています。

Maven ビルドが正常に完了し、実行中の Brooklyn~/apache-brooklyn-0.7.0-M2-incubating/usage/dist/target/brooklyn-distページの手順を使用してBrooklyn Web UI を正常に起動できます。

ブループリントを起動すると、AWS コンソール UI で起動中のすべての VM を確認できます。作成されたキー ペアとセキュリティ グループも確認できます。しかし、ブループリントは最終的に失敗します。これは、Brooklyn が VM に ssh できないためです (私は信じています)。以下の最初のログ出力を参照してください。Brooklyn は、作成されたキー ペアを使用して VM にログインしようとしていると思いますか?

場所ページの情報に基づいて~/.brooklyn/brooklyn.properties file、次の構成を作成して追加しました。

brooklyn.location.jclouds.aws-ec2.identity = MyAwsAccessKeyID
brooklyn.location.jclouds.aws-ec2.credential = MyAwsSecretAccessKey
brooklyn.location.jclouds.aws-ec2.privateKeyFile = /home/username/key4brooklyn.pem

AWS コンソール UI からファイルを作成し、key4brooklyn.pemBrooklyn を再起動しましたが、ブループリントはまだ機能せず、VM を作成しますが、VM にアクセスできません。以下のログ出力を参照してください。

2015-03-02 23:31:27,295 INFO  Starting MySqlNodeImpl{id=lzJhHxwD}, obtaining a new location instance in JcloudsLocation[aws-ec2:MyAwsAccessKeyID/aws-ec2] with ports [22, 3306]
2015-03-02 23:31:27,369 INFO  Starting NginxControllerImpl{id=QYRLgQPh}, obtaining a new location instance in JcloudsLocation[aws-ec2:MyAwsAccessKeyID/aws-ec2] with ports [22, 8000]
2015-03-02 23:31:27,612 INFO  Resize DynamicWebAppClusterImpl{id=iJNs2ltC} from 0 to 1
2015-03-02 23:31:28,830 INFO  Starting JBoss7ServerImpl{id=MWMGwHXx}, obtaining a new location instance in JcloudsLocation[aws-ec2:MyAwsAccessKeyID/aws-ec2] with ports [22, 9443, 10999, 8443, 8080, 9990]
2015-03-02 23:31:37,870 INFO  Creating VM aws-ec2@MySqlNodeImpl{id=lzJhHxwD} in JcloudsLocation[aws-ec2:MyAwsAccessKeyID/aws-ec2]
2015-03-02 23:31:38,508 INFO  Creating VM aws-ec2@JBoss7ServerImpl{id=MWMGwHXx} in JcloudsLocation[aws-ec2:MyAwsAccessKeyID/aws-ec2]
2015-03-02 23:31:38,983 INFO  Creating VM aws-ec2@NginxControllerImpl{id=QYRLgQPh} in JcloudsLocation[aws-ec2:MyAwsAccessKeyID/aws-ec2]
2015-03-02 23:34:55,349 INFO  Not able to load publicKeyData from inferred files, based on privateKeyFile: tried [/home/username/key4brooklyn.pem.pub] for aws-ec2@MySqlNodeImpl {id=lzJhHxwD}
2015-03-02 23:34:55,353 INFO  Not able to load publicKeyData from inferred files, based on privateKeyFile: tried [/home/username/key4brooklyn.pem.pub] for aws-ec2@JBoss7ServerImpl {id=MWMGwHXx}
2015-03-02 23:34:55,351 INFO  Not able to load publicKeyData from inferred files, based on privateKeyFile: tried [/home/username/key4brooklyn.pem.pub] for aws-ec2@NginxControllerImpl {id=QYRLgQPh}

Oracle Java 7 がインストールされた Ubuntu 14.04 を使用しています。これは VirtualBox VM です。

4

1 に答える 1

1

ログ出力を見ると、問題は次のとおりです。

2015-03-02 23:34:55,349 INFO  Not able to load publicKeyData from inferred files, based on privateKeyFile: tried [/home/username/key4brooklyn.pem.pub] for aws-ec2@MySqlNodeImpl {id=lzJhHxwD}

privateKeyFile構成キーは、2 つのファイルでまたはスタイル キー ペアを指定する必要があります。publicKeyFileが構成されていない場合、対応するファイルが自動検出されます。利用可能なssh キーを作成するためのより良い手順があります。これ紛らわしく、キーに関するエラー報告 (フェイルファストを含む) の改善は最新のSNAPSHOTビルドに含まれており、M3マイルストーン リリースに含まれる予定です。また、ファイルには秘密鍵が 1 つだけ含まれている必要があり、公開鍵が含まれていてはならないことに注意してください。たくさんのフォーマットがあるのはうんざりです!id_rsaid_dsa*.pubid_rsa

またはその他の~/.ssh/id_rsa構成されたキー ペアは、VM がプロビジョニングされた後、VM への ssh アクセスを設定するために Brooklyn によって使用されます。デフォルトでは、jclouds (内部で使用) は一時的な AWS キー ペアを作成して、VM への初期アクセスを取得します。~/.ssh/id_rsa.pub次に、VM に自動的に追加します~/.ssh/authorized_keys(VM 上に、デフォルトで Brooklyn プロセスを実行しているユーザーと同じ名前を持つユーザーを作成します)。

ダウンロードしたkey4brooklyn.pemファイルは、AWS キーペアのプライベート部分です。デフォルトでは、jclouds が独自のキー ペアを作成するため、これは使用されません。

jclouds で既存のキー ペアを使用する場合は、次の構成設定を使用する必要があります。

brooklyn.location.jclouds.aws-ec2.keyPair = MyKeypairName

MyKeypairNameは、AWS によるキーペアの名前です

于 2015-03-09T13:58:53.963 に答える