Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】How to set up SFTP in Azure

2025年09月28日に「Dev.to」が公開したITニュース「How to set up SFTP in Azure」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

AzureでSFTP(セキュアファイル転送プロトコル)を利用する方法を解説。SFTPはファイルを安全に転送する技術で、Azure Blob Storageでネイティブにサポートされる。ストレージアカウント作成時にSFTPを有効化し、ユーザーと権限を設定する手順を紹介。コストを抑えるため、必要な時だけ有効にする運用が推奨される。

出典: How to set up SFTP in Azure | Dev.to公開日:

ITニュース解説

現代のITシステムでは、様々なシステム間で安全にファイルをやり取りする必要が頻繁に発生する。顧客情報や機密性の高いデータを扱う場合、その転送がセキュアに行われることは非常に重要だ。この要求に応える技術の一つが「SFTP」である。Microsoft Azureは、このSFTP機能をクラウド上で簡単に利用できるサービスとして提供している。この記事では、システムエンジニアを目指す初心者の皆さんが、SFTPとは何か、Azureでどのように設定し、利用できるのかを詳しく解説する。

SFTPは「Secure File Transfer Protocol」の略で、名前の通り「安全なファイル転送プロトコル」を意味する。これは、ネットワーク経由でファイルへのアクセス、転送、管理を可能にする仕組みで、その最大の特徴は、SSH(Secure Shell)という安全な通信経路を利用することにある。SSHは、通信内容を暗号化して保護するため、SFTPでファイルを転送する際も、データが盗聴されたり改ざんされたりするリスクを大幅に低減できる。従来のFTP(File Transfer Protocol)もファイルを転送するためのプロトコルだが、通常はデータを暗号化せずに転送するため、セキュリティ面での課題があった。SFTPは、このFTPの課題を解決するために開発された。SFTPが利用する通信ポートは「ポート22」一つだけだ。これにより、企業のネットワークでセキュリティを管理するファイアウォール設定も容易になり、管理がシンプルになるというメリットもある。システム間で安全にデータをやり取りする際には、SFTPが広く利用される標準的なプロトコルとなっている。

Microsoft Azureでは、このSFTP機能を「Azure Blob Storage」というストレージサービスと連携させて提供している。具体的には、「Premium Block Blob Storage」と呼ばれる高性能なストレージアカウントタイプでSFTPサポートが組み込まれている。このAzureのSFTP機能の最大の利点は、ユーザーがサーバーなどのインフラストラクチャを自分で構築・管理する必要がない点にある。通常、SFTPサーバーを運用するには、OSのパッチ適用やセキュリティ設定、ハードウェアの管理など、多くの手間と専門知識が必要となる。しかし、AzureのネイティブなSFTP機能を利用すれば、これらの管理作業は全てAzure側で提供されるサービスとして行われるため、ユーザーはファイル転送そのものに集中できる。これは、セキュアでスケーラブル(利用規模に応じて柔軟に拡張できる)なファイル転送環境を、手軽に、かつ低コストで構築したい場合に非常に有効な選択肢となる。また、Azure上の他のサービスとの連携も容易に行えるため、より複雑なデータ処理ワークフローの一部としてSFTPを活用することも可能だ。

AzureでSFTPを利用する際には、いくつかの費用が発生する。まず、ファイルを保存するためのAzure Blob Storageの利用料がかかる。これは、保存しているデータの量や、データの読み書き、リスト表示、作成といった操作の回数に応じて計算される。そして、SFTP機能自体を有効にしている時間に対して別途料金が発生する。具体的には、SFTP機能が有効になっている間は、1時間あたり約0.30ドル(料金は変動する可能性があるので、常に最新情報を確認することが重要だ)の料金がかかる。この時間課金の特性を理解することは、コストを効率的に管理する上で非常に重要だ。もしSFTPが常に必要でない場合は、必要な時にだけ有効にし、不要な時には無効にするという運用を検討すべきだ。例えば、特定の時間帯にだけファイルのやり取りが行われるシステムであれば、その時間帯だけSFTPを有効にするように自動化することで、無駄なコストを削減できる。Azure Portalからの手動操作だけでなく、PowerShellやAzure CLIといったコマンドラインツールを使ってSFTPの有効化・無効化をスクリプトで自動化することも可能だ。このように、クラウドサービスの利用においては、サービスを「使う時だけオンにする」という考え方がコスト削減の重要なポイントとなる。

