web-dev-qa-db-ja.com

管理者はEC2 EBSとスナップショットをどのように管理していますか?

私の会社はホスティングをAmazonに移行しており、移行の問題はすべて解決しています。物理ハードウェアから一時的な仮想マシンへの移行は、非常に困難でした。

最後の課題の1つは、EBSとスナップショットの管理方法を理解することです。現在のところ、それらに説明的な名前を付けたり、意味を追加したりする方法はないため、管理者がどのようにリソースを管理しているのかと思います。 1台または2台のサーバーではそれほど問題ではありませんが、複数のサーバーを実行しているサーバーがどのように処理するかは問題ではありません。誰もが少数のサーバーを乗り越えるときにサードパーティのツール(RightScale/Scalrなど)を使用していますか?または、wikiやその他の補助的なドキュメントを管理していますか?

30
ahanson

Ec2-consistent-snapshot( http://alestic.com/2009/09/ec2-consistent-snapshot )を使用して(RHEL/CentOSから派生したAmazonのLinuxで)スナップショットを取得します-書き込まれますPerlではAPIを直接使用します。スナップショットを作成するボリュームを指定すると、説明を追加できます。

(AWSコンソールでは、より細かい制御が必要な場合にタグを追加できますが、単純なバックアップでは不要であり、上記で使用されているPerlモジュール(Net :: Amazon :: EC2)ではまだサポートされていません)。

上記のスクリプトはスナップショットを削除しません(新しいスナップショットのみを作成します-一貫して(つまり、スナップショットの前にdisk/dbをフリーズできます)。これはかなり一般的に使用されており、私が書いた古いスナップショットを削除するための互換性のあるPerlスクリプトを見つけることができませんでした。私自身( http://www.thatsgeeky.com/2011/06/rotating-ebs-snapshots-ec2-Prune-snapshots/ )。それは仕事をします(grandfather-father-son rotation)上記のスクリプトと同じ依存関係とパラメーターを使用しています。

もちろん、どちらもCron経由で実行するように設定されています。

(理論的には、いくつかの同様のスクリプトをフックするのは十分簡単なはずです(PHPおよびRubyなど)で記述されたスクリプトがデータベースにある場合、ボリュームと取得したスナップショットの独自のログを維持します-各スナップショットには一意のIDがあり、それを記録する限り、さらに社内での組織化が容易に可能になります[ただし、バックアップの目的で、ボリュームIDと日付はしばしば十分])

CLIツールは使用しないでください。これらのツールはJava=)で記述されており、直接のAPI実装に比べて途方もなく遅いです。

3
cyberx86

Amazonは、Amazonがエンタープライズ市場にアピールするために必要な効果的な管理を行うために必要なすべての機能を徐々に追加しています。タグが追加され、ユーザーが特定の機能にのみアクセスできるようにする拡張機能が提供されます。将来的には、確実にスクリプトと展開が処理されます。これらの機能を無料のツールElastDreamに追加しています。

2
user55417

ElasticFoxは確かにEC2を(手動で)管理するための最も便利なツールの1つです。しかし、重要な部分は-インスタンスを定期的にイメージングする-新しいインスタンスが起動したら、いくつかの自動初期化を設定する:-エフェメラルドライブをパーティション化してマウントする-利用可能になったらEBSボリュームをマウントする-いずれかのEBSからファイルとデータベースを復元する共有ストレージまたはS3。 -サービスを開始します(MySQL、Apache、Tomcat、名前を付けます)。

1
Dirk Taggesell

すべてのEC2リソースを管理するために chef を使用します。

1
ctennis

ElasticFox を使用して、スナップショット(およびすべてのサーバー)を管理しています。これにはタグが付いているので、どちらがどれかを簡単に追跡できます。

プログラムで物事をやりたいときは、 boto ライブラリも使用します。ただし、その場合は、独自のデータストアを作成する必要があります。そこではSQSとSqliteが適切なオプションです。

1
jedberg

テキストラベルに対してEBSとスナップショットIDにインデックスを付ける独自のツールを書くのではなく、無料の RightScale アカウントを使用してニックネームを割り当てることが、EBSボリュームとスナップショットを管理する最良の方法であることがわかりました。

私は個人的に、覚えやすいラベルをEC2インスタンス、AMI、またはボリュームに割り当てることができないことは、現在のAmazonオファリングの大きな穴であると思います-それは私にとっては非常に簡単なようです。

1
gareth_bowles

私のブログには、ローテーションバックアップ(祖父-父-息子)を作成するための独自のスクリプトがあります http://three99.com/posts/python-grandfather-father-son-snapshots-backup-for-ec2/

0
Dimitris

AWSコンソールは急速に改善していますが、多くの日常的なタスクには低レベルです。ここでこの機能が必要な場合は、弾丸をかじってec2 cliツールを活用して独自のスクリプトを記述し、スナップショットを管理するか、サードパーティのツールを使用する必要があります。 EBSボリューム管理の場合、言及されているものは適切です。別のオプションはEBS管理ツールで、バックアップのスケジュール、名前の付け方、復元などを行うことができます BitNami Cloud Hosting (無料の階層があります) )

0
Daniel Lopez