2013-03-25 7 views
33

私はちょうどamazon ec2を探索し始めています。そして、私はいくつかの説明を聞きたいのですが、どのように、なぜAmazonのec2で '予約'が必要なのかの簡単な例があります。私は、Pythonフレームワークbotoを使ってAmazonサービスを管理しています。そして、これまでのところ、私は本当に私たちは、たとえば、あなたのインスタンスを取得するために、この余分なステップを持っていない理由の任意の理由が表示されない:Amazon EC2の「予約」の目的は何ですか

私はすべての私のインスタンスを取得する方法、いくつかの回は、私はこのようにそれを行うだ
reservations = ec2.get_all_instances() 
instances = [instance for res in reservations for instance in res.instances] 

reservation = ec2.run_instances(image_id, min_count, max_count, key_name .....) 
instance = reservation.instances[0] 

そして、私はそうで、ボリュームを添付してタグを追加し、セキュリティグループを追加し、ためにそれらのインスタンスを使用して....しかしboto.ec2.instance.Reservationの目的は、(私は、唯一のbotoの枠組みについて尋ねていないよ何よりも、もちろんそれが好まれますが、Amazon EC2の全体的な意味で)

>>> reservation = reservations[0] 
>>> reservation 
Reservation:r-74d11509 
>>> dir(reservation) 
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'connection', 'endElement', 'groups', 'id', 'instances', 'item', 'owner_id', 'region', 'startElement', 'stop_all'] 
>>> reservation.__class__ 
<class 'boto.ec2.instance.Reservation'> 

有用な方法が見つかりませんでした。なぜ私はこれが必要なのか説明してください。それがそこにある理由は何ですか?どのような場合に使用するのですか?

+1

'help(reservation)'も試してみることができます。 – cyroxx

+0

@cyroxx私に非常に便利なコマンドを教えてくれてありがとう、しかし、私はまだ私の質問への答えが表示されません。 – Vor

答えて

31

私の理解から、アクトの起動インスタンスが予約されています。基本的には予約はの場合は、インスタンスの場合はです。 run_instances()で1つのイメージから複数のインスタンスを起動すると、1つの予約が行われますが、複数のインスタンスが取得されます。

run_instancesと一緒にReservation.stop_all()を実行すると、複数のインスタンスを実行し、タスクを完了してから一度に停止することができます。 boto docsから

+1

これは間違っており、正解ではありません。予約インスタンスとオンデマンドインスタンスは、$ 20 /年対$ 8 /月を支払うことができる企業に似ています。インスタンスを予約するということは、あなたが価格を固定していることを意味しますが、その価格を確保するために、お金を前払いします。オンデマンドは、よく、オンデマンドです。 –

+16

@RyanParman:あなたのプロフィールを見るあなたはあなたが何を話しているか知っていると思います...あなたは予約されたインスタンスとReservationInfoTypeのAPIレスポンス、別名boto.ec2.instanceを混同していないと確信していますか?予約? – georg

+0

良い点;私はそうかもしれない。 Mitch(botoの著者)がAWSで働いているので、私は[公式フォーラム](https://forums.aws.amazon.com/forum.jspa?forumID=132)で質問したいと思います。それを除いて、あなたはGitHubで[問題を報告する](https://github.com/boto/boto)かもしれません。それではまた、もし私が@ thg435が私が持っていると言っている間違いをしたら、彼は非常にうまくいくかもしれません。私の悪い。 :o –

10

予約は、インスタンスを起動するコマンドに対応しています。あなたは、予約に関連付けられているかのインスタンス を見ることができます:

>>> instances = reservations[0].instances 
>>> instances 
[Instance:i-00000000] 
4

これはRyan Parman & Rose Perroneから面白いスレッドやコメントである - 私は再で歴史についてミッチを求めることができる:今年後半に発明する(2015 )、しかし、あなたはaws ec2 describe-instancesの任意の通常の並べ替え(またはその他のboto、SDKの、からの同等品)を行う場合は、すべてのインスタンスがいくつかの一般的な意味での「予約」として列挙表示されます:

{ 
    "Reservations": [ 
     { 
      "OwnerId": "123456789012", 
      "ReservationId": "r-9aa12345", 
      "Groups": [], 
      "Instances": [ 

そのデータ内にされReservationIdの値タイプはr-12345bc8ですが、これは低いレートでロックするために支払う予約に対応していません(請求の都合上、実際のタイプのインスタンスではありません)。だから私の感想は、システムを初めて作成したときの面白さが少し残っていることです - 実行するスロットを「予約」する必要があるすべてのインスタンス。後になって、同じ用語を使った価格設定モデルが登場しました。

もう一度、それはちょうど推測です。

ここでは、単語の2つの意味の重複が明らかに存在し、互いに関連しているようには見えません。

関連する問題