2009-04-09 7 views
9

EC2と対話するためのAmazonの公式ツールは、扱いにくく、痛いものです。私は環境変数の束を設定し、EC2のために別個の秘密鍵を格納し、PATHに余分な項目を追加するなどしなければなりません。それらはすべて、見出しのない長さが数百文字のタブ区切りの行を出力するので、それらを解釈するのは少し苦労します。 SSH鍵ペアを設定する手順は、すでに持っている既存の鍵ペアを使用するのではなく、パスフレーズで保護されていない鍵ペアを提供します。プログラムはちょっとぎこちなく、非常に良いUnixプログラムではありません。Amazon EC2の代替ツールは?

ので、EC2にアクセスするためのコマンドラインツールを使用して任意のより簡単ではあるのですか?私はElasticFoxがあることを知っていて、プロセスを簡単にするWebベースのコンソールがありますが、他の誰かがEC2とやりとりするためのより優れたコマンドラインツールを作っているのだろうかと思います。

答えて

11

私は少し遅れていますが、解決策があります。

私は、Amazon AMIツールと同じ問題を発見しました。まともなリファレンス実装ですが、特に2つ以上のインスタンスがある場合は使いにくいです。私はあなたの懸念のほとんどが

コマンドは、AmazonのAMIツールよりも直感的に答え、他のプロジェクトの一環、と呼ばれるルディとして交換用コマンドラインツールを書いた:

  • rudy-ec2 instances -C
  • rudy-ec2 groups -A -p 8080 -a 11.22.33.44 group-name
  • rudy-ec2 volumes -C -s 100
  • rudy-ec2 images
  • ...

すべての構成は、単一のファイル(~/.rudy/config)です。

それはいくつかのフォーマット(YAML、JSON、CSV、TSV、そしてもちろん通常のテキスト)で出力することができます、のための秘密鍵を作成することを可能にする全くEC2ツールが秘密鍵について

rudy-ec2 -f yaml snapshots 
--- 
:awsid: snap-2457b24d 
:progress: 100% 
:created: "2009-05-08T15:24:17.000Z" 
:volid: vol-4ee10427 
:status: completed 

ありませんパブリックインスタンスを起動するためのパスワードはで、APIはそれをサポートしていないためです。ただし、独自のイメージを作成する場合は、秘密鍵を使用できます。

ここでの詳細情報です:

+0

あなたの答えをありがとう、ルディを書いてくれてありがとう!次回にインスタンスを起動する必要があるときは、以前の回答からRudyとTim Kayのperlベースのコマンドラインツールを試してみます(EC2を頻繁に使用せず、たぶん時々OpenSolarisインスタンスやFedoraインスタンスをテスト用に起動します私はMac OS XとUbuntuでテストすることはできません)。秘密鍵をパスワードで作成することについてのお返事もありがたいですが、私は自分の公開鍵をアップロードするだけの理由は見当たらないので、むしろイライラします。 –

4

ElasticFoxはほとんどのタスクにとって便利です。コマンドラインツールがより適しているとはいえ、それは時折です。私は個人的にPythonのためにbotoライブラリを使用しています。すべての必要な操作をスクリプト化するのは非常に簡単です。あなたはそれを使ってS3からファイルをアップロード/ダウンロードすることもできます。一般的には、PythonやRUbyのようなスクリプト言語とAWSライブラリが最適なソリューションだと私は言います。

3

ラインを命じるが、フリーRightScaleアカウントはあなたを与えるだろう何を見ていない - ずっと、ずっと簡単IMOコマンドラインまたはElasticFoxより。

+0

RightScaleは高価です。彼らの手数料はEC2請求書の50%を加算します。 – Leopd

4

私は個人的にはティム・ケイさんのPerl command line toolsを使用して、かなりの時間が元のJavaベースのAPIを使用していません。 UNIX環境に最適です。

+0

このツールはWindowsでもうまく機能し、S3とSQSもサポートしています。 – timkay

+0

これでs3、ec2、sdb、elb、sqs、(soon)iamがサポートされるようになりました。 – timkay

0

