OPS

[Control Tower] AWS VPC FlowLog 설정 in CT and LZ

찻잔속청개구리 2024. 8. 28. 08:47
반응형

안녕하세요!

이번 포스팅에서는 Control Tower와 Landing Zone 환경에서 AWS VPC FlowLog를 설정하는 법에 대해 알아보겠습니다. 싱글 어카운트 환경과 달리 Control Tower에서 VPC FlowLog를 설정하려면 반드시 AWS CLI를 이용해야하는 점! 잊지마세요.

 

1. Log Archive Account에서 S3 버킷 생성

  • 버킷 : log-archive-flow-log
  • 해당 버킷의 arn 따로 기록 (예 : arn:aws:s3:::log-archive-flow-log)

2. 이 버킷에 다른 Account 에서 Log를 보낼 수 있도록 하는 Bucket Policy 설정

  • Bucket Policy 예시
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AWSLogDeliveryMNG",
            "Effect": "Allow",
            "Principal": {
                "Service": "delivery.logs.amazonaws.com"
            },
            "Action": [ 
                    "s3:PutObject", 
                    "s3:GetBucketAcl", 
                    "s3:ListBucket" 
               ],
            "Resource": [
                "<S3-BUCKET-ARN>",
                "<S3-BUCKET-ARN>/*"       
            ],
			"Condition": {
				"StringEquals": {
					"aws:ResourceOrgID": “<Organization ID>"
                }
            }
        }
    ]
}

 

3. VPC가 있는 계정에서 아래 CLI 명령어를 이용해 VPC FlowLog 생성

 

3-1. CLI를 통한 S3 접근 확인

  > aws configure sso
  > aws s3 ls --profile AWSAdministratorAccess-xxxx
  2024-05-24 17:27:01 aws-controltower-logs-xxx-us-east-1
  2024-05-24 17:26:50 aws-controltower-s3-access-logs-xxx-us-east-1
  2024-07-01 13:43:56 log-archive-flow-log

 

3-2. VPC FlowLog 생성

 

VPC FlowLog 생성 CLI 명령어 :

  aws ec2 create-flow-logs --resource-type VPC --resource-ids <VPC ID> --traffic-type ALL --log-destination-type s3 --log-destination <s3-bucket-arn> --log-format '${version} ${account-id} ${interface-id} ${pkt-srcaddr} ${pkt-dstaddr} ${srcport} ${dstport} ${protocol} ${packets} ${bytes} ${start} ${end} ${action} ${log-status} ${srcaddr} ${dstaddr} ${vpc-id} ${subnet-id} ${instance-id} ${tcp-flags} ${type} ${region} ${az-id}'

 

 

4. 참고사항

반응형