Azure Arc で有効になっているマルチクラウド コネクタを使用してマルチクラウド インベントリを表示する

マルチクラウド コネクタのインベントリ ソリューションには、Azure 内の他のパブリック クラウドからのリソースの最新のビューが表示され、すべてのクラウド リソースを 1 か所で表示できます。 現在、AWS パブリック クラウド環境がサポートされています。

重要

Azure Arc で有効になっているマルチクラウド コネクタは現在プレビュー段階です。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

インベントリ ソリューションを有効にすると、ソース クラウド内の資産のメタデータが Azure の資産表現に含まれます。 これらのリソースに Azure タグまたは Azure ポリシーを適用することもできます。 このソリューションを使用すると、特定のタグを持つすべての Azure リソースと AWS リソースを検索するためのクエリなど、Azure Resource Graph を使用してすべてのクラウド リソースを照会できます。

インベントリ ソリューションは、ソース クラウドを定期的にスキャンして、Azure で表されるビューを更新します。 パブリック クラウドに接続してインベントリ ソリューションを構成するときにクエリを実行する間隔を指定できます。

ヒント

現時点では、既に Azure Arc に接続されており、コネクタ リソースとは異なるサブスクリプションに存在する EC2 インスタンスでは、マルチクラウド コネクタ インベントリ ソリューションを使用しないことをお勧めします。 使用すると、Azure に EC2 インスタンスの重複レコードが作成されます。

サポートされている AWS サービス

現在、次の AWS サービスに関連付けられているリソースがスキャンされ、Azure で表されます。 インベントリ ソリューションを作成すると、使用可能なすべてのサービスが既定で選択されますが、必要に応じて任意のサービスを含めることができます。

次の表は、スキャンされる AWS サービス、各サービスに関連付けられているリソースの種類、各リソースの種類に対応する Azure 名前空間を示しています。

AWS サービス AWS リソースの種類 Azure 名前空間
API ゲートウェイ apiGatewayRestApis Microsoft.AwsConnector/apiGatewayRestApis
API ゲートウェイ apiGatewayStages Microsoft.AwsConnector/apiGatewayStages
クラウドフォーメーション cloudFormationStacks Microsoft.AwsConnector/cloudFormationStacks
クラウドフォーメーション cloudFormationStackSets Microsoft.AwsConnector/cloudFormationStackSets
Cloud Trail cloudTrailTrails Microsoft.AwsConnector/cloudTrailTrails
クラウドウォッチ cloudWatchAlarms Microsoft.AwsConnector/cloudWatchAlarms
Dynamo DB dynamoDBTables Microsoft.AwsConnector/dynamoDBTables
EC2 ec2Instances Microsoft.HybridCompute/machines/EC2InstanceIdMicrosoft.AwsConnector/Ec2Instances
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
ECR ecrRepositories Microsoft.AwsConnector/ecrRepositories
ECS ecsClusters Microsoft.AwsConnector/ecsClusters
ECS ecsServices Microsoft.AwsConnector/ecsServices
ECS ecsTaskDefinitions Microsoft.AwsConnector/ecsTaskDefinitions
暗号化ファイル システム efsFileSystems Microsoft.AwsConnector/efsFileSystems
暗号化ファイル システム efsMountTargets Microsoft.AwsConnector/efsMountTargets
Elastic Beanstalk elasticBeanstalkEnvironments Microsoft.AwsConnector/elasticBeanstalkEnvironments
Elastic Load Balancer V2 elasticLoadBalancingV2LoadBalancers Microsoft.AwsConnector/elasticLoadBalancingV2LoadBalancers
Elastic Load Balancer V2 elasticLoadBalancingV2Listeners Microsoft.AwsConnector/elasticLoadBalancingV2Listeners
Elastic Load Balancer V2 elasticLoadBalancingV2TargetGroups Microsoft.AwsConnector/elasticLoadBalancingV2TargetGroups
エラスティック検索 elasticsearchDomains Microsoft.AwsConnector/elasticsearchDomains
GuardDuty guardDutyDetectors Microsoft.AwsConnector/guardDutyDetectors
IAM iamGroups Microsoft.AwsConnector/iamGroups
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
ネットワーク ファイアウォール networkFirewallFirewalls Microsoft.AwsConnector/networkFirewallFirewalls
ネットワーク ファイアウォール networkFirewallFirewallPolicies Microsoft.AwsConnector/networkFirewallFirewallPolicies
ネットワーク ファイアウォール networkFirewallRuleGroups Microsoft.AwsConnector/networkFirewallRuleGroups
組織 organizationsAccounts Microsoft.AwsConnector/organizationsAccounts
組織 organizationsOrganizations Microsoft.AwsConnector/organizationsOrganizations
RDS rdsDBInstances Microsoft.AwsConnector/rdsDBInstances
RDS rdsDBClusters Microsoft.AwsConnector/rdsDBClusters
RDS rdsEventSubscriptions Microsoft.AwsConnector/rdsEventSubscriptions
Redshift redshiftClusters Microsoft.AwsConnector/redshiftClusters
Redshift redshiftClusterParameterGroups Microsoft.AwsConnector/redshiftClusterParameterGroups
Route 53 route53HostedZones Microsoft.AwsConnector/route53HostedZones
SageMaker sageMakerApps Microsoft.AwsConnector/sageMakerApps
SageMaker sageMakerDevices Microsoft.AwsConnector/sageMakerDevices
SageMaker sageMakerImages Microsoft.AwsConnector/sageMakerImages
S3 s3Buckets Microsoft.AwsConnector/s3Buckets
S3 s3BucketPolicies Microsoft.AwsConnector/s3BucketPolicies
S3 s3AccessPoints Microsoft.AwsConnector/s3AccessPoints
SNS snsTopics Microsoft.AwsConnector/snsTopics
SQS sqsQueues Microsoft.AwsConnector/sqsQueues

Azure での AWS リソース表現

AWS クラウドを接続してインベントリ ソリューションを有効にすると、マルチクラウド コネクタは名前付け規則 aws_yourAwsAccountId を使用して新しいリソース グループを作成します。 AWS リソースの Azure 表現は、前のセクションで説明した AwsConnector 名前空間値を使用して、このリソース グループに作成されます。 これらのリソースに Azure タグとポリシーを適用できます。

AWS 内で検出され、Azure に投影されているリソースは、標準のマッピング スキームを使用して Azure リージョンに配置されます。

定期的な同期オプション

インベントリ ソリューションを構成するときに選択する定期的な同期時間によって、AWS アカウントをスキャンして Azure に同期する頻度が決まります。 定期的な同期を有効にすると、AWS リソースへの変更が Azure に反映されます。 たとえば、AWS でリソースが削除された場合、そのリソースは Azure でも削除されます。

必要に応じて、このソリューションを構成するときに定期的な同期をオフにすることができます。 その場合、Azure は再スキャンして変更を検出できないため、Azure の表明および保証が AWS リソースと同期しなくなる可能性があります。

Azure Resource Graph でのリソースのクエリ

Azure Resource Graph は、効率的でパフォーマンスの高いリソース探索を提供することで、Azure リソース管理を拡張するように設計された Azure サービスです。 特定の一連のサブスクリプションに対してクエリを大規模に実行すると、環境を効果的に管理できます。

Azure portal で Resource Graph エクスプローラーを使用してクエリを実行できます。 一般的なシナリオのクエリの例を次に示します。

オンボードされたすべてのマルチクラウド資産インベントリに対してクエリを実行する

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

次のステップ