インフラSEのぼちぼち備忘録

非登録セキスぺの情シスがMicrosoft関連技術(Azure、Windows、Exchange、SystemCenter、SQL、Powershell)を中心とした備忘録を残していきます。圧倒的にインフラよりです。たまにネットワークのことも書きます。※本アカウントの発信内容、その他は所属する組織の見解ではありません。

Azure Toolkit for Eclipse からHello Worldをデプロイ(おまけでVisual Studioの暗号化を確認)

docs.microsoft.com

新規⇒その他 f:id:kurone810:20180424235337p:plain

動的Webプロジェクト⇒次へ f:id:kurone810:20180425000000p:plain

プロジェクト名"WebAppTest"としておきました。 f:id:kurone810:20180425000424p:plain

JSPファイルを新規作成したい。 WebAppTestを右クリックし、再度その他 f:id:kurone810:20180425000901p:plain

f:id:kurone810:20180425000923p:plain

ファイル名をindex.jspに変えました。 f:id:kurone810:20180425001119p:plain

せっかくなのでに

<% out.println("Hello World!"); %>

f:id:kurone810:20180425001335p:plain

Publish f:id:kurone810:20180425001654p:plain

f:id:kurone810:20180425001823p:plain

事前にリソースグループ、Appserviceがなくてもデプロイ時の画面で選べます。 f:id:kurone810:20180425001918p:plain

f:id:kurone810:20180425002052p:plain

f:id:kurone810:20180425002118p:plain

配置準備が整いましたね f:id:kurone810:20180425002334p:plain

f:id:kurone810:20180425002439p:plain

f:id:kurone810:20180425002511p:plain

あら、簡単。 f:id:kurone810:20180425002738p:plain

AzurePortalを開くことなく、ResourceGroup,AppservicePlan,実際のアプリデプロイまでできました。

ただ、リソースマネージャへの通信は暗号化されてますが、アプリの配置としてバックグラウンドで動いてるのはFTPの平文なのでWireSharkで見ると簡単にユーザー名、パスワードが見えちゃいます。

覚えておいた方がいいかもですね。 f:id:kurone810:20180425003900p:plain

ちなみに Visual Studio 2017からASP.NETをWeb Appsにデプロイすると 何も考えなくても暗号化されてました! f:id:kurone810:20180425005831p:plain

Azure Toolkit for Eclipse をWindows10 に入れてみました。

5年ぶりくらいにJAVAを復習してたんですよね。 基礎からやり直しということでEclipseの開発環境を作ったのですが、せっかくなので何処かデプロイ環境も作りたい。

今回はWindows10端末に Azure Toolkit for Eclipse をインストールします。

docs.microsoft.com

事前にEclipseは導入済みです。 Eclipse 日本語化 | MergeDoc Project Pleiades - Eclipse プラグイン日本語化プラグイン より Eclipse 4.6 Neonを選択。

ヘルプの新規ソフトウェアのインストールを選択。 f:id:kurone810:20180424003914p:plain

"作業対象"に次のアドレスを入力。

http://dl.microsoft.com/eclipse/

  • "Azure Toolkit for Java "をチェック。
  • "必須更新ソフトウェアを検索するためにインストール中にすべての更新サイトに接続する(C)"のチェックを外す。 f:id:kurone810:20180424004335p:plain

PaaSへのデプロイで使いそうなものが一通り入ってる感じですね。 f:id:kurone810:20180424004955p:plain

ライセンスも確認しておきましょう。 f:id:kurone810:20180424005151p:plain

ソフトウェアのインストールがバックグランドで実行されます。 f:id:kurone810:20180424005516p:plain

1分くらいで完了です。はやいですね! f:id:kurone810:20180424005556p:plain

Eclipse再起動するとHDInsight用の追加のScala Pluginを入れてくれということです。 f:id:kurone810:20180424010006p:plain

自動インストールに失敗したので手動で入れてくれとのこと。 f:id:kurone810:20180424010318p:plain

なるほど、互換性がないようです。 当面はHDInsightを利用する予定はないのですが注意が必要かもしれません f:id:kurone810:20180424010438p:plain

調べてみましたが、下記SampleでもNeonを利用していることから詳細調査が必要かも。今は先送りです。 docs.microsoft.com

2018/4/24  PleiadesEclipse 4.7 Oxygenで試したところScalaも導入できました。 f:id:kurone810:20180424143128p:plain

f:id:kurone810:20180424143400p:plain

何はともあれHDInsight以外は問題なく導入できたようなので サイン・イン f:id:kurone810:20180424011705p:plain

Automated ⇒ 新規を選択します。 f:id:kurone810:20180424012503p:plain

先進認証ですね。 f:id:kurone810:20180424012620p:plain

User配下に接続ファイルが保存されるようです。 f:id:kurone810:20180424013125p:plain

正常に取得できましたね。 f:id:kurone810:20180424013511p:plain

取得したてのファイルでアクセスです。 f:id:kurone810:20180424013730p:plain

