12월, 2020의 게시물 표시

AWS CloudWatch와 AWS Lambda를 활용해 AWS EC2 실행, 중지 될 때마다 Slack 메세지 받기(How to receive Slack message using AWS CloudWatch and AWS Lambda when AWS EC2 state is changed)

## AWS CloudWatch와 AWS Lambda를 활용해 AWS EC2 실행, 중지 될 때마다 Slack 메세지 받기(How to receive Slack message using AWS CloudWatch and AWS Lambda when AWS EC2 state is changed) [이 글](https://ghkdgh2365.blogspot.com/2020/12/aws-lambda-aws-cloudwatch-aws-rds-how.html)을 쓴 김에 쓰는 글입니다. AWS EC2 상태가 변경(실행 또는 중지 등)할 때마다 슬랙으로 메세지를 받는 방법에 대해서 작성합니다. 순서는 아래와 같습니다. 1. Slack 설정 2. AWS Lambda 설정 3. AWS CloudWatch 설정 ### 1. Slack 설정 [해당 페이지](http://ghkdgh2365.blogspot.com/2020/12/aws-lambda-aws-cloudwatch-aws-rds-how.html) 1. Slack 설정과 같습니다. ### 2. AWS Lambda 설정 AWS Lambda 에 가서 **함수 생성** 버튼을 클릭하고 **함수 이름**을 적은 뒤 함수를 생성합니다. 저의 경우 **런타임**(사용할 프로그래밍 언어)은 **Python 2.7**로 했습니다. 생성한 뒤 **함수 코드**는 아래와 같이 작성합니다. `'YOUR SLACK URL'` 자리에 Slack 설정 시 확인했던 **Webhook URL** 을 복사해서 붙여넣어주면 됩니다. ``` # -*- coding: utf-8 -*- import json, random import httplib from botocore.vendored import requests def lambda_handler(event, context): slack_url = 'https://hooks.slack.com/services/TBF4TQCQ4/B01GABAKDSP/i...

Amazon RDS 이벤트 알림 규칙(Feat. AWS CloudWatch, Amazon EventBridge)(Amazon RDS event notification rules)

## Amazon RDS 이벤트 알림 규칙(Feat. AWS CloudWatch, Amazon EventBridge)(Amazon RDS event notification rules) AWS Lambda 와 함께 AWS CloudWatch, Amazon EventBridge의 RDS 상태 변경과 관련된 규칙을 사용하고 싶을 때 아래와 같이 설정하면 됩니다. [해당 페이지](https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/USER_Events.html)에서 더 자세히 확인하실 수 있습니다. #### RDS Cluster가 중지됐을 때 ``` { "source": [ "aws.rds" ], "detail-type": [ "RDS DB Cluster Event" ], "detail": { "EventID": [ "RDS-EVENT-0150" ], "EventCategories": [ "notification" ], "SourceType": [ "CLUSTER" ], "SourceArn": [ "arn:aws:rds:ap-northeast-2:xxxxxxxxxxx" # 해당 RDS cluster 의 arn ], "SourceIdentifier": [ "xxxxxxxx" # 해당 RDS cluster 의 DB 식별자 ] } } ``` #### RDS Cluster가 시작됐을 때 ``` { "source": [ "aws.rds...

AWS Lambda와 AWS CloudWatch 이용해서 AWS RDS가 시작 또는 중지되었을 때, 슬랙으로 메시지 받기(How to receive slack message using AWS Lambda and AWS CloudWatch when AWS RDS is started or stopped)

