Python Boto3를 이용한 WAF IPset에 IP Address 추가
* 하나의 IP를 추가/삭제는 않되기 때문에, 기존 IP 리스트를 가져와서 수정하는 것
import boto3
client = boto3.client('wafv2')
ipsetName = 'string'
ipsetId = 'string'
ipAddress = 'x.x.x./32'
def wafv2_update_ip_set(n,i,a):
# ip가 포함되어 있는지 get_ip_set으로 확인
response = client.get_ip_set(
Name=n,
Scope='REGIONAL',
Id=i)
if a in response['IPSet']['Addresses']:
return 'exist ipaddress'
else:
# ip가 포함되어 있지 않으면 기존 IPset IP에 추가
ipset_ipaddrs = response['IPSet']['Addresses']
ipset_ipaddrs.append(a)
response = client.update_ip_set(
Name=n,
Scope='REGIONAL',
Id=i,
Addresses=ipset_ipaddrs, # list data
LockToken=response['LockToken']) # LockToken값은 get_ip_set에서 득한다.
# 응답값 리턴 : 200 정상
return response['ResponseMetadata']['HTTPStatusCode']
print(wafv2_update_ip_set(ipsetName,ipsetId,ipAddress))
200
정상적으로 추가되면, 200응답코드를 리턴해주고, 아래와 같이 추가된 IP와 함께 수정된다.
FastAPI와 같이 API로도 활용해도 괜찬겠다.
'AWS Infra' 카테고리의 다른 글
[ AWS ] Python boto3를 이용하여 ElastiCache Database 메모리 사용량 확인 (0) | 2023.05.31 |
---|---|
[ AWS ] Python boto3를 이용한 S3에 저장된 CSV 파일 읽기 / 쓰기 (0) | 2023.05.23 |
[ AWS ] Python boto3를 이용한 EC2 Instance 정보 구하기 (0) | 2023.05.22 |
[ AWS ] Python boto3를 이용하여 RDS Connections 데이터 추출 하기 (0) | 2023.05.11 |
[ AWS ] Python boto3를 이용하여 ELB Metric 모니터링 (0) | 2023.05.10 |
[ AWS ] Python boto3를 이용하여 Target Group Health 모니터링 (0) | 2023.04.25 |
[ AWS ] Python boto3를 이용하여 S3 object 스토리지 클래스 변경 (0) | 2023.03.21 |
[ AWS ] Python boto3를 이용하여 s3 log 압축파일(gz) DataFrame 만들기 - CloudFront Logs (0) | 2023.03.16 |