あとはShow Azure Explorerとか便利に使えます。 f:id:kurone810:20180424014057p:plain

とりあえずここまでです。

次はWebAppsにHello Worldとかデプロイしてみたい!

Azure Service Fabricを試そう その5 マニフェストって何?

さて、久しぶりにJAVA開発環境とか整えてたらService Fabric触れてなかった。。。反省。

まだ使いこなせていないけれど Service Fabricの醍醐味はマニフェストファイルだと思っています。 docs.microsoft.com

前回デプロイしたディレクトリ構成を確認すると、 VotingにApplicationManifest.xmlが配置されています。

f:id:kurone810:20180416011237p:plain

そして、FrontとなるazurevotefrontPkgの中にはServiceManifest.XMLが確認できます。(DB側にもあります。)

f:id:kurone810:20180416011945p:plain

見たところ、Web層がStatelessで動いているのはいいとして DBがStatelessもで動いていますね。

また、Webの待ち受けポートが80番です。

次回以降、 1. DBがステートを持たないのはいかがなものかと思いますので、 Statefullなサービスを試してみましょう。

2. Webフロントでhttpsを提供する構成を考えてみましょう。

SSLに関してはややこしければ、オフロードしてあげてもいいような気もしますが。 一応やり方は抑えといたほうがいいよね!ってことで。

Web AppsのApp Serviceプランを分割、ダウングレード

Web Appsって手軽でいいですよね!

詳細は下記をどうぞ!

Azure Web Apps のドキュメント - チュートリアル、API リファレンス | Microsoft Docs

課金はApp Serviceプランという箱によって発生し、 一つApp serviceのプランに複数のアプリケーションを割り当てることもできます。

f:id:kurone810:20180410001221p:plain

Standardで作成したアプリケーションを 後からFreeに分割しつつダウングレードすることがAzure Portalからできるようになってました!便利!

  • Web App (App Serviceプラン Standard) を作成
  • App service のFree Plan を作成
  • Web Appを Free Planに紐づけ

Web App (App Serviceプラン Standard) を作成

Azure PortalからWeb Appを作成します。
f:id:kurone810:20180410003619p:plain

アプリ名:standard001
プラン:standard
ResouceGroup:Appservice

f:id:kurone810:20180410004058p:plain

standard002も作っておきました。

f:id:kurone810:20180410004807p:plain

1つの1App Service Planに2つのサービスです。

f:id:kurone810:20180410005204p:plain

f:id:kurone810:20180410005304p:plain

App service のFree Plan を作成

App Service プランだけを作成することもできるのです。
f:id:kurone810:20180410005605p:plain

アプリはまだありません。 f:id:kurone810:20180410011618p:plain

Web Appを Free Planに紐づけ

standard002にて ”App Service プランの変更" を選択
f:id:kurone810:20180410011935p:plain

さっき作ったFreeが見えるので選択。
f:id:kurone810:20180410012126p:plain

クリックするとすぐに処理が始まります。 f:id:kurone810:20180410012219p:plain

Freeプランにアプリが移ってきましたね! URL(DNS名)も引き継がれます。便利!
f:id:kurone810:20180410012515p:plain

Service Fabricも面白いけど手軽にhttpsのサイトが 提供できるのは本当にいいですね!

Azure Service Fabricを試そう その4 CloudShellからサンプルアプリをデプロイ(RHEL7.3)

今回は以下の公式ドキュメントをアレンジしつつ サンプルアプリをSFCにデプロイしていきます 。

docs.microsoft.com

公式ブログではAzureCLIをインストールすることが前提になっていますが、せっかくなのでCloud Shellを使えばもっと気軽に試せます。

  • CloudShellにクラスタ証明書を準備しSFCに接続する
  • GitHubからアプリを入手しデプロイする
  • 動作を確認する

CloudShellにクラスタ証明書を準備する

クラウドシェルを選択 f:id:kurone810:20180407010910p:plain

アップロードはGUIから操作できる f:id:kurone810:20180407005427p:plain

ls コマンドで 既定のClouddriveと追加された証明書を確認 f:id:kurone810:20180407011047p:plain

pfx形式をpemに交換します。 f:id:kurone810:20180407011727p:plain

成功したらメッセージが出ます。 f:id:kurone810:20180407011921p:plain

再度lsで確認するとpemが増えています。 f:id:kurone810:20180407012055p:plain

sfctl cluster select --endpoint https://kuronerhel.westus.cloudapp.azure.com:19080 --pem sfcRHEL.pem --no-verify

接続ができていればsfctl node listなどで情報取得が可能です。

f:id:kurone810:20180407013558p:plain

f:id:kurone810:20180407013701p:plain

GitHubからアプリを入手しデプロイする

Git Cloneを確認します。 f:id:kurone810:20180407012649p:plain

git clone https://github.com/Azure-Samples/service-fabric-containers.git

証明書をインストーラと同様のディレクトリに配置します。 f:id:kurone810:20180407014237p:plain