이미지
## AWS Lambda와 AWS CloudWatch 이용해서 AWS RDS가 시작 또는 중지되었을 때, 슬랙으로 메시지 받기(How to receive slack message using AWS Lambda and AWS CloudWatch when AWS RDS is started or stopped) AWS Lambda와 CloudWatchAWS 이용해서 AWS RDS가 시작 또는 중지되었을 때, 슬랙으로 메시지 받는 방법을 소개하려고 합니다. ~~(AWS RDS는 비싸니깐요?)~~ 여기서 가장 중요한 부분은 **AWS CloudWatch 이벤트 생성 규칙**입니다. 따라서 가장 마지막에 적겠습니다. ~~(왜..?)~~ 순서는 다음과 같습니다. 1. Slack 설정 2. AWS Lambda 설정 3. AWS CloudWatch 설정 ### 1. Slack 설정 slack에 들어가 Apps 옆에 있는 **+** 버튼을 클릭합니다. 그 다음 검색창에 **incoming-webhook** 을 검색해 들어간 후 **Add**를 누르고, 새 창이 열리면 **Add to slack** 이라는 버튼을 클릭합니다. 그 다음 메시지를 받기 원하는 채널을 선택한 후 **Add Incoming WebHooks integration** 버튼을 선택하면 끝납니다. 새 페이지에서 **Webhook URL**에 적혀져 있는 링크만 복사해서 보관하고 있으면 끝. 혹시 메시지 알려주는 봇? 의 이름을 바꿔주고 싶다면 조금 더 아래로 내려가서 **Customize Name**을 바꿔주면 됩니다. 그 아래 **Icon** 도 바꾸실 수 있습니다. ### 2. AWS Lambda 설정 AWS Lambda 에 가서 **함수 생성** 버튼을 클릭하고 **함수 이름**을 적은 뒤 함수를 생성합니다. 저의 경우 **런타임**(사용할 프로그래밍 언어)은 **Python 2.7**로 했습니다. 생성한 뒤 **함수 코드**는 아래와 같이 작성합니다. `'YOU...

구글 블로거 애드센스 판매자 정보 Google sellers.json 파일에 게시 문제 해결 방법

이미지
## 구글 블로거 애드센스 판매자 정보 Google sellers.json 파일에 게시 문제 해결 방법 애드센스 신청하니 Google seller 어쩌구 문제를 해결해야했다. 구글링해 본 결과 해결 방법이 매우 간단했다. 애드센스 관리자 페이지에서 **계정** 메뉴에 들어가 **판매자 정보 공개 상태** 섹션에서 **공개상태**를 **공개** 로 변경하고 비즈니스 도메인의 경우 안넣어도 되는 것 같지만 혹시 몰라 **본인의 블로그 url** 을 입력하면 해결된다. ##### 참고 https://blog.hangyeong.com/1200

구글 블로그 blogger 수익 손실 위험 문제 해결하기 (수익 손실 위험 - 수익에 심각한 영향을 미치지 않도록 사이트에서 발견된 ads.txt 파일 문제)

이미지
## 구글 블로그 blogger 수익 손실 위험 문제 해결하기 (수익 손실 위험 - 수익에 심각한 영향을 미치지 않도록 사이트에서 발견된 ads.txt 파일 문제) 최근 같이 일하는 분이 매월 7000원 정도의 구글 애드센스 수익을 얻는다는 것을 듣고서, 부러움과 동시에 내 블로그에도 애드센스를 붙여야겠다는 생각에 애드센스를 붙였습니다.~~(붙이더라도 매월 700원도 안나오겠지만)~~ 붙이고 주말이 지나니, 상당히 거슬리면서도 우려스러운~~(100원조차 돈을 안 줄것 같은)~~ 알림 메시지를 확인했습니다. *수익 손실 위험 - 수익에 심각한 영향을 미치지 않도록 사이트에서 발견된 ads.txt 파일 문제를 해결해야 합니다.* 해결하기 위해, 검색해본 결과 다음과 같은 조치를 취하면 된다는 것을 알았습니다. **지금 해결하기** 버튼을 누른 후 아래 이미지와 같은 화면이 나오면 **다운로드** 를 받아서 다운 받은 **ads.txt 텍스트 파일** 을 열어서 **작성되어있는 텍스트 전부** 를 복사합니다. (google.com, pub-797XXXXXXXXXXXX, DIRECT, f08xxxxxxx 식으로 써져있음) 그 다음 블로거 **관리자 페이지**에가서 **설정** 메뉴를 누르고 쭉 아래로 스크롤을 내려보면 **수익 창출** 이라는 섹션이 나옵니다. 여기서 **맞춤 ads.tx 사용 설정**을 켜주시고 **맞춤 ads.txt** 를 클릭한 후, 아까 복사했던 텍스트를 붙여넣기 합니다. 그럼 몇 일후에 해결이 된다고 합니다. 해결이 안되면 다시 글을 쓰도록 하겠습니다. ##### 참고 https://m.blog.naver.com/studycadcam/221862563335

