반응형
AWS EC2 인스턴스를 운영 중이라면, 태그(Tag)를 통한 자산 관리가 매우 중요합니다. 이번 포스팅에서는 운영 중인 모든 EC2 인스턴스에 Private IP를 태그로 자동 추가하는 방법을 AWS CLI와 Python 스크립트를 활용하여 소개합니다.
✅ 사전 준비
- AWS CLI 설치 및 구성 (권한 있는 IAM 사용자)
- 설정:
aws configure
- 필요 권한 (IAM 정책)
{
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances",
"ec2:CreateTags"
],
"Resource": "*"
}
📄 방법 1. Bash 스크립트로 태그 자동 추가하기
다음 스크립트는 모든 EC2 인스턴스를 조회하여 각 인스턴스에 private_ip
태그를 자동으로 붙입니다.
#!/bin/bash
# 모든 EC2 인스턴스 ID와 Private IP 가져오기
INSTANCES=$(aws ec2 describe-instances --query "Reservations[].Instances[].[InstanceId, PrivateIpAddress]" --output text)
# 인스턴스에 태그 추가
while read -r INSTANCE_ID PRIVATE_IP; do
if [[ -n "$PRIVATE_IP" ]]; then
echo "Adding tag to $INSTANCE_ID with Private IP: $PRIVATE_IP"
aws ec2 create-tags --resources "$INSTANCE_ID" --tags Key=private_ip,Value="$PRIVATE_IP"
else
echo "Skipping instance $INSTANCE_ID (No Private IP)"
fi
done <<< "$INSTANCES"
💡 실행 방법
chmod +x add_private_ip_tag.sh
./add_private_ip_tag.sh
📄 방법 2. Python(Boto3)으로 EC2 태그 자동 추가
AWS Lambda나 Python 환경에서 실행하기 적합한 코드입니다.
import boto3
ec2 = boto3.client('ec2')
# 모든 인스턴스 정보 가져오기
response = ec2.describe_instances()
for reservation in response['Reservations']:
for instance in reservation['Instances']:
instance_id = instance['InstanceId']
private_ip = instance.get('PrivateIpAddress')
if private_ip:
print(f"Adding tag to {instance_id} with Private IP: {private_ip}")
ec2.create_tags(
Resources=[instance_id],
Tags=[{'Key': 'private_ip', 'Value': private_ip}]
)
else:
print(f"Skipping instance {instance_id} (No Private IP)")
🔧 유용한 옵션
- 특정 태그가 있는 인스턴스만 필터링
aws ec2 describe-instances --filters "Name=tag:Environment,Values=Production"
- 특정 리전만 지정
aws ec2 describe-instances --region ap-northeast-2
🎯 기대 효과
- Private IP 기반의 리소스 검색 및 필터링 가능
- 수동 태깅 제거 → 운영 자동화 실현
- 비용 추적, 보안 감사 등 태그 기반 분석 강화
🏁 마무리
이처럼 AWS CLI 또는 Python 스크립트를 활용해 EC2 인스턴스에 자동으로 Private IP 태그를 추가하면, 태그 누락 문제 없이 효율적인 자산 관리가 가능합니다.
지금 바로 자동화 스크립트를 도입해보세요!
반응형
'Tech > AWS' 카테고리의 다른 글
🎯 Terraform 변수 참조 구조 제대로 이해하기 (모듈 + 환경 구성 예시 기반) (0) | 2025.04.03 |
---|---|
EC2 인스턴스 생성 시 Private IP 자동 태그 추가하는 방법 (EventBridge + Lambda 자동화) (0) | 2025.03.22 |
AWS Resource Explorer를 활용한 AWS 리소스 검색 및 태그 정보 수집 (0) | 2025.03.22 |