Azure Arc のマルチクラウドコネクタを利用して AWS に対してインベントリソリューションと Arc オンボードソリューションを設定してみた

Azure Arc のマルチクラウドコネクタを利用して AWS に対してインベントリソリューションと Arc オンボードソリューションを設定してみた

Clock Icon2025.04.18

Azure Arc のマルチクラウドコネクタを利用することで AWS リソースのインベントリ取得と EC2 インスタンスへの Arc エージェントの自動インストールができることを知ったため試してみました。

AWS に接続するコネクタの情報は次のドキュメントに記載されています。AWS 側に必要な権限の記載もあります。

Arc エージェントを自動でインストールする「Arc オンボード」ソリューションを使うための条件は下記ドキュメントに記載されています。

マルチクラウドコネクタ設定

AWS に接続するマルチクラウドコネクタは Azure Arc サービスの「管理」→「マルチクラウドコネクタ」から設定します。「作成」からコネクタを作成してみます。

azure-arc-multicloud-connector-aws-2

基本情報タブの設定です。事前に作成済みのリソースグループを指定し、Azure リージョンは East US リージョンを指定しています。執筆時点では東日本リージョンには対応していませんでした。AWS アカウント設定では、AWS Organizations 組織配下のアカウントをすべて対象にするために、「組織のアカウント」を指定して管理アカウントのアカウント ID を入力しています。

azure-arc-multicloud-connector-aws-3

次は利用するソリューションの設定です。インベントリを取得するソリューションと Arc オンボードソリューションを構成します。今回は両方有効化してみます。

インベントリの設定では、対応している全ての AWS サービスと全てのリージョンを対象としています。

azure-arc-multicloud-connector-aws-4

Arc オンボードの設定では、全てのリージョンを対象に特定のタグ AzureArc: true が付与されているリソースを対象とする設定としてみます。事前に AWS 側には AzureArc: true タグを付与している EC2 インスタンスと AzureArc タグを付与していない EC2 インスタンスを作成済みです。

azure-arc-multicloud-connector-aws-5

ソリューション設定後の画面です。次に進みます。

azure-arc-multicloud-connector-aws-6

認証テンプレートタブの設定では、AWS 側で展開する CloudFormation テンプレートをダウンロードできます。

azure-arc-multicloud-connector-aws-7

AWS 側では、ダウンロードした CloudFormation テンプレートを利用して AWS Organizations の管理アカウントで次の設定をします。

  • 管理アカウントの設定をするために CloudFormation スタックを作成
  • メンバーアカウントの設定をするために組織を対象に CloudFormation StackSets を作成

作成時のパラメータは下図であり、今回はデフォルト値のままにしています。また、展開先リージョンは東京リージョンのみにしています(他のリージョンにも展開が必要だったかもしれませんが、試せていません。IAM ロールの作成も含まれているので 1 つのリージョンでよいと思って進めています)。

azure-arc-multicloud-connector-aws-17

Azure 側の設定に戻り、「次へ」を選択して進めます。

次はタグの設定ですが、今回は設定せずに進めます。

azure-arc-multicloud-connector-aws-8

最後に設定内容をレビューして「作成」を実行すれば完了です。

azure-arc-multicloud-connector-aws-9

設定後のマルチクラウドコネクタの画面です。コネクタが追加されていることを確認できました。

azure-arc-multicloud-connector-aws-10-2

すぐにスキャン結果を確認したかったため、概要画面から「今すぐスキャン」を実行してみます。

azure-arc-multicloud-connector-aws-11

3 つの AWS アカウントを対象に約 2 分でインベントリと Arc オンボードスキャンの両方が完了しました。スキャン時間はリソースの数にも依存しそうな気もします。

以降ではスキャン後の確認をしてみます。

マルチクラウドコネクタ設定後の確認

インベントリソリューションと Arc オンボードソリューションのスキャン結果を確認してみます。

インベントリソリューション

作成したマルチクラウドコネクタの「リソース」メニューから AWS のインベントリ(利用しているリソースの一覧)を確認できます。
試しに subnet で検索したところ、複数のアカウントのサブネット情報を確認できました。

azure-arc-multicloud-connector-aws-12

表示のグループ化機能もありました。下記画像はアカウント ID でグループ化した例です。

azure-arc-multicloud-connector-aws-13

設定できるグループ化の条件には次の内容がありました。

  • 名前でグループ化
  • アカウント ID でグループ化
  • 種類でグループ化
  • リージョンでグループ化

