Azure Arc에서 사용하도록 설정된 다중 클라우드 커넥터를 사용하여 다중 클라우드 인벤토리 보기
다중 클라우드 커넥터의 인벤토리 솔루션은 Azure의 다른 퍼블릭 클라우드에서 리소스의 최신 보기를 표시하여 모든 클라우드 리소스를 볼 수 있는 단일 위치를 제공합니다. 현재 AWS 퍼블릭 클라우드 환경이 지원됩니다.
인벤토리 솔루션을 사용하도록 설정하면 원본 클라우드의 자산에서 메타데이터가 Azure의 자산 표현에 포함됩니다. 이러한 리소스에 Azure 태그 또는 Azure 정책을 적용할 수도 있습니다. 이 솔루션을 사용하면 특정 태그가 있는 모든 Azure 및 AWS 리소스를 찾기 위한 쿼리 등 Azure Resource Graph를 통해 모든 클라우드 리소스를 쿼리할 수 있습니다.
인벤토리 솔루션은 원본 클라우드를 정기적으로 검사하여 Azure에 표시되는 보기를 업데이트합니다. 퍼블릭 클라우드 연결하고 인벤토리 솔루션을 구성할 때 쿼리할 간격을 지정할 수 있습니다.
지원되는 AWS 서비스
현재 다음 AWS 서비스와 연결된 리소스는 Azure에서 검사되고 표시됩니다. 인벤토리 솔루션을 만드는 경우 사용 가능한 모든 서비스가 기본적으로 선택되지만 필요에 따라 모든 서비스를 포함할 수 있습니다.
다음 표에서는 검색된 AWS 서비스, 각 서비스와 연결된 리소스 종류 및 각 리소스 종류에 해당하는 Azure 네임스페이스를 보여 줍니다.
AWS 서비스 | AWS 리소스 종류 | Azure 네임스페이스 |
---|---|---|
Access Analyzer | accessAnalyzerAnalyzers |
Microsoft.AwsConnector/accessAnalyzerAnalyzers |
API Gateway | apiGatewayRestApis |
Microsoft.AwsConnector/apiGatewayRestApis |
API Gateway | apiGatewayStages |
Microsoft.AwsConnector/apiGatewayStages |
앱 동기화 | appSyncGraphQLApis |
Microsoft.AwsConnector/appSyncGraphQLApis |
자동 확장 | autoScalingAutoScalingGroups |
Microsoft.AwsConnector/autoScalingAutoScalingGroups |
Cloud Formation | cloudFormationStacks |
Microsoft.AwsConnector/cloudFormationStacks |
Cloud Formation | cloudFormationStackSets |
Microsoft.AwsConnector/cloudFormationStackSets |
클라우드 프런트 | cloudFront |
Microsoft.AwsConnector/cloudFrontDistributions |
CloudTrail | cloudTrailTrails |
Microsoft.AwsConnector/cloudTrailTrails |
Cloud Watch | cloudWatchAlarms |
Microsoft.AwsConnector/cloudWatchAlarms |
코드 빌드 | codeBuildProjects |
Microsoft.AwsConnector/codeBuildProjects |
코드 빌드 | codeBuildSourceCredentialsInfos |
Microsoft.AwsConnector/codeBuildSourceCredentialsInfos |
Config | configServiceConfigurationRecorders |
Microsoft.AwsConnector/configServiceConfigurationRecorders |
Config | configServiceConfigurationRecorderStatuses |
Microsoft.AwsConnector/configServiceConfigurationRecorderStatuses |
Config | configServiceDeliveryChannels |
Microsoft.AwsConnector/configServiceDeliveryChannels |
DAX | daxClusters |
Microsoft.AwsConnector/daxClusters |
DMS | databaseMigrationServiceReplicationInstances |
Microsoft.AwsConnector/databaseMigrationServiceReplicationInstances |
Dynamo DB | dynamoDBContinuousBackupsDescriptions |
Microsoft.AwsConnector/dynamoDBContinuousBackupsDescriptions |
Dynamo DB | dynamoDBTables |
Microsoft.AwsConnector/dynamoDBTables |
EC2 | ec2Instances |
Microsoft.HybridCompute/machines/EC2InstanceId , Microsoft.AwsConnector/Ec2Instances |
EC2 | ec2AccountAttributes |
Microsoft.AwsConnector/ec2AccountAttributes |
EC2 | ec2Addresses |
Microsoft.AwsConnector/ec2Addresses |
EC2 | ec2FlowLogs |
Microsoft.AwsConnector/ec2FlowLogs |
EC2 | ec2Images |
Microsoft.AwsConnector/ec2Images |
EC2 | ec2Ipams |
Microsoft.AwsConnector/ec2Ipams |
EC2 | ec2KeyPairs |
Microsoft.AwsConnector/ec2KeyPairs |
EC2 | ec2Subnets |
Microsoft.AwsConnector/ec2Subnets |
EC2 | ec2Volumes |
Microsoft.AwsConnector/ec2Volumes |
EC2 | ec2VPCs |
Microsoft.AwsConnector/ec2VPCs |
EC2 | ec2NetworkAcls |
Microsoft.AwsConnector/ec2NetworkAcls |
EC2 | ec2NetworkInterfaces |
Microsoft.AwsConnector/ec2NetworkInterfaces |
EC2 | ec2RouteTables |
Microsoft.AwsConnector/ec2RouteTables |
EC2 | ec2VPCEndpoints |
Microsoft.AwsConnector/ec2VPCEndpoints |
EC2 | ec2VPCPeeringConnections |
Microsoft.AwsConnector/ec2VPCPeeringConnections |
EC2 | ec2InstanceStatuses |
Microsoft.AwsConnector/ec2InstanceStatuses |
EC2 | ec2SecurityGroups |
Microsoft.AwsConnector/ec2SecurityGroups |
EC2 | ec2Snapshots |
Microsoft.AwsConnector/ec2Snapshots |
ECR | ecrImageDetails |
Microsoft.AwsConnector/ecrImageDetails |
ECR | ecrRepositories |
Microsoft.AwsConnector/ecrRepositories |
ECS | ecsClusters |
Microsoft.AwsConnector/ecsClusters |
ECS | ecsServices |
Microsoft.AwsConnector/ecsServices |
ECS | ecsTaskDefinitions |
Microsoft.AwsConnector/ecsTaskDefinitions |
EFS | efsFileSystems |
Microsoft.AwsConnector/efsFileSystems |
EFS | efsMountTargets |
Microsoft.AwsConnector/efsMountTargets |
EKS | eksClusters |
Microsoft.AwsConnector/eksClusters |
EKS | eksNodegroups |
Microsoft.AwsConnector/eksNodegroups |
Elastic Beanstalk | elasticBeanstalkApplications |
Microsoft.AwsConnector/elasticBeanstalkApplications |
Elastic Beanstalk | elasticBeanstalkConfigurationTemplates |
Microsoft.AwsConnector/elasticBeanstalkConfigurationTemplates |
Elastic Beanstalk | elasticBeanstalkEnvironments |
Microsoft.AwsConnector/elasticBeanstalkEnvironments |
탄력적 부하 분산 장치 V2 | elasticLoadBalancingV2LoadBalancers |
Microsoft.AwsConnector/elasticLoadBalancingV2LoadBalancers |
탄력적 부하 분산 장치 V2 | elasticLoadBalancingV2Listeners |
Microsoft.AwsConnector/elasticLoadBalancingV2Listeners |
탄력적 부하 분산 장치 V2 | elasticLoadBalancingV2TargetGroups |
Microsoft.AwsConnector/elasticLoadBalancingV2TargetGroups |
탄력적 부하 분산 장치 V2 | elasticLoadBalancingV2TargetHealthDescriptions |
Microsoft.AwsConnector/elasticLoadBalancingV2TargetHealthDescriptions |
EMR | emrClusters |
Microsoft.AwsConnector/emrClusters |
GuardDuty | guardDutyDetectors |
Microsoft.AwsConnector/guardDutyDetectors |
IAM | iamAccessKeyLastUseds |
Microsoft.AwsConnector/iamAccessKeyLastUseds |
IAM | iamAccessKeyMetaData |
Microsoft.AwsConnector/iamAccessKeyMetaData |
IAM | iamMFADevices |
Microsoft.AwsConnector/iamMFADevices |
IAM | iamPasswordPolicies |
Microsoft.AwsConnector/iamPasswordPolicies |
IAM | iamPolicyVersions |
Microsoft.AwsConnector/iamPolicyVersions |
IAM | iamRoles |
Microsoft.AwsConnector/iamRoles |
IAM | iamManagedPolicies |
Microsoft.AwsConnector/iamManagedPolicies |
IAM | iamServerCertificates |
Microsoft.AwsConnector/iamServerCertificates |
IAM | iamUserPolicies |
Microsoft.AwsConnector/iamUserPolicies |
IAM | iamVirtualMFADevices |
Microsoft.AwsConnector/iamVirtualMFADevices |
KMS | kmsKeys |
Microsoft.AwsConnector/kmsKeys |
Lambda | lambdaFunctions |
Microsoft.AwsConnector/lambdaFunctions |
Lightsail | lightsailInstances |
Microsoft.AwsConnector/lightsailInstances |
Lightsail | lightsailBuckets |
Microsoft.AwsConnector/lightsailBuckets |
로그 | logsLogGroups |
Microsoft.AwsConnector/logsLogGroups |
로그 | logsLogStreams |
Microsoft.AwsConnector/logsLogStreams |
로그 | logsMetricFilters |
Microsoft.AwsConnector/logsMetricFilters |
로그 | logsSubscriptionFilters |
Microsoft.AwsConnector/logsSubscriptionFilters |
Macie | macieAllowLists |
Microsoft.AwsConnector/macieAllowLists |
Macie2 | macie2JobSummaries |
Microsoft.AwsConnector/macie2JobSummaries |
네트워크 방화벽 | networkFirewallFirewalls |
Microsoft.AwsConnector/networkFirewallFirewalls |
네트워크 방화벽 | networkFirewallFirewallPolicies |
Microsoft.AwsConnector/networkFirewallFirewallPolicies |
네트워크 방화벽 | networkFirewallRuleGroups |
Microsoft.AwsConnector/networkFirewallRuleGroups |
Search Service 열기 | openSearchDomainStatuses |
Microsoft.AwsConnector/openSearchDomainStatuses |
조직 | organizationsAccounts |
Microsoft.AwsConnector/organizationsAccounts |
조직 | organizationsOrganizations |
Microsoft.AwsConnector/organizationsOrganizations |
RDS | rdsDBInstances |
Microsoft.AwsConnector/rdsDBInstances |
RDS | rdsDBClusters |
Microsoft.AwsConnector/rdsDBClusters |
RDS | rdsEventSubscriptions |
Microsoft.AwsConnector/rdsEventSubscriptions |
RDS | rdsDBSnapshots |
Microsoft.AwsConnector/rdsDBSnapshots |
RDS | rdsDBSnapshotAttributesResults |
Microsoft.AwsConnector/rdsDBSnapshotAttributesResults |
RDS | rdsEventSubscriptions |
Microsoft.AwsConnector/rdsEventSubscriptions |
Redshift | redshiftClusters |
Microsoft.AwsConnector/redshiftClusters |
Redshift | redshiftClusterParameterGroups |
Microsoft.AwsConnector/redshiftClusterParameterGroups |
Route 53 | route53DomainsDomainSummaries |
Microsoft.AwsConnector/route53DomainsDomainSummaries |
Route 53 | route53HostedZones |
Microsoft.AwsConnector/route53HostedZones |
SageMaker | sageMakerApps |
Microsoft.AwsConnector/sageMakerApps |
SageMaker | sageMakerDevices |
Microsoft.AwsConnector/sageMakerDevices |
SageMaker | sageMakerImages |
Microsoft.AwsConnector/sageMakerImages |
SageMaker | sageMakerNotebookInstanceSummaries |
Microsoft.AwsConnector/sageMakerNotebookInstanceSummaries |
비밀 관리자 | secretsManagerResourcePolicies |
Microsoft.AwsConnector/secretsManagerResourcePolicies |
비밀 관리자 | secretsManagerSecrets |
Microsoft.AwsConnector/secretsManagerSecrets |
비밀 관리자 | secretsManagerSecrets |
Microsoft.AwsConnector/secretsManagerSecrets |
S3 | s3Buckets |
Microsoft.AwsConnector/s3Buckets |
S3 | s3AccessControlPolicies |
Microsoft.AwsConnector/s3AccessControlPolicies |
S3 | s3ControlMultiRegionAccessPointPolicyDocuments |
Microsoft.AwsConnector/s3ControlMultiRegionAccessPointPolicyDocuments |
S3 | s3BucketPolicies |
Microsoft.AwsConnector/s3BucketPolicies |
S3 | s3AccessPoints |
Microsoft.AwsConnector/s3AccessPoints |
SNS | snsTopics |
Microsoft.AwsConnector/snsTopics |
SNS | snsSubscriptions |
Microsoft.AwsConnector/snsSubscriptions |
SQS | sqsQueues |
Microsoft.AwsConnector/sqsQueues |
SSM | ssmInstanceInformations |
Microsoft.AwsConnector/ssmInstanceInformations |
SSM | ssmParameters |
Microsoft.AwsConnector/ssmParameters |
SSM | ssmResourceComplianceSummaryItems |
Microsoft.AwsConnector/ssmResourceComplianceSummaryItems |
WAF | wafWebACLSummaries |
Microsoft.AwsConnector/wafWebACLSummaries |
WAFv2 | wafv2LoggingConfigurations |
Microsoft.AwsConnector/wafv2LoggingConfigurations |
Azure의 AWS 리소스 표현
AWS 클라우드를 연결하고 인벤토리 솔루션을 사용하도록 설정한 후 다중 클라우드 커넥터는 명명 규칙 aws_yourAwsAccountId
을(를) 사용하여 새 리소스 그룹을 만듭니다. AWS 리소스의 Azure 표현은 이전 섹션에서 설명한 AwsConnector
네임스페이스 값을 사용하여 이 리소스 그룹에 만들어집니다. 이러한 리소스에 Azure 태그 및 정책을 적용할 수 있습니다.
AWS에서 검색되고 Azure에서 프로젝션된 리소스는 표준 매핑 체계를 사용하여 Azure 지역에 배치됩니다.
참고 항목
이미 Azure Arc에 연결된 EC2 인스턴스가 있는 경우 Arc 컴퓨터가 있는 구독에서 필수 조건이 충족된 경우 커넥터는 Microsoft.HybridCompute/machines의 자식 리소스로 EC2 인벤토리 리소스를 만듭니다. 그렇지 않으면 인벤토리 리소스가 만들어지지 않습니다.
권한 옵션
전역 읽기: AWS 계정의 모든 리소스에 대한 읽기 전용 액세스를 제공합니다. 새 서비스가 도입되면 커넥터는 업데이트된 CloudFormation 템플릿 없이도 해당 리소스를 검색할 수 있습니다.
최소 권한 액세스: 선택한 서비스의 리소스에 대한 읽기 액세스만 제공합니다. 나중에 더 많은 리소스를 검색하도록 선택하는 경우 새 CloudFormation 템플릿을 업로드해야 합니다.
주기적 동기화 옵션
인벤토리 솔루션을 구성할 때 선택하는 주기적인 동기화 시간은 AWS 계정을 검사하고 Azure에 동기화하는 빈도를 결정합니다. 주기적 동기화를 사용하도록 설정하면 AWS 리소스에 대한 변경 내용이 Azure에 반영됩니다. 예를 들어 AWS에서 리소스가 삭제되면 해당 리소스는 Azure에서도 삭제됩니다.
원하는 경우 이 솔루션을 구성할 때 정기적인 동기화를 해제할 수 있습니다. 이렇게 하면 Azure에서 변경 내용을 다시 검사하고 검색할 수 없으므로 Azure 표현이 AWS 리소스와 동기화되지 않을 수 있습니다.
Azure Resource Graph에서 리소스 쿼리
Azure Resource Graph는 효율적이고 성능이 뛰어난 리소스 탐색을 제공하여 Azure 리소스 관리를 확장하도록 설계된 Azure 서비스입니다. 지정된 구독 집합에서 대규모로 쿼리를 실행하면 환경을 효과적으로 관리하는 데 도움이 됩니다.
Azure Portal에서 Resource Graph Explorer를 사용하여 쿼리를 실행할 수 있습니다. 일반적인 시나리오에 대한 몇 가지 예제 쿼리가 여기에 나와 있습니다.
온보딩된 모든 다중 클라우드 자산 인벤토리 쿼리
resources
| where subscriptionId == "<subscription ID>"
| where id contains "microsoft.awsconnector"
| union (awsresources | where type == "microsoft.awsconnector/ec2instances" and subscriptionId =="<subscription ID>")
| extend awsTags= properties.awsTags, azureTags = ['tags']
| project subscriptionId, resourceGroup, type, id, awsTags, azureTags, properties
특정 커넥터에서 모든 리소스 쿼리
resources
| extend connectorId = tolower(tostring(properties.publicCloudConnectorsResourceId)), resourcesId=tolower(id)
| join kind=leftouter (
awsresources
| extend pccId = tolower(tostring(properties.publicCloudConnectorsResourceId)), awsresourcesId=tolower(id)
| extend parentId = substring(awsresourcesId, 0, strlen(awsresourcesId) - strlen("/providers/microsoft.awsconnector/ec2instances/default"))
) on $left.resourcesId == $right.parentId
| where connectorId =~ "yourConnectorId" or pccId =~ "yourConnectorId"
| extend resourceType = tostring(split(iif (type =~ "microsoft.hybridcompute/machines", type1, type), "/")[1])
인스턴스 크기와 함께 Azure 및 AWS의 모든 가상 머신에 대한 쿼리
resources
| where (['type'] == "microsoft.compute/virtualmachines")
| union (awsresources | where type == "microsoft.awsconnector/ec2instances")
| extend cloud=iff(type contains "ec2", "AWS", "Azure")
| extend awsTags=iff(type contains "microsoft.awsconnector", properties.awsTags, ""), azureTags=tags
| extend size=iff(type contains "microsoft.compute", properties.hardwareProfile.vmSize, properties.awsProperties.instanceType.value)
| project subscriptionId, cloud, resourceGroup, id, size, azureTags, awsTags, properties
Azure 및 AWS의 모든 함수에 대한 쿼리
resources
| where (type == 'microsoft.web/sites' and ['kind'] contains 'functionapp') or type == "microsoft.awsconnector/lambdafunctionconfigurations"
| extend cloud=iff(type contains "awsconnector", "AWS", "Azure")
| extend functionName=iff(cloud=="Azure", properties.name,properties.awsProperties.functionName), state=iff(cloud=="Azure", properties.state, properties.awsProperties.state), lastModifiedTime=iff(cloud=="Azure", properties.lastModifiedTimeUtc,properties.awsProperties.lastModified), location=iff(cloud=="Azure", location,properties.awsRegion), tags=iff(cloud=="Azure", tags, properties.awsTags)
| project cloud, functionName, lastModifiedTime, location, tags
특정 태그가 있는 모든 리소스에 대한 쿼리
resources
| extend awsTags=iff(type contains "microsoft.awsconnector", properties.awsTags, ""), azureTags=tags
| where awsTags contains "<yourTagValue>" or azureTags contains "<yourTagValue>"
| project subscriptionId, resourceGroup, name, azureTags, awsTags
다음 단계
- 다중 클라우드 커넥터 Arc 온보딩 솔루션에 대해 알아보세요.
- Azure Resource Graph에 대해 자세히 알아봅니다.