다음을 통해 공유


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 인벤토리 리소스를 만듭니다. 그렇지 않으면 인벤토리 리소스가 만들어지지 않습니다.

권한 옵션

  1. 전역 읽기: AWS 계정의 모든 리소스에 대한 읽기 전용 액세스를 제공합니다. 새 서비스가 도입되면 커넥터는 업데이트된 CloudFormation 템플릿 없이도 해당 리소스를 검색할 수 있습니다.

  2. 최소 권한 액세스: 선택한 서비스의 리소스에 대한 읽기 액세스만 제공합니다. 나중에 더 많은 리소스를 검색하도록 선택하는 경우 새 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

다음 단계