2016-04-18 21 views
2

EC2インスタンス内の関数にAmazon APIゲートウェイをリンクしたいが、これを行うためにhwoに関するオンラインがほとんど見つかっていない。APIゲートウェイ経由でEC2上で関数を実行

次のように現在、私は、APIコールを設定している: enter image description here

誰もが私がのルートフォルダに「test.py」と呼ばれる私のpython関数へのAPI呼び出しを接続することができる方法についてどのような光を当てることができます私のEC2インスタンス

答えて

2

あなたはAWS Run Commandサービスでこれを行うことができると思いますが、それは奇妙なことです。 AWSサービスプロキシはAWS APIをプロキシします。 AWS EC2サービスをプロキシするように指示すると、AWS APIによってEC2インスタンスが管理されます。 EC2インスタンスの管理には、サーバーの作成や削除などが含まれます。サーバーへのSSH接続の開始、サーバーへのログイン、サーバー上でのコマンドの実行などは含まれません。

APIゲートウェイ経由でサーバー上でスクリプトを実行する標準的な方法は、そのスクリプトをEC2サーバー上のWebサーバー経由で公開し、APIゲートウェイに適切なURLをヒットさせることです。

0

APIゲートウェイは、EC2インスタンスのファイルシステム上にあるPython関数を直接実行することはできません。 APIゲートウェイは、http/httpsエンドポイント経由でのみEC2インスタンスと対話できます。 Python関数をEC2インスタンス上で実行する必要がある場合、EC2インスタンス上でWebサーバーまたはアプリケーションサーバーを実行し、特定のパスで要求を受け取ったときにPython関数を実行するように設定する必要があります。次に、そのパスを使用するようにAPI Gateway http統合エンドポイントを設定します。

このPython関数を実行するだけで、このEC2インスタンスで実行する必要がない場合は、Python関数を含むLambda関数を設定することができます。次に、ラムダ関数を呼び出すようにAPIゲートウェイを設定します。 Lambdaアプローチを使用すると、EC2インスタンスを管理する必要はありません。また、少量使用のケースでは、ラムダは専用EC2インスタンスを実行するよりもはるかにコスト効率が良いことがあります。

関連する問題