У меня есть кластер Redis ElastiCache, который имеет полное доменное имя для основного узла в формате: master.clustername.x.euw1.cache.amazonaws.com
. У меня также есть запись Route53 с CNAME, указывающей на это полное доменное имя.
У меня есть лямбда-ядро .net в том же VPC, что и кластер, с доступом к кластеру через группы безопасности. Лямбда связывается с кластером, используя библиотеку Redis, разработанную Stack Overflow ( Github-репо здесь для справки ).
Если я дам лямбда-имени хоста полное доменное имя для кластера Redis (которое начинается с master
), я могу подключиться, сохранить данные и прочитать их.
Если я дам лямбде CNAME (и этот CNAME даст тот же IP-адрес, что и полное доменное имя, когда я пингую его с локального компьютера, а также если я использую Dns.GetHostEntry в лямбде), он не будет не удается подключиться, и я получаю следующее сообщение об ошибке:
One or more errors occurred. (It was not possible to connect to the redis server(s); to create a disconnected multiplexer, disable AbortOnConnectFail. SocketFailure on PING): AggregateException
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at lambda_method(Closure , Stream , Stream , LambdaContextInternal )
at StackExchange.Redis.ConnectionMultiplexer.ConnectImpl(Func`1 multiplexerFactory, TextWriter log) in c:\code\StackExchange.Redis\StackExchange.Redis\StackExchange\Redis\ConnectionMultiplexer.cs:line 890
at lambda.Redis.RedisClientBuilder.Build(String redisHost, String redisPort, Int32 redisDbId) in C:\BuildAgent\work\91d24911506461d0\src\Lambda\Redis\RedisClientBuilder.cs:line 9
at lambda.Ioc.ServiceBuilder.GetRedisClient() in C:\BuildAgent\work\91d24911506461d0\src\Lambda\IoC\ServiceBuilder.cs:line 18
at lambda.Ioc.ServiceBuilder.GetServices() in C:\BuildAgent\work\91d24911506461d0\src\Lambda\IoC\ServiceBuilder.cs:line 11
at Handlers.OrderHandler.Run(SNSEvent request, ILambdaContext context) in C:\BuildAgent\work\91d24911506461d0\src\Lambda\Handlers\OrderHandler.cs:line 26
Кто-нибудь видел что-нибудь похожее на это?