Amazon EC2インスタンスをシャットダウンしてから再起動した場合、すべて問題ありませんか?


12

Amazon EC2 Linuxベースのインスタンスで実行され、通常のドメイン名(x.com)にマッピングされるWebサイトがあります。このサイトは、2番目のEC2インスタンス上のデータベースと通信します。

このインスタンスをシャットダウンし、その背後にあるコンピューティングパワーを増やす必要があります...それを行うと、どれくらい時間がかかりますか?その後、マシンを再びスピンアップすると、サイトがオンラインに戻りますか?IPアドレス、DNS情報などはすべて保持されるので、ドメイン名は機能し続けますが、それでもDBと通信できますか?

参考までに、これは現在、AWS EC2情報パネルでウェブサーバーに表示されているものです(正確なIPアドレスはわずかに変更されていますが、アイデアはわかります)。

Public DNS: ec2-54-1-1-1.us-west-1.compute.amazonaws.com
Private DNS: ip-10-1-1-1.us-west-1.compute.internal
Private IPs: 10.1.1.1

回答:


13

EBSブートインスタンスの停止と起動は、いくつかの例外を除いて単にインスタンスを再起動することに非常によく似ています。

  1. インスタンスには、新しい内部IPアドレスが割り当てられます。

  2. インスタンスには新しいパブリックIPアドレスが割り当てられます。

  3. インスタンスがVPCにない場合、Elastic IPアドレスはインスタンスとの関連付けが解除されます。

  4. 一時ストレージ(多くの場合/ mntの下)のすべてのデータが失われます

この記事で説明した請求と可用性への影響もいくつかあります。

Amazon EC2インスタンスのリブートと停止/開始
http://alestic.com/2011/09/ec2-reboot-stop-start

VPCインスタンスは、停止/開始を通じてElastic IPアドレスを保持するなど、若干異なる動作をします。

インスタンスをデータベースサーバーとして使用しており、内部IPアドレス(より安く、より高速)を使用してインスタンスに接続し、停止/開始後にデータベースクライアントを再構成する必要がない場合は、割り当てることができます。インスタンスへのElastic IPアドレスと外部Elastic IP DNS名を使用します。これは、Elastic IPアドレスを再起動したインスタンスに再度関連付けた後、現在の内部IPアドレスに解決され、クライアントは中断したところから再開します。

この記事では、このアプローチについて詳しく説明します。

Elastic IPを使用してAmazon EC2の内部インスタンスを識別する
http://alestic.com/2009/06/ec2-elastic-ip-internal

あなたが予想したように聞こえますが、停止/開始は、インスタンスを動かすハードウェアを変更する簡単な方法です。この記事では、いくつかの指示と警告とともにこれについて書きました。

EC2インスタンスをより大きな(またはより小さな)インスタンスタイプに移動する
http://alestic.com/2011/02/ec2-change-type

特定の状況では、インスタンスにElastic IPアドレスを割り当て、CNAMEを使用して外部DNS名を使用するElastic IPアドレスを指すようにDNSを変更することをお勧めします。停止/開始の直後にこれを行うことも、停止/開始の前にすべてが機能することを確認して事前に行うこともできます。


これはまだ正確ですか?今朝、AWSサポートとチャットをしていましたが、インスタンスが停止して Elastic IPの関連付け解除されないと言われました。また、インスタンスを停止および開始するときに内部IPアドレスが変更されるのを見たこともありません。
bshacklett

@bsacklettこの答えは少し時代遅れでした。非VPCインスタンスのみがエラスティックIPを失うことを説明するために更新しました。今日、ほとんどのインスタンスは確かにVPCです。
エリックハモンド

4

情報からわかるように、Elastic IPを使用していないようです。

このインスタンスを指すには、DNSでCNAMEを使用する必要があると思います。マシンを再起動すると、これec2-54-1-1-1.us-west-1.compute.amazonaws.com DNS名が変更され、サイトが機能しなくなります。

多くの内部IPが関係しているので、VPCを使用している場合を除き、それも変更されます。

ですから、もし私があなただったら、このマシンを再起動するのに非常に注意します。

Timeに関する限り、数分しかかかりません。

また、DBインスタンスで実行されているiptablesがあり、この内部IPのみがDBに接続できる場合、内部IPが変更されるため、それも機能しません。

したがって、このインスタンスを再起動する場合は注意が必要であり、十分に検討してください。


2

内部IP /ホスト名が変更され、Elastic IPがデタッチされます(VPCを使用していない場合)。

インスタンスを再起動した後、Elastic IPを再接続します。インスタンスサイズを変更するために定期的にこれを行っていますが、あなたはほんの数分のダウンタイムしか見ていません。

Apache、およびその他のサービスが開始するように設定されてchkconfigいることを確認します(amazon linux amiを実行している場合)。


1

私が覚えている限り、システムのタイプを変更して停止し、再起動するのに5〜10分以上かかることはありません(EBSがサポートするシステムとは言われていません)。システムが戻ったときにサービスを開始するには、再起動時にすべてのサービスが有効になっていることを確認してください(ubuntu 12.04のpuppetなど、/ etc / default / puppetで有効にします)。IPをメモします(ずっと前に行ったので明確に覚えていない)。せいぜいIPはシステムから分離できますが、アカウントに残っているので、Elastic IPセクションに移動して、システムを再起動すると問題ありません。


1

既に述べたように、エラスティックIPがある場合は、インスタンスに再アタッチされるため、DNS設定を変更する必要はありません。ただし、何らかの方法でプライベートIPが変更されます。これはおそらく、mysqlのGRANT設定を更新する必要があることを意味します。「CosあなただけではないGRANT ALL PRIVILEGES ON *.* to 'somedude'@'%'...正しい?;)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.