설치 매뉴얼
AWS IAM 정책 설정
AWS API를 호출하려면 먼저 AWS IAM 정책과 계정을 설정해야 합니다.
단계 1: 정책 JSON 입력
아래 JSON 파일을 복사하여 IAM 정책을 생성합니다. 아래 정책은 읽기 전용 권한만 존재하지만 대상이 전체 리소스로 되어있으므로, 로그프레소가 읽기 가능한 클라우드 리소스 범위를 제한하시기 바랍니다. 확장 명령어 매뉴얼에 각각 필요 권한이 명시되어 있으므로, 사용하지 않는 AWS 서비스에 대한 권한은 삭제하셔도 됩니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ce:GetCostAndUsage",
"acm:DescribeCertificate",
"acm:ListCertificates",
"ec2:DescribeVpcs",
"ec2:DescribeInstances",
"ec2:DescribeAddresses",
"ec2:DescribeSnapshots",
"ec2:DescribeVolumeStatus",
"ec2:DescribeVolumes",
"ec2:DescribeAccountAttributes",
"ec2:DescribeKeyPairs",
"ec2:DescribeNetworkAcls",
"ec2:DescribeVpnConnections",
"ec2:DescribeNatGateways",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSubnets",
"ec2:DescribeRouteTables",
"ec2:DescribeInstanceStatus",
"ec2:DescribeImages",
"autoscaling:DescribeAutoScalingGroups",
"cloudwatch:GetMetricData",
"cloudwatch:ListMetrics",
"logs:DescribeLogGroups",
"iam:ListPolicies",
"iam:ListRoles",
"iam:ListUsers",
"iam:ListMFADevices",
"iam:ListAccessKeys",
"iam:GenerateCredentialReport",
"iam:GetCredentialReport",
"iam:ListVirtualMFADevices",
"iam:ListServerCertificates",
"elasticbeanstalk:DescribeEnvironments",
"elasticbeanstalk:DescribeInstancesHealth",
"elasticbeanstalk:DescribeApplications",
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:DescribeTargetHealth",
"elasticloadbalancing:DescribeLoadBalancerAttributes",
"elasticloadbalancing:DescribeTargetGroups",
"rds:DescribeEvents",
"rds:DescribeDBLogFiles",
"rds:DownloadDBLogFilePortion",
"s3:ListAllMyBuckets",
"s3:ListBucket",
"s3:GetObject",
"s3:GetBucketAcl",
"s3:GetBucketLocation",
"route53:ListHostedZones",
"wafv2:GetIPSet",
"wafv2:ListIPSets",
"wafv2:UpdateIPSet"
],
"Resource": "*"
}
]
}
WAF 쿼리 명령어를 사용하거나 차단 연동 기능을 사용하려면 아래 권한이 추가로 필요합니다:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"wafv2:GetIPSet",
"wafv2:ListIPSets",
"wafv2:UpdateIPSet"
],
"Resource": "*"
}
]
}
ECR 쿼리 명령어를 사용하려면 아래 권한이 추가로 필요합니다:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ecr:DescribeImageScanFindings",
"ecr:DescribeRegistry",
"ecr:GetAuthorizationToken",
"ecr:ListImages",
"ecr:GetRegistryScanningConfiguration",
"ecr:BatchGetImage",
"ecr:DescribeImages",
"ecr:DescribeRepositories",
"ecr:GetRepositoryPolicy",
"inspector2:ListCoverageStatistics",
"inspector2:ListFindings",
"inspector2:ListFindingAggregations",
"inspector2:ListCoverage",
"inspector2:GetFindingsReportStatus",
"inspector:ListFindings",
"inspector:DescribeFindings"
],
"Resource": "*"
}
]
}
단계 2: 정책 태그 추가
태그는 필요한 경우에만 설정하고 그냥 건너뛰어도 됩니다.
단계 3: 정책 검토
JSON에 따라 읽기만으로 정책이 구성된 것을 확인하고 정책 생성을 클릭합니다.
IAM 사용자 추가
단계 1: 사용자 이름 및 액세스 유형 설정
단계 2: IAM 정책 연결
기존 정책 직접 연결을 클릭하고 방금 생성한 logpresso
정책을 선택한 후 다음 버튼을 클릭합니다.
단계 3: 사용자 태그 설정
태그는 필요한 경우에만 설정하고 그냥 건너뛰어도 됩니다.
단계 4: 사용자 생성 검토
설정 내역을 확인하고 사용자 만들기 버튼을 클릭합니다.
단계 5: 액세스 키 복사
액세스 키 ID와 비밀 액세스 키를 복사하여 안전한 곳에 보관합니다. 이 단계를 지나가면 액세스 키를 확인할 수 없으므로 주의하세요.
로그프레소 접속 프로파일 설정
AWS 앱을 설치하여 실행하고 설정의 접속 프로파일 메뉴로 이동합니다.
단계 1: AWS 접속 프로파일 설정
방금 생성한 AWS 자격 증명을 복사하여 설정합니다.
- 타입: 액세스 키
- 클라이언트 리전: ap-northeast-2 등 API 접속을 허용할 리전 (쉼표 구분)
- 액세스 키 ID: AKIA로 시작하는 액세스 키
- 비밀 액세스 키: 이전 단계에서 복사한 암호
이 단계가 완료되면 AWS 확장 명령어를 사용할 준비가 완료됩니다.
단계 2: AWS CloudTrail 로그 수집 설정
수집기 추가 화면에서 AWS CloudTrail
수집 모델을 선택하고, 테이블에 AWS_CLOUDTRAIL
을 입력합니다. 세부 설정은 아래와 같이 입력합니다:
- S3 버킷 리전: AWS CloudTrail 로그를 저장한 S3 버킷이 속한 리전. 서울 리전인 경우
ap-northeast-2
입력. - S3 버킷 이름: AWS CloudTrail 로그를 저장한 S3 버킷 이름
- 대상 기간: 수집 대상 로그의 기간 범위
- AWS 프로파일: AWS 접속 프로파일 이름. 이전 설정 단계의 접속 프로파일 식별자
aws
입력
단계 3: AWS WAF 로그 수집 설정
AWS WAF 콘솔의 Web ACLs > Logging and metrics 메뉴에서 S3 버킷 로그 기록을 설정합니다.
로그프레소의 수집기 추가 화면에서 AWS WAF
수집 모델을 선택하고, 테이블에 AWS_WAF_
로 시작하는 이름을 입력합니다. 세부 설정은 아래와 같이 입력합니다:
- S3 버킷 리전: AWS WAF 로그를 저장한 S3 버킷이 속한 리전. 서울 리전인 경우
ap-northeast-2
입력. - S3 버킷 이름: AWS WAF 로그를 저장한 S3 버킷 이름
- WAF ACL 이름: 웹 액세스 제어 목록 이름
- 대상 기간: 수집 대상 로그의 기간 범위
- AWS 프로파일: AWS 접속 프로파일 이름. 이전 설정 단계의 접속 프로파일 식별자
aws
입력
단계 4: AWS GuardDuty 로그 수집 설정
수집기 추가 화면에서 AWS GuardDuty
수집 모델을 선택하고, 테이블에 AWS_GUARDDUTY
를 입력합니다. 세부 설정은 아래와 같이 입력합니다:
- S3 버킷 리전: AWS GuardDuty 로그를 저장한 S3 버킷이 속한 리전. 서울 리전인 경우
ap-northeast-2
입력. - S3 버킷 이름: AWS GuardDuty 로그를 저장한 S3 버킷 이름
- 대상 기간: 수집 대상 로그의 기간 범위
- AWS 프로파일: AWS 접속 프로파일 이름. 이전 설정 단계의 접속 프로파일 식별자
aws
입력
단계 5: AWS ALB 로그 수집 설정
AWS 로드밸런서의 속성 탭에서 액세스 로그를 활성화하고 S3 버킷에 저장할 수 있습니다. AWS ALB 수집기는 S3 버킷에 저장된 액세스 로그를 수집합니다.
수집기 추가 화면에서 AWS ALB
수집 모델을 선택하고, 테이블에 AWS_ALB_
로 시작하는 이름을 입력합니다. 세부 설정은 아래와 같이 입력합니다:
- S3 버킷 리전: AWS ALB 로그를 저장한 S3 버킷이 속한 리전. 서울 리전인 경우
ap-northeast-2
입력. - S3 버킷 이름: AWS ALB 로그를 저장한 S3 버킷 이름
- 대상 기간: 수집 대상 로그의 기간 범위
- AWS 프로파일: AWS 접속 프로파일 이름. 이전 설정 단계의 접속 프로파일 식별자
aws
입력
마무리
이제 모든 설치 작업이 완료되었습니다. 수집 메뉴에서 데이터가 잘 수집되는지 확인하고, 대시보드로 이동하세요!