@r_zaycev

Golang, почему возникает ошибка превышения сетевых таймаутов при исполнении внутри AWS Lambda?

Всем привет!

Есть функция (написана на Go) в AWS lambda. Пытаюсь выполнять HTTPS-запрос к ресурсу, сначала была ошибка "TLS handshake timeout", указал кастомные настройки транспорта, при выполнении стало падать с ошибкой "dial tcp ip:443: i/o timeout;", поднял таймаут для http клиента, теперь падает с ошибкой "context deadline exceeded (Client.Timeout exceeded while awaiting headers);" и теперь я немного в замешательстве, непонятно, куда дальше копать.

HTTP-клиент инициализирую так:

t := &http.Transport{
	Proxy: http.ProxyFromEnvironment,
	TLSHandshakeTimeout: 10 * time.Second,
	TLSClientConfig: &tls.Config{
		CipherSuites: []uint16{tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384},
	},
}
client := http.Client{Transport: t, Timeout: time.Second * 10}


UPD
Функция не добавлена в VPC, в настройках лямбды установлен лимит памяти 128 MB, 20 секунд таймаута. Логи в Cloud watch такие:
2020-06-27T22:27:20.663+07:00 START RequestId: ae444070-b2bb-4651-9257-e67989c5bad3 Version: $LATEST
	
2020-06-27T22:27:20.663+07:00 Error: Post "https://api.dtf.ru/v1.8/entry/create": context deadline exceeded (Client.Timeout exceeded while awaiting headers);

END RequestId: ae444070-b2bb-4651-9257-e67989c5bad3 

2020-06-27T22:27:20.665+07:00 REPORT RequestId: ae444070-b2bb-4651-9257-e67989c5bad3 Duration: 0.76 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 37 MB
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы