글
AWS ELB 네임태그 생성 자동화 스크립트
IT/Python3
2020. 8. 10. 22:00
반응형
이전에 람다를 만들 때 실력이 쬐끔 녹스는 느낌이 들기에, 복습겸 공유겸 ELB 태그 네임 자동화 스크립트를 한번 쭉 훑어보고 있습니다.
퓨어한 파이썬3의 문법 내용은 아니므로, 스크립트 스캔 시 유의!
본 글은, ECS 클러스터 인스턴스 태그 네이밍 자동화 시, 같이 개발된 파이썬 런타임 람다 스크립트입니다.
devloper-angmond.tistory.com/10?category=867517
import boto3
import os
import sys
import uuid, json
from urllib.parse import unquote_plus
"""
ELB 유니크 네임을 이용한, ELB 네임태그 자동화 람다
@auth : 클라우드 개발자 앙몬드
@since : 2020-08-10
"""
# elb-name-tagging-lambda
# (CLB + ALB + NLB)
def lambda_handler(event, context):
# (0) ELB 버전_1 (Classic Load Balancer) 커넥터 생성
clb = boto3.client('elb')
list_clb = clb.describe_load_balancers()["LoadBalancerDescriptions"]
# (1) ELB 버전_1 에 대하여, Name 태그 추가하기
for lb in list_clb :
clb.add_tags(
LoadBalancerNames = [ lb["LoadBalancerName"] ],
Tags = [
{
"Key" : "Name",
"Value" : "clb-" + lb["LoadBalancerName"],
}]
)
# (2) ELB 버전_2 (ALB & NLB) 커넥터 생성
elbv2 = boto3.client('elbv2')
list_elbv2 = elbv2.describe_load_balancers()["LoadBalancers"]
# (3) ELB 버전_2에 대하여, Name 태그 추가하기
# ELB_v2 는, 네트워크로드밸런서 & 어플리케이션로드밸런서, 타입이 2개이므로, 이에 따라 네이밍 분기조건이 필요
for lbv2 in list_elbv2:
lbv2_tag_name = ""
if lbv2["Type"] == "application" :
lbv2_tag_name = "alb-" + lbv2["LoadBalancerName"]
else :
lbv2_tag_name = "nlb-" + lbv2["LoadBalancerName"]
elbv2.add_tags(
ResourceArns=[ lbv2["LoadBalancerArn"] ],
Tags=[
{
'Key': 'Name',
'Value': lbv2_tag_name
}]
)
반응형
'IT > Python3' 카테고리의 다른 글
파이썬 날짜 비교 (0) | 2020.10.14 |
---|---|
AWS EBS 네임태그 자동화 람다 (0) | 2020.08.17 |
파이썬 (Python) 리스트 (3) - 리스트 슬라이싱과 역인덱스 (0) | 2020.05.18 |
파이썬 (Python) 리스트 (2) - 리스트 제어 함수 (0) | 2020.04.19 |
파이썬 (Python) 리스트 (1) - 리스트를 만들어보쟈 (0) | 2020.04.15 |