第5回 パブリッククラウドでのリモート接続
今回は「第5回 パブリッククラウドでのリモート接続」についてご紹介します。
関連ワード (リモート接続の基礎知識、特集・解説等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
エム・クレストの取締役副社長兼エンジニアの小澤一裕です。コロナ禍でテレワークが急速に普及し、リモート接続をする機会が増えています。またシステムもデータセンターやクラウドに置くことが主流になったので、その意味でもリモート接続で開発・保守作業することが主流になっています。そこで数回にわたってリモート接続の初歩や知っていると便利なTIPSを紹介しています。第5回は、「パブリッククラウドでのリモート接続」というテーマで、「Microsoft Azure」とAmazon Web Services(AWS)でのリモート接続の方法を説明します。
前回は、VPS(Virtual Private Server)および共用サーバー、専用サーバーの3つの概念について説明しました。これらとパブリッククラウドでは何が違うのか、簡単に説明します。なお、クラウドは仮想化技術を前提としているため、そうでない共用サーバーおよび専用サーバーとは明らかに違います。問題になるのはVPSとクラウドの違いです。
VPSとクラウドの大きな違いは、「リソースが固定か、増減可能か」ということです。VPSは、定められたリソースを固定料金で利用するサービスです(中にはメモリーやディスクを追加できるものもあります)。契約も仮想サーバー単位となります。一方のクラウドは、複数の仮想サーバーを1つの契約で利用することができ、処理負荷の増減に伴い使用するリソースを増減することができます。また、ロードバランサーやバックアップなど運用に必要な機能がクラウドでは標準装備されていることが一般的です。
リモート接続といった用途に限れば、リソースの増減はあまり必要ないので、VPSを利用するのが安くて便利です。設定も簡単で、一時的な利用にも向いています。ただ、既にクラウドを契約しているのであれば、そちらを利用してリモートサーバーを構築する方がリーズナブルです。
それでは具体的な接続の方法について説明していきましょう。
Azureは、Microsoftが提供するパブリッククラウドサービスです。Microsoftが提供しているだけあって、「Windows」との親和性が高く、リモートデスクトッププロトコル(RDP)はもちろん、「Windows 365」や「Azure Virtual Desktop」(AVD)、「Azure Active Directory」(Azure AD)などオンプレミスからクラウドへの移行や、オンプレミスとクラウドを連携するために必要なさまざまな機能が提供されています。
Azure上で仮想サーバーを構築した場合のリモート接続に絞って話をしますと、WindowsならばRDP、LinuxならSecure Shell (SSH)で接続するのは変わりません。基本的なセキュリティ対策も同じです。ただしクラウドでは、セキュリティ機能がVPSよりも充実しています。Azureの場合は、「NSG(Network Security Group)」「Azure Firewall」「Azure Bastion」をセキュリティ対策として利用できます。
Azureで仮想サーバーを1台用意し、インターネットへのインターフェースを作成すると、NSGが1つ自動的に作成されます。
一覧画面から該当するグループを選択し、「設定」から「受信セキュリティ規則」を選択すると、「受信セキュリティ規則の追加」画面が開きます。
仮想サーバーが1台なら、NSGを設定すればよいのですが、仮想サーバーが複数台ある場合は、Azure Firewallを利用して管理するのが便利です。
Azure Firewallで制限をかける場合には、NATルールコレクションを追加します。
NATルールコレクションを追加して、どのプロトコルのどこからどこに対して通信を許可するのかを設定します。
NSGでは、仮想サーバーにグローバルアドレスを付与する必要があったものの、Azure Firewallでは、(NATを使うのでグローバルアドレスをAzure Firewallに設定すればよい)仮想サーバー1台ごとにグローバルアドレスを付与する必要がありません。グローバルアドレスは課金対象ですので、仮想サーバーが複数台ある時は、Azure Firewallを利用することでコストを抑えることができます。
「JIT(Just In Time)」というAzure Firewallのフィルター設定を時限的に発行する機能があります。これを使うと、設定したNATルールが設定時間で自動的に削除されるため、一時的なポートの開放や閉じ忘れがなく便利です。
Azure Bastion(バスチョン、日本語で「要塞」)は、インターネットに公開していない仮想マシンをウェブブラウザーから操作できるようにする、いわゆるリバースプロキシーサービスです。単純なリバースプロキシーではなく、URLをランダムに発行するなどセキュリティに配慮されています。
Bastionは、Windowsサーバーだけでなく、Linuxサーバーとも接続できます。従量課金制なので、接続したままにするとかなりの料金がかかります。利用する度に接続/切断することをお勧めします。
認証に関しては、パスワードだけでなく、SSH秘密キーによる認証も選択できます。