web-dev-qa-db-ja.com

AmazoneのEC2インスタンスでコードを実行する方法は?

EC2の機能についてほとんど何も理解していません。 Amazon Web Service(AWS)アカウントを作成しました。次に、EC2インスタンスを起動しました。

そして今、このインスタンスでPythonコードを実行したいのですが、どうすればよいかわかりません。インスタンスのどこかにコードをロードする必要がありますか?またはAmazonのS3とインスタンスにリンクするには?

可能なインスタンスの使用法を説明するガイドはどこにありますか?私は、ユーザーガイドのない空飛ぶ円盤のダッシュボードの前の男のように感じます。

67
humalayi

PythonスクリプトをローカルからEC2インスタンスに移動して実行する非常に簡単な手順を次に示します。

> 1. scp -i <filepath to Pem> <filepath to Py File> ec2-user@<Public DNS>.compute-1.amazonaws.com:<filepath in EC2 instance where you want
> your file to be>
> 2. Cd to to the directory in EC2 containing the file. Type Python <Filename.py> There it executed.

以下は、順を追って示されているものが好きな人のための具体的な例です。

  1. ローカルディレクトリで、pythonスクリプトを次のコードで作成します。print( "Hello AWS")
  2. 既にAWSがセットアップされており、EC2でこのスクリプトを実行する場合、ファイルをSCP(Secure Copy Protocol)でEC2のディレクトリにコピーする必要があります。以下に例を示します。
    -pemへのファイルパスは〜/ Desktop/random.pemです。
    -pyファイルへの私のファイルパスは〜/ Desktop/hello_aws.pyです
    -私のパブリックDNSはec22-34-12-888です
    -スクリプトを配置するec2ディレクトリは/ home/ec2-userにあります
    -したがって、ローカル端末で実行する完全なコマンドは次のとおりです。

scp -i〜/ Desktop/random.pem〜/ Desktop/hello_aws.py [email protected]:/ home/ec2-user

  1. Ec2インスタンスにsshし、/ home/ec2-user(またはファイルを置く場所)にcdして、Python hello_aws.py
26
MLhacker

さまざまなオプションがあります。 AMIの大規模なライブラリ here を参照できます。

Vmをインポートできます。手順は here です。

これは AWSとpython に関する一般的な記事です。

そして、この記事では、著者は、非常に推奨されるpythonフレームワークを使用して、Djangoのデータストアの組み合わせを備えた より高度なシステムを紹介します

22
marr75
  1. Amazonの管理コンソールからインスタンスを起動します->インスタンスアクション->接続(詳細はスタートガイドをご覧ください)

  2. JavaベースのSSHクライアントを起動します

  3. プラグイン-> SCFTPファイル転送

  4. ファイルをアップロードする

  5. バックグラウンドでファイルを実行します(最後に「&」を付けるか、Nohupを使用します)

必ずpythonを含むAMIを選択してください。シェルで「python」と入力して確認できます。アプリで非正統的なパッケージが必要な場合は、インストールする必要があります。

4
Cristian

Linux ec2インスタンスでのスクリプトの実行


Amazon ec2でスクリプトを実行する必要があり、その方法を学びました。質問は何年も前に聞かれましたが、私はそれが今日どれほど簡単かを共有すると思いました。

EC2ホストへのEC2およびssh-ingのセットアップ

  • デフォルト設定でec2インスタンスをサインアップして起動します(ec2の起動中に生成される証明書ファイルを保存することを忘れないでください)。
  • Ec2が起動して実行されたら、証明書ファイル_chmod 400 /path/my-key-pair.pem_(または.cerファイル)に必要な権限を提供します
  • コマンドを実行します:ssh -i /path/my-key-pair.pem(.cer) USER@Public DNS[〜#〜] user [〜#〜]使用しているオペレーティングシステムに基づいてデータを変更します起動します。詳細については以下の段落を参照してください&&パブリックDNSはec2インスタンスページで取得できます)

Sshコマンドを使用して、インスタンスに接続します。秘密鍵(.pem)ファイルとuser_name @ public_dns_nameを指定します。 Amazon Linuxの場合、ユーザー名はec2-userです。 RHELの場合、ユーザー名はec2-userまたはrootです。 Ubuntuの場合、ユーザー名はubuntuまたはrootです。 Centosの場合、ユーザー名はcentosです。 Fedoraの場合、ユーザー名はec2-userです。 SUSEの場合、ユーザー名はec2-userまたはrootです。それ以外の場合、ec2-userとrootが機能しない場合は、AMIプロバイダーに確認してください。

EC2にスクリプトを複製します

Ec2でスクリプトを実行するには、GithubにレポジトリまたはGist(コードをプライベートに保つ必要がある場合)としてコードを保存し、ec2にクローンすることをお勧めします。

上記の説明は非常に簡単で、エラーが発生しやすいものではありません。

python scriptの実行

RHEL Linuxインスタンスを使用しましたが、pythonは既にインストールされています。したがって、ホストに直接ssh-ingした後、pythonスクリプトを実行できます。選択したオペレーティングシステム:まだインストールされていない場合は、awsのマニュアルを参照してください。

リファレンス: AWS Doc

2
vardin