본문으로 건너뛰기

클라우드 설치하기

exemONE으로 AWS·Azure를 모니터링하기 전에 클라우드 서비스 측에서 준비해야 하는 지원 환경, 네트워크 확인 사항, 필수 권한을 안내합니다. exemONE 화면에서 계정을 등록하고 리소스·수집 주기를 관리하는 방법은 설정하기 문서를 참고하세요.

AWS

지원 환경

서비스지원 타입Metric Namespace (CloudWatch)주요 Dimension(예시)지원 가능 여부
Cost Explorer전체Cost Explorer GetCostAndUsage API (CloudWatch 아님)ServiceName, LinkedAccount, RegionO
Database Migration Service (DMS)Replication InstanceAWS/DMSReplicationInstanceIdentifierO
Database Migration Service (DMS)Replication TaskAWS/DMSReplicationInstanceIdentifier, ReplicationTaskIdO
DocumentDBClusterAWS/DocDBDBClusterIdentifierO
DocumentDBInstanceAWS/DocDBDBInstanceIdentifierO
DynamoDBTableAWS/DynamoDBTableNameO
DynamoDBGlobal TableAWS/DynamoDBTableNameO
EC2InstanceAWS/EC2InstanceIdO
EC2Auto Scaling GroupAWS/EC2AutoScalingGroupNameX
ECSClusterAWS/ECSClusterNameX
ECSServiceAWS/ECSClusterName, ServiceNameX
ECSTaskAWS/ECSClusterName, TaskDefinitionFamilyX
ElastiCache (Redis)Cluster Mode DisabledAWS/ElastiCacheCacheClusterIdO
ElastiCache (Redis)Cluster Mode Enabled (Sharded)AWS/ElastiCacheReplicationGroupId, NodeGroupIdO
ElastiCache (Redis)ServerlessAWS/ElastiCacheClusterIdO
LambdaFunctionAWS/LambdaFunctionNameO
LambdaVersion / AliasAWS/LambdaFunctionName, ResourceX
RDS (+Aurora)DB InstanceAWS/RDSDBInstanceIdentifierO
RDS (+Aurora)DB Cluster (Aurora)AWS/RDSDBClusterIdentifierO
RedshiftProvisioned (Cluster)AWS/RedshiftClusterIdentifierO
RedshiftProvisioned (Node)AWS/RedshiftClusterIdentifier, NodeIDX
RedshiftServerless (Workgroup)AWS/Redshift-ServerlessWorkgroupX
RedshiftServerless (Namespace)AWS/Redshift-ServerlessNamespaceX
S3Bucket (Storage Metrics)AWS/S3BucketName, StorageTypeO
S3Request MetricsAWS/S3BucketName, FilterIdX

수집 방식

AWS에서 제공하는 각 서비스별 성능 정보를 AWS API Call (GetMetricData) 방식으로 수집합니다.

네트워크 확인

exemONE 수집 서버에서 아래 AWS API 엔드포인트로 접근할 수 있어야 합니다. *.amazonaws.com 도메인과 443 포트가 허용되어 있는지 확인하세요.

rds.{region}.amazonaws.com          - RDS 인스턴스 정보
ec2.{region}.amazonaws.com - 인스턴스 메타데이터
monitoring.{region}.amazonaws.com - CloudWatch 메트릭
logs.{region}.amazonaws.com - CloudWatch Logs
sts.{region}.amazonaws.com - 인증 토큰 서비스(STS)
ce.{region}.amazonaws.com - Cost Explorer 비용 정보

AWS가 사용하는 IP 주소 범위는 아래 명령으로 다운로드해 방화벽 허용 목록에 반영할 수 있습니다.

curl -O https://ip-ranges.amazonaws.com/ip-ranges.json
VPC Endpoint

exemONE 계정 등록 화면에서 VPC Endpoint를 활성화하면 EC2, RDS, Monitoring, VPC Region, SSO, SSO OIDC, CloudWatch Logs 항목별로 프라이빗 엔드포인트 도메인을 직접 입력할 수 있습니다. 입력하지 않으면 각 항목은 공개 엔드포인트(Default Public Domain)를 사용합니다.

