Amazon EventBridge 시도

5338 단어 AWS

개시하다


AWS 환경에서 발생하는 이벤트를 AWS 서비스 및 SaaS 서비스와 연관시킬 수 있는 서비스는 Amazon Event Bridge가 됩니다.
Kiness에서 Ingest 튜토리얼을 흐르는 EC2 인스턴스 상태 변경 이벤트를 수행하려면
https://docs.aws.amazon.com/ja_jp/eventbridge/latest/userguide/relay-events-kinesis-stream.html

시험해 보다


사전 작업


Kiness 흐름 만들기
aws kinesis create-stream --stream-name test --shard-count 1

Amazon EventBridge 규칙 작성


관리 콘솔에서 Amazon Event Bridge 화면을 엽니다.
규칙 작성을 클릭합니다.

이름 및 설명


이름 입력

정의 모드


이벤트 모드
・ 이벤트 일치 모드: 서비스마다 미리 정의된 모드
・ 서비스 제공업체: AWS
・ 서비스 이름: EC2
・이벤트 유형: EC2 Instance State change Notification
・특정 상태: 런닝
임의의 실례
이벤트 모드
{
  "source": [
    "aws.ec2"
  ],
  "detail-type": [
    "EC2 Instance State-change Notification"
  ],
  "detail": {
    "state": [
      "running"

이벤트 버스 선택


AWS 기본 이벤트 버스
선택한 이벤트 버스에서 규칙 활성화

대상 선택


아까 만든 Kiness 스트림을 선택하세요.

클릭하여 만들기

테스트


EC2를 시작합니다.
Cloudwatch 사건에 불이 났고 데이터가 Kiness로 흐른다.
Kiness 흐름 확인
섀시 이퀄라이저 확인
$ aws kinesis get-shard-iterator --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZON --stream-name test --region ap-northeast-1
{
    "ShardIterator": "AAAAAAAAAAE1mZhG3rrfdQ5tdAaeUbQa2ypHZFGOL/bNXDJrMPwQ6k6cOFwg0Uu/Kc9Coqn1pOfEj6urr9izKxk7/H7dB2DB6Ntw371oTx/Uxi5ixBBOMhkFb4MEVWNAvcW63bSBe7Z+Am7GS7lP1CZJaNV1vnMDKOX42SAStBr2BneylFxgZm25sdq/n1omPCc9JGZqO4dmDxn+txU6k64jvHm+uVSM"
}
데이터 가져오기
$ aws kinesis get-records --shard-iterator "AAAAAAAAAAE1mZhG3rrfdQ5tdAaeUbQa2ypHZFGOL/bNXDJrMPwQ6k6cOFwg0Uu/Kc9Coqn1pOfEj6urr9izKxk7/H7dB2DB6Ntw371oTx/Uxi5ixBBOMhkFb4MEVWNAvcW63bSBe7Z+Am7GS7lP1CZJaNV1vnMDKOX42SAStBr2BneylFxgZm25sdq/n1omPCc9JGZqO4dmDxn+txU6k64jvHm+uVSM" --region ap-northeast-1
{
    "Records": [
        {
            "SequenceNumber": "49597676585257306017395502932031331338920563685948653570",
            "ApproximateArrivalTimestamp": 1563343124.406,
            "Data": "eyJ2ZXJzaW9uIjoiMCIsImlkIjoiNWMzYTRhYTYtOGY0ZS02YzQ3LTlkMTEtNjEwOGU0NWJlY2YyIiwiZGV0YWlsLXR5cGUiOiJFQzIgSW5zdGFuY2UgU3RhdGUtY2hhbmdlIE5vdGlmaWNhdGlvbiIsInNvdXJjZSI6ImF3cy5lYzIiLCJhY2NvdW50IjoiNzkzNDkzMjg4NzA0IiwidGltZSI6IjIwMTktMDctMTdUMDU6NTg6NDNaIiwicmVnaW9uIjoiYXAtbm9ydGhlYXN0LTEiLCJyZXNvdXJjZXMiOlsiYXJuOmF3czplYzI6YXAtbm9ydGhlYXN0LTE6NzkzNDkzMjg4NzA0Omluc3RhbmNlL2ktMGY1YThkOWIzMDQyZjczNmMiXSwiZGV0YWlsIjp7Imluc3RhbmNlLWlkIjoiaS0wZjVhOGQ5YjMwNDJmNzM2YyIsInN0YXRlIjoicnVubmluZyJ9fQ==",
            "PartitionKey": "5c3a4aa6-8f4e-6c47-9d11-6108e45becf2_b25f9c09-11fa-6a82-b840-013b6ae39b76"
        }
    ],
    "NextShardIterator": "AAAAAAAAAAG6RsTO2LGqtJLbeMj702cPpUN2Q7uWc/wCaocHWcbo6VHydK2J6hYdwgsL6FrRE31VtpcJAII02j+Ao/il/g5nPQ4jJiPyDqBm3F86Fn9UMTaVIs/I35oeiznH1+Lk8RbXcXj1/S5Bi6sbbF9hFY1lbJG9Ue1E3cBLK3BZz+8vbcanlFQlZ3XDxSNc8hxyOrzG0+lWSWwfzxZ2Dc96F4cW",
    "MillisBehindLatest": 0
}
확인 데이터
디코딩
$ echo "eyJ2ZXJzaW9uIjoiMCIsImlkIjoiNWMzYTRhYTYtOGY0ZS02YzQ3LTlkMTEtNjEwOGU0NWJlY2YyIiwiZGV0YWlsLXR5cGUiOiJFQzIgSW5zdGFuY2UgU3RhdGUtY2hhbmdlIE5vdGlmaWNhdGlvbiIsInNvdXJjZSI6ImF3cy5lYzIiLCJhY2NvdW50IjoiNzkzNDkzMjg4NzA0IiwidGltZSI6IjIwMTktMDctMTdUMDU6NTg6NDNaIiwicmVnaW9uIjoiYXAtbm9ydGhlYXN0LTEiLCJyZXNvdXJjZXMiOlsiYXJuOmF3czplYzI6YXAtbm9ydGhlYXN0LTE6NzkzNDkzMjg4NzA0Omluc3RhbmNlL2ktMGY1YThkOWIzMDQyZjczNmMiXSwiZGV0YWlsIjp7Imluc3RhbmNlLWlkIjoiaS0wZjVhOGQ5YjMwNDJmNzM2YyIsInN0YXRlIjoicnVubmluZyJ9fQ==" | base64 -D
{"version":"0","id":"5c3a4aa6-8f4e-6c47-9d11-6108e45becf2","detail-type":"EC2 Instance State-change Notification","source":"aws.ec2","account":"XXXXXXXXXX","time":"2019-07-17T05:58:43Z","region":"ap-northeast-1","resources":["arn:aws:ec2:ap-northeast-1:XXXXXXXXXX:instance/i-0f5a8d9b3042f736c"],"detail":{"instance-id":"i-0f5a8d9b3042f736c","state":"running"}}" 
CloudWatch 이벤트에 대한 정보를 얻었는지 확인합니다.

투고 내용은 제 개인적인 의견으로 소속 기업과 부서의 견해를 대표하지 않습니다.

좋은 웹페이지 즐겨찾기