AWS Lambda + CloudWatch 를 이용해 주기적으로 AWS EC2 중지, 시작하는 방법(How to stop and start AWS EC2 periodically using AWS Lambda + CloudWatch)

## AWS Lambda + CloudWatch 를 이용해 주기적으로 AWS EC2 중지, 시작하는 방법(How to stop and start AWS EC2 periodically using AWS Lambda + CloudWatch) [해당 글](https://ghkdgh2365.blogspot.com/2020/12/aws-lambda-cloudwatch-aws-rds-how-to.html)을 쓴 김에 쓰는 글입니다. ### AWS Lambda + CloudWatch 설정 먼저 크게 1. AWS Lambda 설정 2. IAM 정책 설정, 3. CloudWatch 설정 순으로 나눠서 설정해보자. #### 1. AWS Lambda 설정 AWS 계정은 있다고 가정하고, AWS에 로그인하고 들어가 서비스에서 **AWS Lambda** 를 클릭한다. 그 다음 **함수 생성**을 클릭. **새로 작성** 을 선택하고(그대로 두고) **함수 이름** 을 작성합니다. 런타임(사용할 언어)의 경우 여기선, Python 2.7로 하겠습니다. 그리고 **권한**은 그대로 **기본 Lambda 권한을 가진 새 역할 생성** 으로 두고 **함수 생성**을 클릭합니다. 생성이 되면 생성된 함수에 들어가 코드를 삽입합니다. **함수 코드**는 다음과 같이 삽입합니다. 아래의 코드는 EC2를 중지하는 코드입니다. ``` import boto3 region = 'ap-northeast-2' # EC2가 존재하는 region instances = ['i-0dd344443184503fa'] # EC2 Instance id def lambda_handler(event, context): ec2 = boto3.client('rds', region_name=region) ec2.stop_instances(InstanceIds=instances) print 'stopped your EC2...

AWS Lambda + CloudWatch 를 이용해 주기적으로 AWS RDS 중지, 시작하는 방법(How to stop and start AWS RDS periodically using AWS Lambda + CloudWatch)

이미지
## AWS Lambda + CloudWatch 를 이용해 주기적으로 AWS RDS 중지, 시작하는 방법(How to stop and start AWS RDS periodically using AWS Lambda + CloudWatch) 가끔씩 사용하는 **AWS EC2 + RDS** 가 있다. 그래서 평소에는 중지해놓고, 필요할 때만 실행시키고 싶은데 **RDS** 가 문제다. 왜 그런지는 모르겠는데~~(AWS가 돈을 많이 벌고 싶어서 인 것 같은데... 왜 그런지 아시는 분은 알려주세요...)~~ 중지 후 7일마다 스스로 시작이 된다. 그래서 깜빡하고 나면 비싸도 너무 비싼 RDS 요금이 왕창 나온다. 그래서 매 주 미리 알림을 맞춰놓고, 콘솔에 들어가 중지를 하는데 가끔씩 까먹기도 하고, 너무 귀찮기도 해서 나를 대신할 방법을 찾아봤다. 크게 방법이 2가지 있는데, 아래와 같다. 1. [AWS Instance Scheduler](https://aws.amazon.com/ko/solutions/implementations/instance-scheduler/) 를 이용하는 방법 2. AWS Lambda + CloudWatch 를 이용하는 방법 그런데 검색해보니 1번 방법은 적어도 5달러 이상 나올 것 같아서, 2번 방법으로 시도해봤다.~~(내 돈은 아니지만 5달러도 아까ㅇ...)~~ 서두가 길었는데, 이제 AWS Lambda + CloudWatch 를 이용해 주기적으로 AWS RDS 중지, 시작하는 방법을 알아보자. ### AWS Lambda + CloudWatch 설정 먼저 크게 1. AWS Lambda 설정 2. IAM 정책 설정, 3. CloudWatch 설정 순으로 나눠서 설정해보자. #### 1. AWS Lambda 설정 AWS 계정은 있다고 가정하고, AWS에 로그인하고 들어가 서비스에서 **AWS Lambda** 를 클릭한다. 그 다음 **함수 생성**을 클릭. **새로 작성** 을 선택하고(그대...