0
我有一個由S3存儲桶觸發的AWS Lambda函數。 Lambda函數在VPC中ping一個EC2實例。 VPC沒有NAT。由於某種原因,Lambda無法連接到EC2,並且超時。我試圖保持VPC和VPC外的lambda。我也嘗試使用該實例的公共和私有IP,但似乎沒有工作。關於我接下來可以做什麼的任何建議。 的爲lambda函數的代碼如下AWS Lambda無法在VPC中ping通EC2實例
from __future__ import print_function
import json
import boto3
import urllib2
print('Loading function')
s3 = boto3.client('s3')
def lambda_handler(event, context):
bucket = event['Records'][0]['s3']['bucket']['name']
url = urllib2.urlopen("http://ip-address/API/")
Mark我有兩個問題: 一,lambda是否應該在EC2所在的VPC內? 第二,我們如何爲安全組打開端口80?我目前在我的安全組中爲某些IP打開端口80,通過該端口訪問我的EC2實例。請注意,我不希望每個人都通過HTTP訪問我的機器。 –
嗨馬克, 感謝您的回答。我有兩個問題要問你。 第一個,lambda函數應該在VPC內嗎? 而第二個,我目前只爲我的EC2機器打開了端口80,只有某些IP,我應該如何打開HTTP端口80,使得安全組內的任何內容都可以訪問EC2? –
是Lambda函數應該在VPC中,與EC2實例所在的VPC相同。要打開安全組的端口,在添加入站規則時,請爲源類型選擇「自定義」,然後輸入安全組ID作爲源值。如果你開始在這個字段中輸入「sg」,它會彈出你的安全組列表。 –