私は、コマンドラインツールを置き換えるEC2Dreamと呼ばれるオープンソースのグラフィカルシステム管理ツールを持っているが。 Windows、Linux、Mac OSクライアントにインストールされ、RubyやFXRubyで書かれています。 www.ec2dream.comを参照してください。

ニールターナー

www.ec2dream.com

+1

URLは死んでいますが、ツールはこちらから入手できます。http://ec2dream.blogspot.com/ –

0

Windowsを使用する場合は、(あなたのAmazon EC2のイメージを起動および停止する簡単な方法を与える下記のリンクツール(O2 Platformの一部)を試してみて、あなたがする必要がある場合それはあなたが簡単に(動的にコンパイルされ、実行され、それだけでC#のスクリプトので)

0

代替ライブラリの問題は、それらが常に最新の状態に保たれていないということです。そのため、AWSの新機能がリリースされると、待つ必要があります。あなたの主な問題は環境変数の束であり、あなたのPATHに余分な項目を追加していることを投稿しました。この の問題はBitNamiであり、すべてのAWSコマンドラインツールを出荷済みのBitNami Cloud Tools JavaおよびRubyの言語ランタイム。ダウンロードするだけで、必要なものはすべて、システム構成を変更することなくフォルダにインストールされます。私たちは定期的に最新の状態に保ちます。

0

クラウド管理という業界全体がこの種の問題を解決しようとしています。 ScalrおよびRightScaleとこの分野のリーダー(免責事項:私はScalrで働いています)。

クラウド管理ソフトウェアは、Amazon EC2 API(通常はRackspaceなどのパブリックIaaS)上に構築され、前述のようにバックアップやSSH管理などの自動化ツールとともに改善されたユーザーインターフェイスを提供します。それらはstricto sensuの簡単なコマンドラインツールを提供しません。彼らの目標は、Amazon EC2とのやりとりを簡単にすることです。

の異なるオプションが市場で利用可能です:

  • ScalrScalr試用版とホスティングサービスとして提供されています。 それ以外の場合は、downloadにアクセスして、Apache 2ライセンスでリリースされたソースコードを自分でインストールしてください。
  • RightScale:通常、中小企業にとっては高価と見なされますが、無料のアカウントを提供します。
  • enStratus:RightScaleのようなフリーミアムモデルを提供します。EC2-API-ツールについて
1

私は、特定のEC2-説明 - インスタンスの出力を嫌い、彼らは少しも不格好であることを同意するものとします。 私は最近ec2に非常にきれいで使いやすいインターフェースを提供するpython-botoに切り替えました。 EC2によって生成されたSSH鍵のパスフレーズを指定することができないについて

場合ではありません。

ssh-keygen -p -f /path/to/keyfile 

などのように、いつでもssh秘密鍵のパスフレーズを変更できます。

for i in $(ec2-describe-regions|cut -f 2);do 
    ec2-import-keypair --region $i mykey --public-key-file ~/.ssh/id_rsa.pub 
done 

上記の例〜/で公開鍵をアップロードします:自分のSSH鍵ペアのアップロードについて

ssh-keygen -p -f ~/.ssh/id_rsa 

:これは以下のように

あなたは、EC2-輸入鍵ペアを使用することができます。 ssh/id_rsa.pubを "mykey"という名前のすべての地域に追加します。各地域には独自の鍵ペアがあることを忘れないでください。

ec2インスタンスにキーをインストールするには、ec2-run-instancesに "-k mykey"オプションを渡す必要があります。

ちなみに、自分の鍵ペアをアップロードすることは、すべての地域のすべてのインスタンスに同じ鍵でログインする唯一の方法です。 Webインターフェイスからキーペアを作成すると、すべての地域で異なるキーが使用されます。

+0

ありがとうございます。私は2009年にこの質問をし、 'ec2-import-keypair'は[2010]まで実装されていませんでした(http://aws.amazon.com/releasenotes/4174?_encoding=UTF8&fromSearch=1&queryArg=searchQuery&searchPath=releasenotes&searchQuery=ec2- import-keypair&x = 0 &y=0);私が質問した時点では、これは不可能でした。 –