Чтобы воспроизвести вашу ситуацию, я создал:
- An Amazon VP C (с одним su bnet и без Inte rnet Gateway )
- A VP C Конечная точка для Amazon SNS , с:
- Политика доступа, разрешающая все входящие трафики c
- A группа безопасности , разрешающая весь входящий доступ из CIDR VP C
- Amazon SNS topi c с подпиской SMS на мой телефон
- Роль IAM для использования функцией Lambda, которая разрешает использование Amazon SNS
- AWS Функция Lambda :
- С вышеуказанной ролью IAM
- С группой безопасности, разрешающей все исходящие трафики c
- Прикреплено к частному su bnet в VP C
Моя функция Lambda:
def lambda_handler(event, context):
# Send message to SNS
MY_SNS_TOPIC_ARN = 'arn:aws:sns:ap-southeast-2:111111111111:foo'
sns_client = boto3.client('sns')
sns_client.publish(
TopicArn = MY_SNS_TOPIC_ARN,
Subject = 'From lambda',
Message = 'Hello'
)
Затем я проверил ее вручную, запустив функцию Lambda с консоли Lambda.
I успешно Получил тестовое сообщение на мой телефон.
Поэтому я предлагаю вам сравнить вашу конфигурацию с приведенным выше и попытаться обнаружить любые различия.
Я заметил, что вы развертываете через CloudFormation , чтобы вы могли либо запустить стек, а затем сравнить свои ресурсы с тем, что описано, или вы можете попробовать вручную создать вышеописанное, чтобы убедиться, что он работает для вас, а затем сравнить эти ресурсы с вашим шаблоном CloudFormation.