Как использовать Cloudformation для создания темы SNS на AWS
На этой странице
- Предварительные условия
- Что будем делать?
- Войти в AWS
- Создать шаблон
- Создание стека Cloudformation
- Подтвердить тему SNS
- Удалить стек
- Заключение
AWS SNS — это простая служба уведомлений. Cloudwatch может использовать его для отправки предупреждений по электронной почте. Сначала необходимо создать тему SNS, а затем на нее нужно подписаться на конечную точку.
В этой статье мы создадим тему SNS с помощью Cloudformation и подпишемся на конечную точку электронной почты. Мы также увидим, как удалить тему и подписку SNS с помощью самого стека Cloudformation. Предполагается, что вы имеете общее представление о социальных сетях и их работе. Эта статья посвящена созданию SNS с использованием стека Cloudformation.
Предпосылки
- Аккаунт AWS (создайте, если у вас его нет).
- Основные сведения о социальных сетях.
- Основное понимание Cloudformation.
Что мы будем делать?
- Войдите в AWS.
- Создайте шаблон.
- Создайте стек.
- Подтвердите подписку.
- Удалить стек.
Войти в АВС
Нажмите здесь, чтобы перейти на страницу входа в AWS. Введите свои учетные данные пользователя, чтобы войти в свою учетную запись AWS.
После успешного входа в свою учетную запись вы увидите консоль управления AWS, как показано ниже.
Создать шаблон
Прежде чем мы приступим к созданию стека, давайте создадим шаблон \create-sns-topic.template\ на вашем локальном компьютере со следующей конфигурацией Cloudformation.
Вы также можете скачать шаблон Cloudformation из моего репозитория Github, ниже приведена ссылка на шаблон.
Ссылка: https://github.com/shivalkarrahul/DevOps/blob/master/aws/cloudformation/create-sns-topic/create-sns-topic.template
--- AWSTemplateFormatVersion: '2010-09-09' Description: The SNS Topic Parameters: SubscriptionEndPoint: Type: String Description: The endpoint that receives notifications. SubscriptionProtocol: Type: String Description: The subscription protocol AllowedValues: - http - https - email - email-json - sms - sqs - application - lambda Default: email Mappings: {} Conditions: {} Resources: SNSTopic: Type: AWS::SNS::Topic Properties: {} SNSSubscription: Type: AWS::SNS::Subscription Properties: Endpoint: Ref: SubscriptionEndPoint Protocol: Ref: SubscriptionProtocol TopicArn: Ref: SNSTopic Outputs: QueueName: Description: Name of the SNS Topic we created Value: Fn::GetAtt: - SNSTopic - TopicName TopicARN: Description: ARN of the SNS Topic we created Value: Ref: SNSTopic
Создайте стек Cloudformation
Когда у вас есть шаблон на локальном компьютере, вы готовы создать стек Cloudformation.
Нажмите «Услуги» в левом верхнем углу экрана и найдите Cloudformation под управлением и управлением.
Чтобы создать стек, вы увидите опцию «Создать стек» в правой части экрана, нажмите на нее. Вы увидите 2 варианта, из этих 2 вариантов нажмите «С новыми ресурсами (стандартно). «Удалить2» — это существующий стек в моей учетной записи в выбранном регионе, вы не увидите его в своей учетной записи.
Нажмите «загрузить файл шаблона» и выберите шаблон с вашего локального компьютера. Нажмите кнопку \Далее\.
Укажите сведения о стеке, такие как имя стека, конечная точка подписки и протокол подписки. Вы можете выбрать протокол из раскрывающегося списка в разделе Протокол подписки. Я выбрал электронную почту в качестве протокола подписки, если протокол подписки - электронная почта, вам нужно будет указать свой адрес электронной почты в качестве конечной точки подписки. Нажмите кнопку \Далее\, чтобы продолжить.
Теги являются необязательными, и указывать теги на этой странице не обязательно. Нажмите кнопку «Далее», чтобы продолжить.
Прокрутите вниз до конца страницы и нажмите кнопку \Создать подборку\. Это создаст стек, который, в свою очередь, создаст тему SNS с электронной почтой в качестве конечной точки подписки.
Создание ресурсов займет несколько минут, и как только ресурсы будут созданы, вы увидите состояние стека как \CREATE_COMPLETE\.
Подтвердите тему SNS
Вы можете зайти в SNS и проверить, создана ли тема. Найдите SNS, после чего вы попадете в консоль SNS.
Здесь нажмите «Темы» на левой панели и выберите тему, которая была создана. Название вашей темы SNS будет иметь префикс имени стека Cloudformation. На вкладке \Подписка\ вы увидите, что конечная точка также создана, но находится в состоянии \Ожидает подтверждения\.
Когда подписка создается, она отправляет ссылку подтверждения на указанную конечную точку. Здесь мы указали адрес электронной почты в качестве конечной точки, поэтому мы должны были получить электронное письмо со ссылкой для подтверждения.
Перейдите в папку «Входящие» электронной почты, которую вы указали в качестве конечной точки подписки. Откройте письмо, и вы увидите гиперссылку «Подтвердить подписку», нажмите на нее.
После подтверждения подписки вы увидите следующее сообщение.
Теперь вернитесь к теме и на вкладке «Подписки» проверьте конечную точку, и вы увидите статус «Подтверждено». На этом создание темы SNS и ее конечной точки завершено. Теперь вы готовы публиковать сообщения в этой социальной сети, которая будет отправлять эти сообщения в указанную конечную точку.
Удалить стек
Если вам больше не нужны SNS и подписка в аккаунте, вы можете удалить стек, что, в свою очередь, удалит созданные им ресурсы. Перейдите в стек и нажмите на кнопку «Удалить».
Подтвердите действие удаления, нажав кнопку «Удалить стопку». После удаления стека все созданные им ресурсы также будут удалены и не могут быть восстановлены. Будьте осторожны при выполнении операции удаления, если вы работаете с аккаунтом AWS вашей организации или клиента.
Удаление займет несколько минут. После удаления стека вы увидите статус \DELETE_COMPLETE\, и стек больше не будет доступен.
Заключение
В этой статье мы увидели, как легко создать тему SNS и подписку на тему с помощью стека Cloudformation. Мы использовали электронную почту в качестве протокола подписки. Вы можете выбрать нужный протокол из доступного списка и указать его конечную точку в теме. Мы также видели, как удаление стека удаляет созданные им ресурсы.