웹사이트 검색

Cloudformation을 사용하여 AWS에서 SNS 주제를 생성하는 방법


이 페이지에서

  1. 전제 조건
  2. 무엇을 할 것인가?\n
  3. AWS에 로그인
  4. 템플릿 만들기\n
  5. Cloudformation 스택 만들기
  6. SNS 주제 확인\n
  7. 스택 삭제
  8. 결론

AWS SNS는 단순 알림 서비스입니다. Cloudwatch에서 경고 이메일을 보내는 데 사용할 수 있습니다. 먼저 SNS 주제를 생성한 다음 엔드포인트를 구독해야 합니다.

이 기사에서는 Cloudformation을 사용하여 SNS 주제를 생성하고 이메일 끝점을 구독합니다. Cloudformation 스택 자체를 사용하여 SNS 주제 및 구독을 삭제하는 방법도 알아봅니다. SNS와 그 작동 방식에 대한 기본적인 이해가 있다고 가정합니다. 이 기사는 Cloudformation 스택을 사용하여 SNS를 만드는 데 중점을 둡니다.

전제 조건

  1. AWS 계정(계정이 없는 경우 생성).
  2. SNS에 대한 기본적인 이해.\n
  3. Cloudformation에 대한 기본적인 이해\n

우리는 무엇을 할 것인가?

  1. AWS에 로그인합니다.\n
  2. 템플릿을 만듭니다.\n
  3. 스택을 만듭니다.
  4. 구독을 확인합니다.\n
  5. 스택을 삭제합니다.\n

AWS에 로그인

AWS 로그인 페이지로 이동하려면 여기를 클릭하십시오. AWS 계정에 로그인하려면 사용자 자격 증명을 입력하십시오.

계정에 성공적으로 로그인하면 다음과 같이 AWS 관리 콘솔이 표시됩니다.

템플릿 만들기

스택 생성을 진행하기 전에 다음 Cloudformation 구성을 사용하여 로컬 머신에 "create-sns-topic.template" 템플릿을 생성해 보겠습니다.

내 Github 저장소에서 Cloudformation 템플릿을 다운로드할 수도 있습니다. 아래는 템플릿 링크입니다.

링크: 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개의 옵션이 표시되며 그 중 "새 리소스 포함(표준). "delete2"는 선택한 리전 아래 내 계정의 기존 스택이므로 계정에 표시되지 않습니다.

"템플릿 파일 업로드"를 클릭하고 로컬 컴퓨터에서 템플릿을 선택합니다. "다음" 버튼을 클릭하십시오.

스택 이름, 구독 엔드포인트 및 구독 프로토콜과 같은 스택 세부 정보를 지정합니다. SubscriptionProtocol 옵션 아래의 드롭다운 목록에서 프로토콜을 선택할 수 있습니다. SubscriptionProtocol로 "email"을 선택했습니다. SubscriptionProtocol이 "email"인 경우 이메일 주소를 SubscriptionEndpoint로 지정해야 합니다. 계속하려면 "다음" 버튼을 클릭하십시오.

태그는 선택 사항이며 이 페이지에서 태그를 지정하는 것은 필수 사항이 아닙니다. 계속 진행하려면 "다음" 버튼을 클릭하십시오.

페이지 끝에서 아래로 스크롤하고 \\'스택 만들기\\' 버튼을 클릭합니다. 이렇게 하면 이메일을 구독 엔드포인트로 사용하여 SNS 주제를 생성하는 스택이 생성됩니다.

리소스 생성에는 몇 분 정도 소요되며 리소스가 생성되면 스택의 상태가 "CREATE_COMPLETE"로 표시됩니다.

SNS 주제 확인

SNS로 이동하여 주제가 생성되었는지 확인할 수 있습니다. SNS 콘솔로 이동하는 SNS를 검색합니다.

여기 왼쪽 패널에서 "주제"를 클릭하고 생성된 주제를 선택합니다. SNS 주제에는 Cloudformation 스택 이름이 접두사로 붙은 주제 이름이 있습니다. "구독" 탭에서 엔드포인트도 생성되었지만 상태는 "확인 대기 중"임을 확인할 수 있습니다.

구독이 생성되면 지정된 끝점에서 확인 링크를 보냅니다. 여기에서 이메일 주소를 끝점으로 지정했으므로 확인 링크가 포함된 이메일을 받았어야 합니다.

구독에 대한 엔드포인트로 지정한 이메일의 받은 편지함으로 이동합니다. 이메일을 열면 "구독 확인" 하이퍼링크가 표시되며 클릭하십시오.

구독이 확인되면 다음과 같은 메시지가 표시됩니다.

이제 주제로 돌아가서 "구독" 탭에서 엔드포인트를 확인하면 "확인됨" 상태가 표시됩니다. 이렇게 하면 끝점과 함께 SNS 주제 생성이 완료됩니다. 이제 해당 메시지를 지정된 엔드포인트로 보낼 이 SNS에 메시지를 게시할 준비가 되었습니다.

스택 삭제

계정에서 SNS 및 구독이 더 이상 필요하지 않은 경우 스택을 삭제할 수 있으며 그러면 생성된 리소스가 삭제됩니다. 스택으로 이동하여 "삭제" 버튼을 클릭합니다.

"스택 삭제" 버튼을 클릭하여 삭제 작업을 확인합니다. 스택이 삭제되면 생성된 모든 리소스도 삭제되며 복구할 수 없습니다. 조직 또는 클라이언트의 AWS 계정을 처리하는 경우 삭제 작업을 수행할 때 주의하십시오.

삭제에는 몇 분이 소요되며 스택이 삭제된 후 상태가 "DELETE_COMPLETE"로 표시되고 스택을 더 이상 사용할 수 없게 됩니다.

결론

이 기사에서는 Cloudformation 스택을 사용하여 SNS 주제와 주제 구독을 만드는 것이 얼마나 쉬운지 확인했습니다. 이메일을 구독 프로토콜로 사용했습니다. 사용 가능한 목록에서 선택한 프로토콜을 선택하고 주제에 대한 끝점을 지정할 수 있습니다. 또한 스택을 삭제하면 생성된 리소스가 삭제되는 방식도 확인했습니다.