본문으로 건너뛰기

AWS 리소스 정보 수집 옵션

AWS 환경에서 네트워크 성능 모니터링을 사용하려면 각 리소스(LB 등)에 연결된 EC2 네트워크 인터페이스(ENI) 정보를 수집하여 토폴로지에 표현할 수 있습니다. AWS 요소에 에이전트를 직접 설치할 수 없기 때문에 수집된 IP 기준으로 연관된 ENI를 확인하여 표현합니다.

Example

AWS의 ELB를 통해 내부에 트래픽이 인가되는 경우 그림과 같이 ENI에 표현된 정보를 통해 토폴로지에 표현할 수 있습니다. AWS ENI에 Description 필드를 기준으로 표현합니다. 만약 Description 필드에 아무런 정보를 남기지 않은 경우 NetworkInterfaceId 속성을 제공합니다.

EC2 환경에서 AWS 리소스 권한 설정

AWS EC2에 NPM 에이전트를 설치할 경우 IAM 설정을 통해 AWS의 리소스 정보를 수집할 수 있습니다.

AWS IAM 설정하기

AWS IAM 정책 설정 과정에서 최소 권한을 지정하도록 요구하고 있습니다. NPM에서 AWS 리소스 정보를 수집하려면 ec2:DescribeNetworkInterfaces 권한이 필요합니다.

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
//...
"ec2:DescribeNetworkInterfaces"
],
"Resource": "*"
}
]
}
노트

정책 및 권한에 대한 자세한 내용은 다음 링크를 참조하세요.

EKS 환경에서 AWS 리소스 권한 설정

AWS EKS에서 NPM 에이전트를 설치하는 경우 SeviceAccount를 통해 AWS의 리소스 정보를 수집할 수 있습니다.

AWS IAM 설정하기

AWS IAM 정책 설정 과정에서 최소 권한을 지정하도록 요구하고 있습니다. NPM에서 AWS 리소스 정보를 수집하려면 ec2:DescribeNetworkInterfaces 권한이 필요 합니다.

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
//...
"ec2:DescribeNetworkInterfaces"
],
"Resource": "*"
}
]
}
노트

정책 및 권한에 대한 자세한 내용은 다음 링크를 참조하세요.

Service Account 설정하기

AWS EKS 설정 과정에서 IAM과 쿠버네티스의 Service Account를 연결해야 하고, NPM에서 AWS 리소스 정보를 수집하려면 IAM과 NPM의 Service Account를 연결해야 합니다.

NPM에서는 다음의 Service Account를 사용하세요.

namespace : whatap-npm-ns
service_account : whatap-npm
example
kubectl annotate serviceaccount -n whatap-npm-ns whatap-npm eks.amazonaws.com/role-arn=arn:aws:iam::$account_id:role/$role