AWS Cloud9でASP.NET Coreを使ってみる
AWS Cloud9でASP.NET Coreを使ってみる:
AWS Cloud9で.NET Coreを使う方法は以下で紹介されています
AWS Cloud9 ユーザーガイド:AWS Cloud9 の .NET Core サンプル
Qiita:Amazon Cloud9 で .NET Core を動かしてみた
じゃあこの延長で、「ASP.NET Coreはどうやるんだろ?」と思って調べてみました。
上記の「AWS Cloud9 ユーザーガイド」の手順どおり、Cloud9の環境を作成して.NET Core 2.1 SDKをインストールします。2018年11月時点では
dotnet new コマンドでRazor ページのテンプレートを使ってアプリケーションを作成します。
dotnet run コマンドでアプリケーションを実行します。
ですが、アプリケーションをプレビューしようとしても表示されません。
これは以下のページ記載されている
と設定されているのを以下に変更します。
変更後に再度dotnet run コマンドでアプリケーションを実行してプレビューすると表示されます。
上記のようなIDE内のプレビューだけでなく、以下の方法でアプリケーションを確認するケースも試してみます。
AWS Cloud9 ユーザーガイド:実行中のアプリケーションをインターネット経由で共有する
まず上記のステップ2「インスタンスのセキュリティグループを設定する」で記載されているように、Cloud9で使用しているEC2インスタンスのセキュリティグループのインバウンドにポート8080でHTTP通信を追加します。
同じようにステップ3「インスタンスのサブネットをセットアップする」も設定しておきます。(もしかするとデフォルトで設定されているかも)
最後にステップ4「実行中のアプリケーションの IP を変更する」を設定します。アプリケーションのURLをEC2のプライベートIPにしておきます。
これで完了です。あとはブラウザにアプリケーションのURLとして
現時点でCloud9ではデバッグやコードヒントが使えまないので開発環境として使うならVisual Studio Codeが良さげですが、.NET Coreを利用するまでやアプリケーションのプレビューも簡単に設定できるので今後の展開に期待したいです。
はじめに
AWS Cloud9で.NET Coreを使う方法は以下で紹介されていますAWS Cloud9 ユーザーガイド:AWS Cloud9 の .NET Core サンプル
Qiita:Amazon Cloud9 で .NET Core を動かしてみた
じゃあこの延長で、「ASP.NET Coreはどうやるんだろ?」と思って調べてみました。
.NET Core 2.1 SDKのインストール
上記の「AWS Cloud9 ユーザーガイド」の手順どおり、Cloud9の環境を作成して.NET Core 2.1 SDKをインストールします。2018年11月時点では2.1.403
がCurrent
かつLTS
なのでこちらをインストールしておきます。
ASP.NET Core アプリの作成
dotnet new コマンドでRazor ページのテンプレートを使ってアプリケーションを作成します。dotnet new razor -o RazorApp1
ASP.NET Core アプリの実行
dotnet run コマンドでアプリケーションを実行します。cd RazorApp1 dotnet run
これは以下のページ記載されている
IDE 内からアプリケーションをプレビューするには、まずポート 8080、8081、または 8082 を経由して、IP 127.0.0.1、localhost、または 0.0.0.0 で HTTP を使用して、AWS Cloud9 development environment で実行している必要がありますに沿ってアプリケーションを実行していないのが原因です。解決するにはRazorApp1/Properties/launchSettings.jsonの
AWS Cloud9 ユーザーガイド:AWS Cloud9 Integrated Development Environment (IDE) で実行中のアプリケーションをプレビューする
applicationUrl
を修正する必要があります。"applicationUrl": "https://localhost:5001;http://localhost:5000",
"applicationUrl": "http://localhost:8080",
ASP.NET Core アプリの実行(その2)
上記のようなIDE内のプレビューだけでなく、以下の方法でアプリケーションを確認するケースも試してみます。AWS Cloud9 ユーザーガイド:実行中のアプリケーションをインターネット経由で共有する
まず上記のステップ2「インスタンスのセキュリティグループを設定する」で記載されているように、Cloud9で使用しているEC2インスタンスのセキュリティグループのインバウンドにポート8080でHTTP通信を追加します。
同じようにステップ3「インスタンスのサブネットをセットアップする」も設定しておきます。(もしかするとデフォルトで設定されているかも)
最後にステップ4「実行中のアプリケーションの IP を変更する」を設定します。アプリケーションのURLをEC2のプライベートIPにしておきます。
"applicationUrl": "http://[プライベートIP]:8080",
http://[パブリック IP]:8080
と入力すれば他のブラウザからでもアクセスできます。お決まりですが、パブリック IPはElactic IPで固定しておくと便利です。
コメント
コメントを投稿