Compartilhar via


Exibir o inventário multinuvem com o conector multinuvem habilitado pelo Azure Arc

A solução de Inventário do conector multinuvem mostra uma exibição atualizada de seus recursos de outras nuvens públicas no Azure, fornecendo um único local para ver todos os seus recursos de nuvem. Atualmente, há suporte para ambientes de nuvem pública da AWS.

Depois de habilitar a solução de Inventário, os metadados dos ativos na nuvem de origem são incluídos com as representações de ativos no Azure. Você também pode aplicar marcas ou políticas do Azure nesses recursos. Essa solução permite consultar todos os seus recursos de nuvem por meio do Azure Resource Graph, como consultar todos os recursos do Azure e da AWS com uma marca específica.

A solução de Inventário verifica regularmente a nuvem de origem para atualizar a exibição representada no Azure. Você pode especificar o intervalo para consultar quando conectar sua nuvem pública e configurar a solução de Inventário.

Serviços da AWS com suporte

Atualmente, os recursos associados aos seguintes serviços da AWS são verificados e representados no Azure. Quando você cria a solução de Inventário, todos os serviços disponíveis são selecionados por padrão, mas opcionalmente você pode incluir qualquer serviço.

A tabela a seguir mostra os serviços da AWS que são verificados, os tipos de recursos associados a cada serviço e o namespace do Azure que corresponde a cada tipo de recurso.

Serviço AWS Tipo de recurso da AWS Namespace do Azure
Analisador de Acesso accessAnalyzerAnalyzers Microsoft.AwsConnector/accessAnalyzerAnalyzers
Gateway de API apiGatewayRestApis Microsoft.AwsConnector/apiGatewayRestApis
Gateway de API apiGatewayStages Microsoft.AwsConnector/apiGatewayStages
Sincronização de Aplicativos appSyncGraphQLApis Microsoft.AwsConnector/appSyncGraphQLApis
Dimensionamento automático autoScalingAutoScalingGroups Microsoft.AwsConnector/autoScalingAutoScalingGroups
Cloud Formation cloudFormationStacks Microsoft.AwsConnector/cloudFormationStacks
Cloud Formation cloudFormationStackSets Microsoft.AwsConnector/cloudFormationStackSets
Cloud Front cloudFront Microsoft.AwsConnector/cloudFrontDistributions
Tráfego na nuvem cloudTrailTrails Microsoft.AwsConnector/cloudTrailTrails
Cloud Watch cloudWatchAlarms Microsoft.AwsConnector/cloudWatchAlarms
Compilação de código codeBuildProjects Microsoft.AwsConnector/codeBuildProjects
Compilação de código 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
Balanceador de carga elástico V2 elasticLoadBalancingV2LoadBalancers Microsoft.AwsConnector/elasticLoadBalancingV2LoadBalancers
Balanceador de carga elástico V2 elasticLoadBalancingV2Listeners Microsoft.AwsConnector/elasticLoadBalancingV2Listeners
Balanceador de carga elástico V2 elasticLoadBalancingV2TargetGroups Microsoft.AwsConnector/elasticLoadBalancingV2TargetGroups
Balanceador de carga elástico 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
Logs logsLogGroups Microsoft.AwsConnector/logsLogGroups
Logs logsLogStreams Microsoft.AwsConnector/logsLogStreams
Logs logsMetricFilters Microsoft.AwsConnector/logsMetricFilters
Logs logsSubscriptionFilters Microsoft.AwsConnector/logsSubscriptionFilters
Macie macieAllowLists Microsoft.AwsConnector/macieAllowLists
Macie2 macie2JobSummaries Microsoft.AwsConnector/macie2JobSummaries
Firewalls de rede networkFirewallFirewalls Microsoft.AwsConnector/networkFirewallFirewalls
Firewalls de rede networkFirewallFirewallPolicies Microsoft.AwsConnector/networkFirewallFirewallPolicies
Firewalls de rede networkFirewallRuleGroups Microsoft.AwsConnector/networkFirewallRuleGroups
Serviço de Pesquisa Aberta openSearchDomainStatuses Microsoft.AwsConnector/openSearchDomainStatuses
Organização organizationsAccounts Microsoft.AwsConnector/organizationsAccounts
Organização 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
Gerenciador de Segredos secretsManagerResourcePolicies Microsoft.AwsConnector/secretsManagerResourcePolicies
Gerenciador de Segredos secretsManagerSecrets Microsoft.AwsConnector/secretsManagerSecrets
Gerenciador de Segredos 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

Representação de recurso da AWS no Azure

Depois de conectar a nuvem da AWS e habilitar a solução de Inventário, o conector multinuvem cria um novo grupo de recursos usando a convenção de nomenclatura aws_yourAwsAccountId. As representações do Azure de seus recursos do AWS são criadas nesse grupo de recursos, usando os valores de namespace AwsConnector descritos na seção anterior. Você pode aplicar marcas e políticas do Azure nesses recursos.

Os recursos descobertos na AWS e projetados no Azure são colocados em regiões do Azure usando um esquema de mapeamento padrão.

Observação

Se você tiver instâncias EC2 que já foram conectadas ao Azure Arc, o conector criará o recurso inventário EC2 como recurso filho do Microsoft.HybridCompute/machines se os pré-requisitos tiverem sido atendidos na assinatura em que reside o computador Arc. Caso contrário, o recurso Inventário não será criado.

Opções de permissão

  1. Leitura Global: fornece acesso somente leitura a todos os recursos na conta do AWS. Quando novos serviços são introduzidos, o conector pode verificar esses recursos sem exigir um modelo de CloudFormation atualizado.

  2. Acesso de Privilégios Mínimos: fornece acesso de leitura apenas aos recursos nos serviços selecionados. Se você optar por verificar mais recursos no futuro, um novo modelo CloudFormation precisará ser carregado.

Opções de sincronização periódica

A hora de sincronização periódica selecionada ao configurar a solução de Inventário determina com que frequência sua conta da AWS é verificada e sincronizada com o Azure. Ao habilitar a sincronização periódica, as alterações nos recursos da AWS são refletidas no Azure. Por exemplo, se um recurso for excluído na AWS, esse recurso também será excluído no Azure.

Se você preferir, pode desativar a sincronização periódica ao configurar essa solução. Se fizer isso, sua representação do Azure poderá ficar fora de sincronia com seus recursos da AWS, pois o Azure não poderá verificar novamente e detectar as alterações.

Consultando recursos no Azure Resource Graph

O Azure Resource Graph é um serviço do Azure projetado para estender o Gerenciamento de Recursos do Azure fornecendo exploração de recursos eficiente e de alto desempenho. Executar consultas em escala em um determinado conjunto de assinaturas ajuda você a controlar seu ambiente com eficiência.

Você pode executar consultas usando o Gerenciador do Resource Graph no portal do Azure. Algumas consultas de exemplo para cenários comuns são mostradas aqui.

Consultar todos os inventários de ativos multinuvem integrados

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 

Consultar todos os recursos em um conector específico

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])

Consultar todas as máquinas virtuais no Azure e na AWS, juntamente com o tamanho da instância

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

Consultar todas as funções no Azure e na 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

Consultar todos os recursos com uma determinada marca

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

Próximas etapas