SB C&Sの最新技術情報 発信サイト

C&S ENGINEER VOICE

SB C&S

Azure Arc対応サーバーを管理してみよう - SSH接続編

パブリッククラウド
2023.06.07

みなさんこんにちは。 以前、Azure以外の場所にある「サーバー」をAzure Arcに接続する方法について以下のブログ記事でご紹介いたしました。

今回はAzure Arcに接続したサーバー(Azure Arc対応サーバー)に対しSSH接続してみたいと思います。 本機能はAzure Arc対応サーバーがWindowsでもLinuxでも利用することが可能です。 本ブログ記事ではWindowsのAzure Arc対応サーバーに対するSSH接続についてご説明したいと思います。

なお、本ブログ記事執筆時点でAzure Arc対応サーバーへのSSH接続はプレビュー状態になっています。

Azure Arc対応サーバーへのSSH接続 機能概要

もともとWindows環境ではOpenSSHをインストールすることでSSH接続することが可能です。(WindowsにおけるSSH利用の詳細についてはこちらをご参照ください。)
az_arc-ssh-withoutArc.png
Azureの場合、Azure CLIにSSH接続するためのコマンドとしてaz sshコマンド(ssh拡張機能)があります。 az ssh arcコマンドを実行することでAzure Arcを介してAzure Arc対応サーバーへSSH接続することが可能です。 Azure Arcを介してのアクセスであるため、VPNを張るといった準備は不要です。(az ssh arcコマンドを実行する端末がAzure Arc対応サーバーのIPアドレスに到達できるようにしておく必要はありません。)
az_arc-ssh.png

Azure Arc対応サーバーにSSH接続するための準備

本ブログ記事ではWindowsのAzure Arc対応サーバーにSSH接続する様子をご紹介いたします。

検証環境

今回は以下のようにオンプレミスに存在するAzure Arc対応サーバーに対して、Mac上からAzure Arcを介してSSH接続してみます。
az_arc-ssh-env.png

※ Azure Arc対応サーバーにSSHで接続する際の要件についてはこちらをご参照ください。

今回利用する環境ではWindows Server 2022Azure Arc対応サーバーとしています。 本サーバーはオンプレミスに存在しています。
az_arc-ssh-env-arc.pngaz_arc-ssh-env-ws.png

az_arc-ssh-env-ws-ps.png

今回利用するサブスクリプションではリソースプロバイダー "Microsoft.HybridConnectivity"が登録済みになっています。
az_arc-ssh-env-az-rp.pngなお、Mac上にAzure CLIをインストールしてあります。(Azure CLIのインストールについてはこちらをご参照ください。)
az_arc-ssh-env-mac.pngaz_arc-ssh-env-mac-azcli.png

Azure Arc対応サーバーにOpenSSHをインストール

前提条件としてAzure Arc対応サーバー上でsshdサービスが有効になっている必要があるため、ここではMicrosoft Learnの記載に従ってAzure Arc対応サーバーにOpenSSH Serverをインストールします。

はじめにAzure Arc対応サーバー上で管理者としてPowerShellを起動し、以下のコマンドによりOpenSSHのインストール状況を確認します。

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

az_arc-ssh-p1-1.png今回利用する環境ではOpenSSH Serverが未インストールであることが確認できましたので、以下のコマンドを実行してOpenSSH Serverをインストールします。

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

az_arc-ssh-p1-2.pngOpenSSH Server がインストールできましたので、sshdサービスを起動します。 さらにここではスタートアップの種類を「自動」にしています。

Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'

az_arc-ssh-p1-3.png

Azure Arc対応サーバーのConnected Machineエージェントに対する設定

Azure Arc対応サーバー上で管理者としてPowerShellを起動し、以下のコマンドを実行します。 azcmagent configコマンドConnected Machineエージェントの設定を行うコマンドです。 ここではSSH接続に利用するポートとして22を指定しています。 コマンド構文についてはこちらをご参照ください。

azcmagent config set incomingconnections.ports 22

az_arc-ssh-p2-1.png

以下のコマンドを実行すると設定内容を確認することが可能です。

azcmagent config list

az_arc-ssh-p2-2.png

接続エンドポイントを作成

SSHで接続するAzure Arc対応サーバーの接続エンドポイントを作成します。 ここではCloud Shell (Bash)を利用しています。(PowerShellのコマンド構文についてはこちらをご参照ください。)

az rest --method put --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default?api-version=2021-10-06-preview --body '{"properties": {"type": "default"}}'


az_arc-ssh-p3-1.png

以下のコマンドによりエンドポイントを確認できます。

az rest --method get --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default?api-version=2021-10-06-preview

az_arc-ssh-p3-2.png

SSH接続元にAzure CLI拡張機能をインストール

今回はMac上でaz sshコマンドを実行します。 このためaz extensionコマンドを利用してMac上にAzure CLI 拡張機能(ssh拡張機能)をインストールします。

az extension add --name ssh

インストール済みのAzure CLI 拡張機能は以下のコマンドで確認可能です。

az extension list

az_arc-ssh-p4-1.png

 

Azure Arc対応サーバーにSSH接続してみる

SSH接続のための準備ができましたので、MacからAzure Arc対応サーバーへSSH接続してみたいと思います。

まずはAzure Portalで操作します。 SSH接続するAzure Arc対応サーバーの「接続 (プレビュー)」をクリックします。 今回はパスワードで認証するため「認証の種類」で「パスワード」を選択しています。
az_arc-ssh-1.pngユーザー名を入力します。 今回はAdministratorとしてAzure Arc対応サーバーにログインします。 画面下部にAzure Arcを介してSSH接続するためのコマンドが表示されます。
az_arc-ssh-2.png

Macでターミナルを開きます。 az loginコマンドによりサインインした後、Azure Portalに表示されたコマンドを実行します。 今回はAdministratorとして接続していますので、そのパスワードを入力します。
az_arc-ssh-3.png今回は試しにGet-ComputerInfoコマンドを実行してみました。
az_arc-ssh-4.png

補足

今回利用した環境ではMac上でaz ssh arcコマンドを実行しましたが、Azure Portal上で「ブラウザーで接続」をクリックするとCloud Shellにaz ssh arcコマンドが自動入力されます。
az_arc-ssh-azportal.png

 

まとめ

今回はオンプレミス環境に存在するAzure Arc対応サーバーに対し、Azure Arcを介してSSH接続してみました。 今回利用した環境ではAzure Arc対応サーバーとMacはそれぞれ全く異なるサイトにあり、MacからAzure Arc対応サーバーのIPアドレスに到達することはできない状態でした。 このような環境下であってもAzure Arcを利用することで簡単にSSH接続することができました。

Azure Arcに接続したリソースの管理においてはSSH接続以外にも様々な機能がございます。 他の機能もまた改めてご紹介できればと思います。

 


SB C&SAzureを取り扱われているパートナー企業様へ様々なご支援のメニューを用意しております。 メニューの詳細やAzureに関するご相談等につきましては以下の「Azure相談センター」をご確認ください。

Azure相談センター
https://licensecounter.jp/azure/


※ 本ブログは弊社にて把握、確認された内容を基に作成したものであり、製品の動作や仕様について担保・保証するものではありません。サービスや製品の動作、仕様等に関しては、予告なく変更される場合があります。

Azureに関するブログ記事一覧はこちら

著者紹介

SB C&S株式会社
ICT事業本部 技術本部 第1技術部 4課
中原 佳澄