ここからは、実際にAzureでSFTPを設定し、ファイル転送を可能にする具体的な手順を解説する。システムエンジニアを目指す皆さんにとって、このような具体的な設定手順を理解することは、実践的なスキルを身につける上で非常に役立つだろう。まず、Azureの管理画面である「Azure Portal」(https://portal.azure.com)にアクセスし、サインインする。検索バーで「Storage Accounts(ストレージアカウント)」と入力して検索し、「作成」をクリックして新しいストレージアカウントの作成を開始する。

新しいストレージアカウントを作成する際、いくつかの情報を指定する必要がある。まず、Azureのサブスクリプションと「リソースグループ」を選択または新規作成する。リソースグループとは、関連するAzureリソースをまとめて管理するための論理的なグループだ。次に、ストレージアカウントに一意の名前を付け、ファイルを保存する「リージョン」(データの物理的な所在地)を選択する。SFTPをサポートするストレージアカウントの種類を選択する必要がある。プライマリサービスとして「Azure Blob Storage」または「Azure Data Lake Storage Gen 2」を選択し、パフォーマンスレベルとして「Premium」ティアを選択する。Premiumティアのアカウントタイプでは、「Block blob」を選択する。さらに、データの冗長性(バックアップの仕組み)についても、要件に合わせて適切なオプションを選択する。

次に、「詳細」設定画面に進む。ここで特に重要なのは、「階層型名前空間を有効にする」と「SFTPを有効にする」という二つのチェックボックスを必ずオンにすることだ。これらの設定を有効にすることで、後述するフォルダ構造の管理やSFTP機能が利用可能になる。他のデフォルト設定は、まずはテスト目的であればそのままでも問題ないが、本番環境で利用する場合は、各設定項目を十分に確認し、要件に合わせて適切に構成することが極めて重要だ。全ての情報入力と設定が完了したら、「レビューと作成」に進み、内容を確認してストレージアカウントを作成する。

ストレージアカウントが作成されたら、次にSFTP経由でアクセスするユーザーと、ファイルを保存する場所(コンテナ)を設定する。作成したストレージアカウントを開き、左側のメニューから「SFTP」を選択する。「ローカルユーザーの追加」をクリックすると、新しいユーザーを設定するためのウィザードが表示される。ここで、まずSFTP接続に利用する「ユーザー名」を入力する。次に、認証方法を選択する。パスワード認証とSSHキー認証のどちらか、または両方を選択できる。SSHパスワードを選択した場合、Azureが自動的に32文字以上の強力なパスワードを生成してくれる。このパスワードは、設定完了時に表示されるため、必ず控えておく必要がある。

ユーザー名と認証方法を設定したら、「次へ」をクリックして次のステップに進む。このステップでは、そのユーザーがどの「コンテナ」(Azure Blob Storageにおけるフォルダのようなもの)にアクセスできるか、そしてどのような権限を持つかを設定する。まだコンテナを作成していない場合は、ここで「新規作成」をクリックして、新しいコンテナに名前を付けて作成できる。コンテナを作成したら、そのコンテナに対してユーザーが持つ「権限」を設定する。例えば、「読み取り」「書き込み」「削除」などの権限を細かく設定できるため、ユーザーが必要とする最小限の権限のみを付与するように注意することが重要だ。これにより、セキュリティリスクを最小限に抑えることができる。ホームディレクトリは、ユーザーがSFTPで接続した際に最初に表示される場所で、最初はルートディレクトリ(/)に設定するのが一般的だが、後で変更することも可能だ。これら全ての設定が完了したら、「追加」をクリックしてローカルユーザーを作成する。

SFTP設定が完了したら、実際にSFTPクライアントツールを使って接続してみよう。様々なSFTPクライアントが存在するが、ここでは広く使われている「FileZilla」を例に説明する。SFTP接続には、ホスト名、ユーザー名、パスワードまたはSSHキーの3つの情報が必要だ。ホスト名は、SFTPサーバーのアドレスで、Azureの場合、「<ストレージアカウント名>.blob.core.windows.net」の形式になる。ユーザー名は、先ほどAzureで作成したローカルユーザーのユーザー名で、Azureの場合、「<ストレージアカウント名>.<ローカルユーザー名>」の形式になる。パスワードまたはSSHキーは、認証方法として設定したものを使用する。

FileZillaを開き、「ファイル」メニューから「サイトマネージャー」を選択し、「新しいサイト」をクリックする。プロトコルとして「SFTP」を選択し、ホスト名に「<ストレージアカウント名>.blob.core.windows.net」を入力する。ログオンの種類は、Azureで設定した認証方法に応じて「パスワード」または「キーファイル」を選択する。パスワードの場合は、ユーザー名とパスワードを入力し、キーファイルの場合は、作成したキーファイルのパスを指定する。全ての情報を入力したら「接続」をクリックする。正しく設定されていれば、FileZillaはAzureのSFTPサーバーに接続され、ファイルをアップロードしたりダウンロードしたりできるようになる。

SFTP機能は有効になっている時間に対して課金が発生するため、不要な時は無効にすることでコストを節約できる。SFTPを無効にする方法はいくつかある。最も簡単な方法は、Azure Portalを利用することだ。SFTPを設定したストレージアカウントを開き、左側のメニューから「SFTP」を選択すると、「SFTPの無効化」ボタンが表示されるので、それをクリックするだけで無効にできる。また、PowerShellやAzure CLIといったコマンドラインツールを利用して、SFTPの有効・無効を制御することも可能だ。例えば、PowerShellであれば「Set-AzStorageAccount」コマンドレットを使って、「-EnableSftp $false」というパラメータを指定することでSFTP機能を無効にできる。これにより、特定のスケジュールで自動的にSFTP機能を有効にしたり無効にしたりするような運用も実現できるため、効率的なコスト管理が可能になる。

Azure SFTPは、企業が外部パートナーとファイルを安全にやり取りしたり、システム間のデータ連携を自動化したり、あるいは単にデータを安全に移動させる必要がある場合に、非常に強力で管理しやすいソリューションを提供する。このソリューションはAzureのサービスにネイティブに組み込まれており、きめ細やかなアクセス権限の設定、柔軟な認証オプション、そして必要に応じて機能を有効・無効にできる柔軟性を持っている。システムエンジニアを目指す皆さんにとって、このようなクラウドネイティブなセキュアファイル転送の知識と実践スキルは、今後のキャリアにおいて大きな強みとなるだろう。

関連コンテンツ

関連IT用語

関連ITニュース