23

いくつかのアプリケーションを Amazon Web Services に移行し始めています。私のアプリケーションは、MySQL 上で実行される Python/Django アプリです。

手始めに EC2 と EBS を使用する予定です。

私はいくつかのものを探しています:

  1. Django を AWS にデプロイする方法を説明するステップバイステップの優れたチュートリアルです。調べてみましたが、ほとんどのチュートリアルは2年前のものなので、古いのではないかと心配しています。

  2. 理解しようとしているのですが、どの AMI から始めればよいですか? Django の優れた機能が事前に構成された BitNami AMI があることは知っていますが、基本的な (クリーンな) Linux ボックスから始めてすべてを自分でインストールする必要があると言うソースを他にもたくさん見てきました。なんで?

  3. 他に考えるべき重要なことはありますか?私はシステム管理の経験がほとんどない (アプリは現在 WebFaction にある) ため、何を考えればよいかわかりません。

いくつかの追加ポイント:

  • 同じ EC2 インスタンスで複数のアプリケーションを実行する予定ですが、可能でしょうか?
  • 現在、virtualenv を使用してさまざまなアプリを分離していますが、EC2 インスタンスで同じことを続けられると思いますか?

ありがとう!

4

3 に答える 3

9

ここで EC2 に「特別な」ものは何もありません。ベア (または通常はカスタム AMI から事前構成された) システム インスタンスを提供するだけです。仮想化されたシステム全体にアクセスできるため、自分で問題を安全に解決できます。特定の VPS と考えてください。

自分で展開を準備する必要がありますが、それほど難しくはありません。ドキュメントに従ってください。あらかじめ構成されたイメージに頼るよりも、基本的な Linux ディストリビューションで実行し、必要なものを追加することをお勧めします。あなたの質問について:

  1. インスタンスのセットアップ (アカウント、必要なソフトウェア、その他のカスタム セットアップ、Linux 管理ガイドが便利なはずです) と、django アプリのデプロイの準備 (Python コードのデプロイ、Web サーバーへの接続) の 2 つを行う必要があります。後者については、django の一般的な展開手順をここ ( http://docs.djangoproject.com/en/dev/howto/deployment/ ) で適用できます。

  2. お気に入りの Linux ディストリビューションで AMI から始めて、そのリポジトリから必要なソフトウェアを追加します。

  3. すべてのデータに対して、できるだけ早く EBS をマウントして使用してください。再起動すると、EC2 インスタンスはすべてのデータを消去するため、これに備えてください。システム スナップショットを AMI に作成して、障害発生時に迅速に復旧できるようにします。

はい、1 つのインスタンスに複数のアプリケーションをデプロイできますが、EC2 インスタンスは仮想化されていることに注意してください (特に小規模なインスタンスの場合、「仮想化税」が非常に高くなります)。そのため、一般的なパフォーマンスの問題が発生する可能性があります。しばらくしてから、より大きなインスタンス/複数のインスタンスに移行する必要があるとします。

Virtualenv がデフォルトのデプロイ ツールである必要があります。はい、ここでも使えます。

于 2010-12-20T12:08:08.570 に答える
1

Amazon ec2 インスタンスのセットアップに関する公式ドキュメントに従うことができます: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance_linux.html

使い慣れた AMI から始める必要があります。たとえば、Ubuntu を使用している場合は、推奨ページにある Ubuntu AMI のいずれかを使用できます。私は BitNami サーバーを使用しませんでしたが、私の Django サイトはスムーズに展開されています。

Apache サーバーを使用している場合は、Django の公式ドキュメント ( https://docs.djangoproject.com/en/1.5/howto/deployment/wsgi/modwsgi/ ) の指示に従ってください。

私はかなりの数のブログを試しましたが、あなたが言ったように、それらは時代遅れです. 公式ドキュメントを使用するだけで、多くの時間を節約できます。

于 2013-10-30T19:04:08.483 に答える
0

このリポジトリは、まさにこの問題に対処することを目的としています。AWS ElasticBeanstalk にデプロイできる基本的な django プロジェクトの参照実装を提供します。

https://github.com/pushkarparanjpe/django-awsome

それは持っています:

  • 静的アセット
  • DB バックエンド
  • django contrib 管理者

EBS 環境を構成し、レポをクローンしてデプロイするだけです!

于 2016-03-04T08:35:32.460 に答える