필수 권한

모니터링 대상 AWS 계정에 서비스별로 아래 IAM 권한을 부여해야 합니다.

서비스필요한 IAM 권한
공통cloudwatch:GetMetricData, cloudwatch:ListMetrics
AWS 경보(Alarm) 수집cloudwatch:DescribeAlarms
CloudWatch Log 수집logs:DescribeLogGroups, logs:DescribeLogStreams, logs:GetLogEvents
RDS / Aurorards:DescribeDBInstances, rds:DescribeDBClusters
Redshiftredshift:DescribeClusters
DynamoDBdynamodb:ListTables, dynamodb:DescribeTable
ElastiCacheelasticache:DescribeCacheClusters
DocumentDBrds:DescribeDBClusters
DMSdms:DescribeReplicationInstances
EC2ec2:DescribeInstances, ec2:DescribeVolumes
S3s3:ListAllMyBuckets, s3:GetBucketLocation
Lambdalambda:ListFunctions, lambda:GetFunction
Cost Explorerce:GetCostAndUsage

인증 준비

exemONE 계정 등록 화면의 Credential Type에서 아래 5가지 방식 중 고객사 환경에 맞는 방식을 선택합니다. 각 방식에 필요한 정보를 미리 준비하세요.

Credential Type설명
TokenAccess Key ID / Secret Access Key로 인증하는 방식입니다. 임시 발급된 Key인 경우 만료에 따른 자동 갱신 관리가 필요합니다.
Assume RoleexemONE 수집 서버를 AWS 내부(EC2) 환경에 구축할 때 사용합니다. IAM Role(Assume Role)을 생성해 필요 권한을 부여하고, 수집 서버로 사용할 EC2에 연결합니다.
IAM Roles AnywhereexemONE 수집 서버를 AWS 외부(온프레미스 등) 환경에 구축할 때 사용합니다. IAM Role 생성, Trust Anchor 생성(CA 인증서 등록), Profile 생성 및 IAM Role 연결이 필요합니다.
Vault보안 정책상 인증 정보를 직접 저장하지 못하는 경우, Vault를 통해 Access Key를 저장·관리할 때 사용합니다.
ServerexemONE 수집 서버가 AWS 내부(EC2)에 있고, 해당 EC2에 연결된 IAM Role을 그대로 사용할 때 선택합니다. 별도의 인증 정보 준비가 필요 없습니다.

Token

  • 임시로 발급받은 Token을 통해 인증하는 방식 (Token 만료에따른자동갱신관리필요)

  • 연결 정보

    • Access Key ID

    • Secret Key

Assume Role

  • exemONE수집서버를 AWS 내부(EC2) 환경에 구축 시 사용할 수 있는 방식

    • Role Arn(예: arn:aws:iam::123456789012:role/MyRole)

    • Role Session Name(식별용 임의 값)

IAM Roles Anywhere

  • exemONE수집서버를 AWS 외부(온프레미스 등) 환경에 구축 시 사용할 수 있는 방식

  • IAM Role 생성(IAMRoleAnywhere)및 필요 권한 부여

  • Trust Anchor 생성(CA인증서 등록필요)

  • Profile 생성및IAM Role 연결

  • 연결 정보

    • Certificate(인증서 파일)

    • Private Key(개인 키 파일)

    • Role ARN(예: arn:aws:iam::123456789012:role/MyRole)

    • Trust Anchor ARN

    • Profile ARN

