본문 바로가기

Python/Boto3

(4)
AWS Lambda를 통해 현재 Security Group List를 SES 로 받아보기 앞선 EC2 List 받아보기와 구성은 완전 똑같습니다. 위의 글을 참고해주세요 람다 소스코드만 바꾸면 되는 부분이기 때문에 소스코드와 이에 대한 설명만 하도록 하겠습니다. import os import boto3 import smtplib import datetime import pandas as pd from openpyxl import load_workbook from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.application import MIMEApplication from openpyxl.styles import Font, Alignment, Border, Side..
AWS Lambda를 통해 현재 EC2 List를 SES로 받아보기 회사에서 운영을 하다보면, 늘 문서충이 되어야합니다. EC2 서버에 대한 IP, 환경, 이름, Type까지는 기본적으로 항상 조사가 되어야하는 항목들입니다. 이것을 매번하는건 좋지 않을 듯 하여 만들어봤습니다. 먼저 SES SMTP 생성 및 인증을 해야합니다. 저는 버지니아리전에서 생성했습니다. Create My SMTP Credentials를 한 후 기억해주세요 이제 Email Addresses에서 자신의 이메일을 등록해줍니다. 혹은 메일을 받아야 하는 분들을 등록해 주고, 링크가 가면 인증을 해달라고 말씀해주세요. 아까 만든 Credentials를 코드에 그냥 넣어서 좋을것은 없겠죠? AWS Systems Manager 서비스에서 Parameter Store에 등록해주겠습니다. 이름에는 키 ID, 값..
AWS Lambda를 통해 EC2 백업 자동화 구성하기 이전 글과 동일한 방법으로 구성합니다. 조금 더 상세한 설명은 위의 글을 참고해주세요 Cloudwatch Event + Lambda이기 때문에 알맞은 Role과 백업을 하고자 하는 시간대로 CloudWatch Event를 구성하겠습니다. 저는 아래와 같이 구성하였습니다. 람다 소스코드는 아래와 같습니다. 이번에는 환경 태그값에 따라서 백업을 하는 형태로 구성해봤습니다. import boto3 import datetime def backup_instances(client): response = client.describe_instances() ec2_list = response['Reservations'] # 인스턴스 정보들 for ec2 in ec2_list: ec2_info = ec2['Instance..
AWS Lambda를 통해 EC2 서버 스케줄링 구성하기 AWS Lambda를 통해서 서버스케줄링을 해보도록 하겠습니다. Cloudwatch Event를 통해 Lambda를 Cron으로 수행하여서 서버를 키고 끄는 형태입니다. 먼저 Lambda가 EC2를 크고 끄는 작업을 수행해야하므로, 해당 권한을 가진 Role을 구성해주겠습니다. 정책에서 아래와 같이 만들어주겠습니다. { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:StartInstances", "ec2:StopInstances" ], "Resource": "*" } ] } 그리고 Role에서 서비스를 람다로 고른 후 아래 정..