1 つのサブネットを選択して詳細を確認してみました。プロパティ情報で詳細な設定内容を確認できます。タグなどの一部の項目は JSON 形式で提供されています。右上の「JSON ビュー」から全体の JSON ビューも確認できます。

azure-arc-multicloud-connector-aws-14-2

全体の JSON ビューの内容です。一部の設定値を変更しています。

{
    "id": "/subscriptions/380f4c0c-5d97-12exapmle-12345example/resourceGroups/aws_111122223333/providers/Microsoft.AwsConnector/ec2subnets/subnet-04edd79db84fad02f_ap-northeast-1",
    "name": "subnet-04edd79db84fad02f_ap-northeast-1",
    "type": "microsoft.awsconnector/ec2subnets",
    "location": "southeastasia",
    "tags": {},
    "systemData": {
        "createdBy": "e18cedde-9458-482f-9dd1-558c597ac42e",
        "createdByType": "Application",
        "createdAt": "2025-04-15T14:14:57.5069139Z",
        "lastModifiedBy": "e18cedde-9458-482f-9dd1-558c597ac42e",
        "lastModifiedByType": "Application",
        "lastModifiedAt": "2025-04-17T04:29:08.8818933Z"
    },
    "properties": {
        "publicCloudConnectorsResourceId": "/subscriptions/380f4c0c-5d97-12exapmle-12345example/resourcegroups/rg-azure-arc/providers/microsoft.hybridconnectivity/publiccloudconnectors/aws-organizations",
        "awsAccountId": "111122223333",
        "awsRegion": "ap-northeast-1",
        "arn": "",
        "publicCloudResourceName": "subnet-04edd79db84fad02f",
        "awsSourceSchema": "AWS Cloud Control API",
        "awsTags": {},
        "awsProperties": {
            "assignIpv6AddressOnCreation": false,
            "vpcId": "vpc-093fc7e762d2aea2f",
            "mapPublicIpOnLaunch": true,
            "enableDns64": false,
            "networkAclAssociationId": "aclassoc-0fc25022728433063",
            "availabilityZoneId": "apne1-az4",
            "privateDnsNameOptionsOnLaunch": {
                "enableResourceNameDnsARecord": false,
                "hostnameType": "ip-name",
                "enableResourceNameDnsAAAARecord": false
            },
            "availabilityZone": "ap-northeast-1a",
            "cidrBlock": "172.31.32.0/20",
            "ipv6Native": false,
            "subnetId": "subnet-04edd79db84fad02f",
            "tags": []
        },
        "provisioningState": "Succeeded"
    },
    "apiVersion": "2024-12-01"
}

Arc オンボードソリューション

Azreu Arc サービスの「Azure Arc リソース」→「マシン」から EC2 インタンスが確認できます。
4 台の EC2 インスタンスが表示されています。その中に ARC エージェント欄が「接続済み」のインスタンスがあり、このインスタンスが AzureArc: true タグを設定していたインスタンスとなります。自動的に Azure Connected Machine agent がインストールされていました。

azure-arc-multicloud-connector-aws-15

Arc エージェントが接続済みの EC2 インスタンスの名前をクリックすると OS のバージョン情報を確認できました。EoL の確認などに活用できそうです。

azure-arc-multicloud-connector-aws-1-2

なお、Arc オンボードには利用の前提条件があります。冒頭で記載したドキュメントに記載のあるのですが、オンボードできる EC2 インスタンスには次の条件があります。例えば、SSM エージェントがインストールされている必要があります。

パブリック クラウドを接続するための一般的な前提条件に加えて、Arc オンボード ソリューションの要件を満たしていることを確認してください。 これには、Azure Arc にオンボードされる各 EC2 インスタンスの要件が含まれます。

引用元:マルチクラウド コネクタを使用して VM を Azure Arc にオンボードする - Azure Arc | Microsoft Learn

AWS 側において SSM の Run Command の実行履歴を確認してみたところ、Arc エージェントがインストールされていた EC2 インスタンスに対して AWS-RunShellScript が実行されていました。

azure-arc-multicloud-connector-aws-16

以上で、Azure Arc の AWS と接続するマルチクラウドコネクタのお試しは終わりです。

さいごに

Azure Arc の AWS と接続するマルチクラウドコネクタを試してみました。複数のクラウドのインベントリ確認やマシンの一元管理ができる点がこのサービスのメリットだと思います。AWS Organizations の組織単位で設定できる点もよかったです。

AWS 側で実行する CloudFormation で作成されるリソースを詳しく見ることで、Arc オンボードの仕組みを理解できそうだったので、時間があれば見てみたいと思いました。

以上、このブログがどなたかのご参考になれば幸いです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.