Vault

  • 주로 내부 보안 정책상 인증 정보를 직접 저장하지 못하는 경우 사용

  • Vault Key를 통해 Access Key (Access Key ID + Secret Access Key)를 저장 관리하는 경우 사용

  • 연결 정보

    • Vault Token(예: https://vault.example.com/v1/aws/creds/my-role)

    • Namespace(예: my-namespace)

    • Request URL(예: https://vault.example.com/v1/aws/creds/my-role)

Server

  • EC2에 연결된 IAM Role을 사용하므로 별도 준비 항목이 없습니다.

Azure

지원 환경

서비스지원 타입Metric Namespace주요 Dimension(예시)지원 가능 여부
Azure Virtual MachinesSingle VMMicrosoft.Compute/virtualMachines없음O
Azure Virtual MachinesVM Scale SetMicrosoft.Compute/virtualMachineScaleSetsInstanceId, VMNameX
Azure FunctionsConsumption PlanMicrosoft.Web/sitesInstanceO
Azure FunctionsPremium PlanMicrosoft.Web/sitesInstanceO
Azure FunctionsDedicated (App Service Plan)Microsoft.Web/sitesInstanceO
Azure Blob StorageGPv1Microsoft.Storage/storageAccountsApiName, Authentication, GeoTypeO
Azure Blob StorageGPv2Microsoft.Storage/storageAccountsApiName, Authentication, GeoTypeO
Azure Blob StorageBlob Storage AccountMicrosoft.Storage/storageAccountsApiName, Authentication, GeoTypeO
Azure Cache for RedisBasicMicrosoft.Cache/redisShardId, Port, PrimaryO
Azure Cache for RedisStandardMicrosoft.Cache/redisShardId, Port, PrimaryO
Azure Cache for RedisPremiumMicrosoft.Cache/redisShardId, Port, PrimaryO
Azure Cache for RedisEnterpriseMicrosoft.Cache/redisEnterpriseInstanceIdO
Azure Cache for RedisEnterprise FlashMicrosoft.Cache/redisEnterpriseInstanceIdO
Azure Cache for RedisAzure Managed RedisMicrosoft.Cache/redisEnterpriseInstanceIdO
Azure Cosmos DBSQL APIMicrosoft.DocumentDB/databaseAccountsDatabaseName, CollectionName, RegionO
Azure Cosmos DBMongo API (RU 기반 계정)Microsoft.DocumentDB/databaseAccountsDatabase, Collection, RegionO
Azure Cosmos DBCassandra API (RU 기반 계정)Microsoft.DocumentDB/databaseAccountsKeyspace, RegionO
Azure Cosmos DBGremlin APIMicrosoft.DocumentDB/databaseAccountsDatabase, Graph, RegionO
Azure Cosmos DBPostgresql APIMicrosoft.DBforPostgreSQL/serverGroupsv2-X
Azure Cosmos DBDB for TableMicrosoft.DocumentDB/databaseAccounts-O
Azure Cosmos DBManaged Instance for Apache CassandraMicrosoft.DocumentDB/cassandraClustersKeyspace, RegionX
Azure Cosmos DBAzure DocumentDBMicrosoft.DocumentDB/mongoClusters-X

수집 방식

Azure에서 제공하는 각 서비스별 성능 정보도 Azure Monitor REST API (Metrics API) 방식으로 수집합니다.

네트워크 확인

exemONE 수집 서버에서 아래 도메인의 443 포트로 접근할 수 있어야 합니다.

용도도메인
인증login.microsoftonline.com
리소스 관리 APImanagement.azure.com

필수 권한

모니터링 대상 리소스 종류에 따라 아래 역할(Role) 권한이 필요합니다.

Microsoft.DBforMySQL/flexibleServers/read
Microsoft.DBforMariaDB/servers/read
Microsoft.DBforPostgreSQL/flexibleServers/read
Microsoft.Sql/servers/databases/read
Microsoft.Cache/Redis/read

Microsoft.Insights/Metrics/Read
Microsoft.Compute/skus/read
Microsoft.AlertsManagement/alerts/read
Microsoft.Resources/subscriptions/read

인증 준비

exemONE 계정(테넌트) 등록 화면에서는 Tenant ID, Client ID, Client Secret 세 가지 정보를 입력합니다. Client ID와 Client Secret은 Azure Portal에서 앱 등록을 통해 발급받아야 합니다.

  1. Azure Portal에서 앱 등록을 클릭합니다.

  2. + 새 등록을 클릭해 앱을 등록합니다.

  3. Cloud Shell을 실행하고 아래 명령을 입력합니다.

    az ad sp create-for-rbac -n (앱 등록 이름) --role Contributor --scopes /subscriptions/(Subscription Id)
  4. 출력 결과 중 appIdClient ID, passwordClient Secret 값이므로 확인하여 등록 화면에 입력합니다.

참고

위 명령의 --scopes 파라미터에 사용하는 Subscription ID는 서비스 주체(Service Principal)에 권한을 부여하기 위한 값이며, exemONE 계정 등록 화면에는 Subscription ID를 입력하는 별도 항목이 없습니다. 계정 연동 후에는 리소스 목록 화면에서 Subscription 정보를 확인할 수 있습니다.


에이전트 설치

AWS·Azure 공통으로, 클라우드 리소스를 수집하려면 exemone-cloud-agent를 서버에 설치해야 합니다.

모듈 설명

exemone-cloud-agent는 AWS·Azure 클라우드 환경의 리소스를 모니터링하기 위한 에이전트입니다. bin 파일을 사용해 서버에 단독으로 설치합니다.

항목내용
OSLinux
Arch64bit (AMD64 · ARM64)
ProtocolgRPC 9009 → Receiver
참고

설치를 시작하기 전에 이 문서의 AWS 필수 권한, Azure 필수 권한을 먼저 확인하세요.

에이전트 등록하기

서버에 Cloud Agent를 설치하기 전에 exemONE 웹 UI에서 에이전트를 먼저 등록해야 합니다. 등록 시 발급되는 Agent IDAccess Token은 설치 후 agent.yaml 설정에 필요합니다.

좌측 메뉴 하단 Profile > 환경설정에서 Management > Agent를 선택하세요.

Agent List & Management 화면

  1. Agent List & Management 탭에서 [Add Agent]를 클릭합니다.
  2. Agent TypeCloud로 선택하고 Agent Name을 입력합니다.
  3. [Regenerate]를 클릭해 Agent IDAccess Token을 발급받고, 함께 기록해 둡니다.
  4. [Save]를 클릭합니다.

Add Agent 창 - Cloud 타입

참고

Access Token은 초기 등록 시와 재발급(Regenerate) 시에만 확인할 수 있습니다. [Regenerate] 이후 반드시 [Save]를 클릭해야 저장됩니다.

에이전트 설치하기

bin 파일로 설치하기

  1. 실행 권한을 부여합니다.

    chmod +x setup_exemone-cloud-agent_{version}.bin
  2. 설치 파일을 실행하고 새로 설치 여부를 확인하는 프롬프트에서 y를 입력합니다.

    ./setup_exemone-cloud-agent_{version}.bin
    =====================================================
    exemone-cloud-agent Install
    =====================================================
    new install start
    Would you like to do a new install? (y/n)
    y
    xmSuccess(0): Installation is complete.
  3. 설치 완료 후 conf/agent.yaml 파일을 열어 위에서 발급받은 에이전트 정보를 입력합니다.

    agent_id: <에이전트 ID>
    access_token: <엑세스 토큰>
    receiver_addr: <Receiver IP>:9009
    노트

    agent_id: 등 키 뒤의 콜론(:) 다음에 반드시 한 칸을 띄워야 합니다.

  4. 에이전트를 시작합니다.

    ./start.sh

Docker bin 파일로 설치하기

  1. 실행 권한을 부여합니다.

    chmod +x setup_exemone-cloud-agent_{version}_docker.bin
  2. 설치 파일을 실행하고 프롬프트에서 y를 입력합니다.

    ./setup_exemone-cloud-agent_{version}_docker.bin
    =====================================================
    exemone-cloud-agent Install
    =====================================================
    new install start
    Would you like to do a new install? (y/n)
    y
    Loaded image: maxgauge/exemone-cloud-agent:{version}
    xmSuccess(0): Installation is complete.
  3. 설치 완료 후 conf/agent.yaml 파일을 열어 위에서 발급받은 에이전트 정보를 입력합니다.

    agent_id: <에이전트 ID>
    access_token: <엑세스 토큰>
    receiver_addr: <Receiver IP>:9009
    노트

    agent_id: 등 키 뒤의 콜론(:) 다음에 반드시 한 칸을 띄워야 합니다.

  4. 에이전트를 시작하고 컨테이너 상태를 확인합니다.

    ./start.sh
    docker ps