2017-08-08 15 views
1

私たちは小さなEC2インスタンスを常に実行してデータを収集しています。より小さなサーバーからのデータを使用して、別のEC2インスタンス(より大きなCPUとRAM)を作成できるようにしたいと考えています。このより大きなインスタンスは、要求に応じて作成する必要があり、このタスクは自動化する必要があります。理想的には、この作業に「単一のボタン」を使用したいと考えています。Amazon AWSタスクの自動化

このタスクのスクリプト作成は可能ですが(たとえばpython CLIを使用して)、このタスクを完了するのに役立つツールやAWSサービスはありますか?

+0

何でもできますが、すべて目的のワークフローによって異なります。 IMHO、あなたのワークフローはあいまいなので、あなたには適していない多くの答えに終わるかもしれません。 – mootmoot

答えて

4

最初の質問は、格納することです両方のインスタンスがアクセスできるようにデータ。複数のインスタンスが同じデータにアクセスできるようにするには、ファイルシステムではなくデータベースに常にデータを格納するようにしてください。

新しい「ビッグ」インスタンスを起動するか、必要に応じて単に起動/停止するかを選択できます。 EC2インスタンスが停止すると、EC2の料金はかかりません(ただし、ディスクストレージの使用料はかかります)。

別のインスタンスを起動する場合は、AWS Command-Line Interface (CLI)を使用してを起動することができます。スクリプトは、インスタンスが起動するときにコマンドを実行するUser Data startup scriptでインスタンスを起動できます。これにより、アプリケーションをロードして実行することができます。

インスタンスの処理が完了したら、仮想マシンをシャットダウンできます。 シャットダウン動作オプションは、EC2インスタンスを停止または終了することができます。

第2の例としてAmazon EC2 Spot Instancesを使用することもできます。これにより、大幅なコストを抑えることができ、最悪の場合は終了し、後でやり直すことができます。

1

EC2 Python SDKでAWSラムダを使用することができます。ラムダ関数をトリガーするには、さまざまなメカニズムを使用できます。例えば。

  • トリガーラムダをAWS SESを使用して電子メールを送信することにより
  • トリガーラムダAWS API Gatewayを使用してHTTPエンドポイントを呼び出すことにより

    • トリガーラムダは直接
  • +0

    または単に[ラムダを呼び出す](https://boto3.readthedocs.io/en/latest/reference/services/lambda.html#Lambda.Client.invoke) – hjpotter92

    +0

    @ hjpotter92あなたの提案を追加した答えが更新されました。ありがとう:) – Ashan

    関連する問題