Azure App ServiceでクラシックASPを動かす

クラシックASP(Active Server Pages)という古ーい技術があります。
VBScriptやJScriptでサーバーサイド処理を記述して、IIS(Webサーバ)上で動くWebアプリを作ることができます。

一時期やってたので最近のPaaS環境で動かす方法ってあるのかなーって探してみたら…
App Service は、ASP.NET、クラシック ASP、node.js、PHP、Python などの各種の開発フレームワークをサポートしています。

Azure App Service におけるオペレーティング システムの機能
ありました。

AzureのApp Serviceを使えば動かせるみたいです。


やってみましょう。

App Serviceを作成

まずはコードをデプロイするためのApp Serviceを作成します。
ランタイムはASP.NET、OSはもちろんWindows。
プランは無料のF1を選択します。
テストだし、お金もかかりそうな気がするので監視はオフ。
App Serviceを作成します。
しばらくするとデプロイが完了しデフォルトページにアクセスできるようになります。
クラシックASPは32bitモードでしか動かないので構成を変える必要がありますが、このプランでは32bitに固定されているので変更する必要はありません。

ASPコードをデプロイ

デプロイ センターからデプロイの手法を選択します。
今回はOneDriveからデプロイを行います。

構成を済ませると紐づけたWindowsアカウントのOneDriveに「アプリ\Azure Web Apps\App Service名(この例だとclassic-asp-on-app-service)」のディレクトリができます。

ここに置いたファイルをそのまま公開ディレクトリにデプロイできるようになります。
「index.asp」と「web.config」を作成し、OneDriveにアップロードします。
<html>
<body>
<%
Response.Write "<p>Hello Classic ASP on Azure App Service</p>"
%>
<p><%= Now() %></p>
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <defaultDocument>
            <files>
                <clear />
                <add value="index.asp" />
                <add value="index.html" />
            </files>
        </defaultDocument>
    </system.webServer>
</configuration>
アップロードが完了したらデプロイ センターで「同期」を実行してコードをデプロイします。
URLに再度アクセスするとASPコードが実行されてページが表示されています。
https://classic-asp-on-app-service.azurewebsites.net/

クラシックASPをまだMSがサポートする気があったのに驚きです。
まだまだ延命できそうですね…。