cd service-fabric-containers/Linux/container-tutorial/Voting/

f:id:kurone810:20180407014534p:plain

./install

f:id:kurone810:20180407014815p:plain

アプリケーションがデプロイできました。

動作を確認する

Service Fabric Explorer を確認すると、APPLICATIONのカウント1となったことが確認できます。 f:id:kurone810:20180407014925p:plain

2層構造のWebアプリですが、

サービスは2ノードタイプ(PRIME・FRONT)のうち、FRONTで動作していることがわかります。 f:id:kurone810:20180407015830p:plain

FRONTのロードバランサに割り当てられたパブリックIPにブラウザからhttpでアクセスすると、Votingアプリで遊べます。

f:id:kurone810:20180407020044p:plain

以上です。

RHEL7.3でも問題なくLinuxのサンプルアプリで遊べそうです。

いったんここで一区切りとなります。

次は気が向いたらサンプルアプリのマニフェストファイルをいじってみようかな?

Azure Service Fabricを試そう その3 作業端末からExplorerにアクセス(RHEL7.3)

rさて、それでは作成したService Fabric Clusterにサンプルアプリをあげて遊んでみようかと思います。

何はともあれ、Service Fabric Clusterにアクセスを試してみましょうか。

  • 作業端末に証明書の導入
  • Service Fabric Explorerにアクセス  

証明書の導入

準備として作業端末に証明書をインポートしときます。

セキュリティとしては作業アクセスのための証明書は別に発行しておいて利用した方がいいと思います。 安易にKeyVaultからクラスター証明書をエクスポートしないほうがいいとも思いますが、 とりあえずクラスターの証明書を利用して接続確認を取ります。m( )m

KeyVaultが作成されていることを確認 f:id:kurone810:20180405234849p:plain

Service Fabricをデプロイ時に指定した証明書を確認。 f:id:kurone810:20180405234344p:plain

クリックするとPFX/PEM形式でダウンロードできます。 f:id:kurone810:20180405235322p:plain

ダウンロード出来たら端末にインポートしましょうか。 f:id:kurone810:20180405235645p:plain

パスワードが聞かれますが、空のまま次へ

f:id:kurone810:20180405235819p:plain

規定値でインポートします f:id:kurone810:20180405235903p:plain

完了

Service Fabric Explolerにアクセス

Service Fabric Explolerのアドレスにアクセスしてみます。 f:id:kurone810:20180406005107p:plain

自己署名のため、警告が出ます。 確認して進みましょう。 f:id:kurone810:20180406005453p:plain

非推奨ですが・・・ f:id:kurone810:20180406005554p:plain

アクセスできました!7ノードのポンデリn・・・( ^ω^)・・・ f:id:kurone810:20180406005650p:plain

SYSTEMにてクラスターサービスを維持するためのサービス群が動作してることが確認できます。

f:id:kurone810:20180406010109p:plain

次回こそはアプリを挙げてみるぞ。

Azure Service Fabricを試そう その2 Azure Portalから作成(RHEL7.3)

Azure Service Fabricを試してみます。

 

まずはAzure Portal から  Service Fabricクラスターを選択

f:id:kurone810:20180405000812p:plain

 

 

いつの間にかRHEL7.3が選べるようになってました!

f:id:kurone810:20180405003052p:plain

 

 

次はノードタイプ数、各種設定を選びます。

ノードタイプは一つのVMSS+LBのセットです。とりあえず使ってみるということで適当に。

f:id:kurone810:20180405003957p:plain

 

 

AzurePortalからは1~3まで選ぶことができますが、テンプレートデプロイなどパラメーターを編集すれば必要に応じて追加できる感じですかね。

 

Service Fabricをデプロイすると、クラスタ管理サービスが追加されてWEB管理、API管理ができるようになりますが既定のポート番号を変更できるようになっているようです。

 

とりあえず2ノードタイプでサイズを変えてみました。

f:id:kurone810:20180405004656p:plain

 

セキュリティの標準はKeyVaultの自己証明書ようです。

Service Fabric作成手順内でKeyVaultの作成と証明書発行が実施可能ですね。

 

f:id:kurone810:20180405005305p:plain

アクセスポリシーの詳細を編集しAzure Virtual Machineへのアクセスを有効にします。

 

 

 

自己証明書を作成。

f:id:kurone810:20180405005655p:plain

 

 

さぁデプロイです。

f:id:kurone810:20180405010520p:plain

 

一通りAzureのデプロイが完了した後も、Azure Service Fabricのデプロイ処理があり、

しばらく時間がかかります。(時間はインスタンスサイズが影響すると思われます)

f:id:kurone810:20180405010719p:plain

 

 

 

 

準備完了!

f:id:kurone810:20180405064736p:plain

 

 

ノードが見えます(^^)/

f:id:kurone810:20180405064844p:plain

 

 

さて、オプション設定などは特にいじらず作ってみましたが、

次は、いろいろ遊んでみようかなと思います。