システム開発について(Azureを利用しての環境構築)

Posted on

はじめまして、JMTの波多野です。

私はシステム開発をテーマに投稿して行きたいと思います。
Cloudサービスを利用しての開発やシステム開発における問題点の共有、おすすめのツールなどについて書いていきます。

 

第1回目の今回は「Microsoft Azure」利用時のシステム開発準備段階での時間、手間削減について簡単ではありますが紹介させていただきます。


システム開発の大雑把な流れとしては以下になります。※実際は設計等もありますが

(※作業時間はオーバーに書いています)

コーディングに入る以前に環境周りの整備にどうしても時間がかかります。
データベースのサイズはどうするか、IISの設定をどうするか、などなど考えながら構築をしていくとトータルでけっこうな時間を費やすことになります。

準備工程の一部を「Microsoft Azure」のサービスを利用することで作業時間の短縮が可能になります。
Azureサービスを利用して開発を行ったら次のようになります。

②

  • データベース
    SQLデータベース(PaaS)のサービスを利用することで短時間でのデータベース構築が可能です。
    時間にしたらサイズにもよりますが数分で作成することができます。
    ※サイズも後から変更できます
  • Webサーバ
    デプロイ先としての利用ですが、後述する「App Service」へのデプロイを行うことでサーバーとして
    準備する必要がありません。IIS設定など考えなくてよいです。
  • デプロイ
    Webサーバへではなく「App Service」へデプロイします。起動URLもその際に発行されるので動作確認などが簡単に実施することができます。
    ※Visual Studioを利用することでAzureとの連携がよりスムーズになります

 

上記のことからAzureサービスを利用することで”開発環境準備~デプロイ”までにかかる時間、労力が削減できることが少し伝わったかと思います。一からやるのではなく、既に用意されているサービスをそのまま利用することで作業を軽減しましょうという考えです。


 

紹介した内容はAzureサービスの初歩の部分を利用した例になります。私自身もまだまだわかりやすいサービスの利用経験しかありませんが、ほかにももっと有効活用するべきサービスがあるはずです。
今後はAzureに限らずシステム開発を効率良く進めるためのサービス、ツール、新たな手法などを積極的に実践利用し、その体験をより具体的にご紹介していけたらと思います。

 

LINEで送る

JMTechnology Everywhereプログラムのご案内

Posted on

皆様、はじめまして。

JMTの松野です。

 

私からの投稿は “Microsoft Azure” に関する内容をメインに

技術情報や社内活動を積極的に発信していきたいと思います。

 

今回、ご案内させて頂く内容は、

「JMTechnology Everywhereプログラム」 です。

 

「JMTechnology Everywhereプログラム」 とは・・・・

“Microsof Azure(以下、Azure)”の導入を検討されているお客様、

もしくは、Azureを導入したが上手く活用できてないお客様向けの3日間Azureトレーニング、で御座います。

実施内容は、以下の通り。

20160531_001

 

3日目の最終日には、お客様のAzureで実現したい内容に対し、どういう検討が必要で

どう実現出来るか、どう進めていくか、といったロードマップを提示致します。

 

このプログラムの最大の特徴は、我々JMTechnology が展開するこのプログラムが、

マイクロソフト社が提供するプログラムと同レベル以上である、という点にあります。

 

JMTechnology は、マイクロソフト社の本家プログラムを代行するパートナー会社である為、

「トレーニング内容や技術情報について、同レベル以上のものを提供できる」、というカラクリです。

 

 

この度、マイクロソフト社より正式にサービス化の許可を頂きましたので、

「JMTechnology Everywhereプログラム」 という名称でサービスイン致しました。

 

Azure の大規模利用を検討、もしくはプレミアムサポート加入が前提となる本トレーニング、

JMTechnology からは、”Azureにご興味あるお客様” に積極的に実施してまいります。

ご興味ある方は是非、ご連絡ください。

===

お電話番号: 03-6826-8749

メール: Azure-EveryWhere@jmtech.co.jp

===

 

皆様のご連絡、心からお待ちしております。

LINEで送る

Raspberry PiをCookする(第2回)

Posted on

 新年、あけましておめでとうございます。
JMTのIoTブログ更新担当です。
最近、ニュースでもIoTのキーワードを見聞きする事が増えてきました。
今朝のニュースでも、自動車の自動運転の技術が格段に進むとか、
頭に取り付けたゴーグル型の端末で広がるバーチャルリアリティの
世界など色々とやっておりました。
2014年がIoT元年で、今年は3年目、更にスピードを上げて様々な
IoTサービスの芽が出てくるものと思われます。
われわれJMTとしても、微力ながら社会の役に立つ仕組みを提案でき
て行けたらと考えております。
20160110_001
出典:pixabay
20160110_002
出典:pixabay
さて、第一回は『Raspberry Piのインストール』について投稿しました。
第二回は、『Raspberry PiをSSHで接続できるようにする方法と、WiFiで
接続できるようにする方法』
について投稿したいと思います。

 

【Raspberry PiをSSHで接続できるようにする手順】

1.システム設定でSSHを許可します。操作は、全てスーパーユーザーで行います。

root@raspberrypi: /home/pi# raspi-config

システムコンフィグレーションメニューで以下のように設定します。
20160110_004

2.ネットワークを固定化します。(固定IP方式で設定する場合です)

 ネットワーク設定に、IPアドレス、サブネットマスク、ゲートウェイを設定します。

root@raspberrypi: vi /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0              
allow-hotplug eth0     
iface eth0 inet manual 
address 192.168.***.***  <--                   ※*** 部分は、ご自身の環境に合わせてください。
netmask 255.255.***.***  <--
gateway 192.168.***.***  <--

<省略>

3.再起動します。再起動後、TeraTermでSSHログインできます。

root@raspberrypi: reboot

 
【Raspberry PiをWiFiで接続できるようにする手順】

WiFiアダプタは、今回はBuffaloのWLI-UC-GNMEを用意しました。

1.WiFiアダプタを接続します。

初めは、イーサーネットケーブルも接続した上で、行った方が良いです。
20160110_003

 
2.システムを更新します。

パッケージ、ファームウェアは最新の状態で行った方が良いので、システムを更新します。

root@raspberrypi:/home/pi# sudo apt-get update      <--パッケージのアップデート
root@raspberrypi:/home/pi# sudo apt-get upgrade     <--パッケージのアップデート
root@raspberrypi:/home/pi# rpi-update               <--カーネル、ファームウェアのアップデート

3.無線LAN定義ファイルに定義を追加します。

 無線LAN定義ファイル(/etc/wpa_supplicant/wpa_supplicant.conf)は、予め別名でバックアップを取っおくとよいでしょう。
 無線LAN定義ファイルに以下の通り追加します。

root@raspberrypi:/home/pi# vi /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="[接続ID]" 
    psk="[パスフレーズ]" 
}

4.ネットワーク設定ファイルの設定を変更します。

 ネットワーク設定ファイル(/etc/network/interfaces)は、予め別名でバックアップを取っおくとよいでしょう。
 IPアドレスが変わると都合が悪いので、今回は固定IPで設定するようにします。

root@raspberrypi:/home/pi# vi /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet manual
address 192.168.***.***                   ※*** 部分は、ご自身の環境に合わせてください。
netmask 255.255.***.***
gateway 192.168.***.***

auto wlan0
allow-hotplug wlan0
#iface wlan0 inet manual                               <--コメントにします。
#    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf  <--コメントにします。
iface wlan0 inet static                                <--追加します。
    address  192.168.***.***                           <--追加します。
    netmask  255.255.***.***                           <--追加します。
    gateway  192.168.***.***                           <--追加します。
    dns-nameservers ***.***.***.***                    <--追加します。
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf   <--追加します。

auto wlan1
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

5.無線LANを再起動します。

 ファイルの設定が完了したら、以下のコマンドで無線LANを再起動します。

root@raspberrypi:/home/pi# ifdown wlan0
root@raspberrypi:/home/pi# ifup wlan0

6.接続確認します。

 イーサーネットケーブルを外し、WiFi接続できるかヤフーに接続し確認します。

root@raspberrypi:/home/pi# ping yahoo.co.jp
PING yahoo.co.jp (182.22.59.229) 56(84) bytes of data.
64 bytes from f1.top.vip.ssk.yahoo.co.jp (182.22.59.229): icmp_req=1 ttl=50 time=23.5 ms
64 bytes from f1.top.vip.ssk.yahoo.co.jp (182.22.59.229): icmp_req=2 ttl=50 time=26.0 ms
64 bytes from f1.top.vip.ssk.yahoo.co.jp (182.22.59.229): icmp_req=3 ttl=50 time=23.6 ms
^C
--- yahoo.co.jp ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 23.585/24.419/26.007/1.130 ms
root@raspberrypi:/home/pi#
LINEで送る

Raspberry PiをCookする(第1回)

Posted on

 今回から複数回にわたり、RaspberryPiについての実証手順と結果として投稿したいと思います。
RaspberryPiはイギリスのラズベリーパイ財団が提供している名刺サイズのコンピュータです。
raspberry-pi-572481_640
出典:pixabay

早速ですが、第一回は、インストールについてです。

【レシピ】

事前に、以下を用意しておきます。

●Raspberry Pi本体(Raspberry Pi 1 Model B+)

●USBケーブル(片方がタイプA、もう片方がマイクロBのもの)※電源用

●HDMIケーブル

●USBマウス

●USBキーボード

●マイクロSDカード(8G)

Raspberry Pi本体にUBSケーブル、HDMIケーブル、マウス、キーボードを接続し、HDMIケーブルとCRTを接続しておきます。

 

【手順】
1.マイクロSDカードをフォーマットします。

マイクロSDカードをUSBカードリーダーに挿入し、PCにUSB接続して、FAT32形式でフォーマットします。
お使いのマイクロSDカードが、エクスプローラーでのフォーマットの際に容量が一致しない場合(8GBなのに64MBと表示されるなど)は、以下のフォーマッタをご使用ください。
https://www.sdcard.org/jp/downloads/formatter_4/

2.OSをダウンロードします。

Debian, Fedora, Arch Linux, RISC OSが公式に提供されるOSですが、今回は「Raspbian」をインストールするものとします。
公式Webサイト(https://www.raspberrypi.org/downloads/ )のNOOBSをクリックし、NOOBSのDownloadZIPよりダウンロードします。

OS_DL01 OS_DL02

3.ZIPファイルを解凍結果をマイクロSDカードにコピーします。

4.ダウンロードしたNOOBS_v1_4_1.zipを解凍し、解凍フォルダ内のすべてのフォルダとファイルをマイクロSDカードにコピーします。

5.マイクロSDカードをRaspberry Pi本体のカードスロットに挿し、USB電源コードをPCに挿します(注1)。インストール画面が起動します。

注1).他のケーブル類を全て接続した上で、USB電源コードを挿してください。

6.Raspbian[RECOMMENDED]を選択し、Installをクリックします。

「本当にイメージを書込んで・・・データは削除されます」[はい]をクリックします。インストールが開始されます。
インストールが完了すると「OS Installed Successfully」のメッセージが表示されます。[OK]をクリックするとOSが起動します。

7.OS起動後の設定

日本語環境にするため3つの設定をします。
・キーボードを日本語配列にします。
「4 Internationalization Options」

└→「I3 Change Keyboard Layout」

└→「Generic 105-key (Intel) PC」

└→(「Other」)

└→「Japanese – Japanese (OADG 109A)」

└→「The default for the keyboard layout」

└→「No compose key」

の順に選択します。
・アプリケーションのメニューなどを日本語で表示するためのロケール設定
「4 Internationalization Options」

└→「I1 Change Locale」

└→「ja_JP.UTF-8 UTF-8」

└→「ja_JP-UTF-8」

の順に選択します。
・時計の時刻を日本時間にします。
「4 Internationalization Options」

└→「I2 Change Tinezone」

└→「Asia」

└→「Tokyo」

の順に選択します。
「Finish」を選択して設定ツールを終了します。

8.OSを起動します。

pi@raspberrypi~$ startx

thumb_400_05_px400

Raspberry Pi のデスクトップが表示されます。

LINEで送る

Azure HDInsight Spark を試してみた2

Posted on

JMT西森です。

今回は、話題をAzure HDInsight Sparkに戻して、
前回作成した Azure HDInsight Spark 環境が
どんな状態になっているのか見てみます。

Azure Consoleの画面下にある、「SPARK DASHBOARD」を選択します。
20151112_001

IDとパスワードの入力を求められるため、
前回指定したIDとパスワードを入力してください。
認証に成功すると下記画面が表示されます。
20151112_002
ここでSpark環境の状態確認や、Storage Account上の
データの確認、Hiveを使用したクエリ実行が可能です。
他にもJUPYTER NOTEBOOKやZEPEPLIN NOTEBOOKへのリンクがあり、
Webブラウザ上からPythonやSparkSQLを使ったグラフ化等が可能です。

1. Resource Manager
Spark環境の様々なパラメータを確認、変更することが可能です。
20151112_003

2. Notebooks
Jupyter Notebook 及び Zeppelin Notebook へのリンクがあります。
また Azure Console 画面下にもリンクがあります。
20151112_004

3. File Browser
Spark環境が使用している、Azure Storage Account が表示されます。
アカウントをクリックするとコンテナが表示され、さらにそのコンテナを
クリックすると各フォルダが確認できます。
20151112_005

アカウント名をクリックすると、コンテナが表示されます。
20151112_006

コンテナをクリックすると、各フォルダが表示されます。
20151112_007

4. Hive Editor
Hive(リンク)を使ったSQL(HiveQL)の発行、及び結果の参照が可能です。
デフォルトではサンプルテーブルに対するSelect文が埋め込まれており、
この状態のまま右下の「Submit」をクリックすることで処理が実行されます。
20151112_008

ジョブが完了した(StatusがComplated)ら、「View Details」を選択します。
20151112_009

サンプルデータを確認することができます。
「Job Queue」が発行したHiveQL文になります。
「Job Output」が実行結果になります。
「Job Log」がHiveQL実行ログになります。
20151112_010
なおどちらも、Download Filesボタンで出力をファイルでダウンロード可能となっています。

ちなみにサンプルデータとなる hivesampletable の実体は、Storage Account上にあるテキストファイルです。
先程の「File Browser」から辿っていくことで、実体ファイルを確認することが可能です。
20151112_011

5. Quick Links
各種ドキュメントへのリンク集です。

今回説明したのはWebブラウザ上で出来ることのみ記載しましたが、
中身はWindows Serverなので、RDPでOS環境に接続することも可能です。

次回はサンプルデータを使って、Hiveを使用した解析を行ってみたいと思います。

LINEで送る

AzureActiveDirectoryDomainServicesを試してみる

Posted on

JMT西森です。

個人的に非常に待望していた、Azure Active Directory に
ドメイン機能がパブリックプレビューされました!!!

ということで、Spark?ナニソレ??といわんばかりに予告をスルーして、
こちらの機能を色々と試してみたいと思います。

今回はとりあえず、Azure Active Directory Domain Services
(以下、AADDS)を有効にして、Azure VMのマシンをドメイン参加
させるところまでやってみたいと思います。

長い説明となってしまうので、最初に流れだけ説明すると…
 1. AAD作成
 2. ユーザ作成&管理者権限付与
 3. 仮想ネットワーク作成
 4. ドメインサービスを有効可
 5. 仮想ネットワークでDNS設定
 6. ユーザーのパスワードリセット
 7. VM作成し、ドメイン参加
という感じです。それでは、やってみましょう。

 

1. AAD作成
AADを作成します。
20151022_001

20151022_002

20151022_003

 

2. ユーザー作成&管理者権限付与
AADでユーザーを作成します。

20151022_004
画面下の「ユーザーの追加」をクリック。

20151022_005

20151022_006

20151022_007

20151022_008
パスワードは後半で使うので忘れないようにしましょう。

20151022_009
画像では5つ作っていますが、とりあえず1つで大丈夫です。

今度は作成したユーザーに管理者権限を付与します。ユーザの詳細画面に移動します。

20151022_010

上の画面を下にスクロールすると、【ロール】があります。
ここが通常は「組織のロール:ユーザー」になっていますが、
これを「サービス管理者」に変更して、保存してください。

20151022_011

 

3. 仮想ネットワーク作成
AADDSが所属するための仮想ネットワークを作成します。

20151022_012

20151022_013

20151022_014

20151022_015

 

4. ドメインサービスを有効可
AADにて、ドメインサービスを有効にします。
1.で作成したAADの画面に移動して、「構成」を選択します。

20151022_016

下にスクロールすると、【ドメインサービス(プレビュー)】がありますね。
これを有効にし、DNSドメイン名を指定(デフォルトのままにしました)し、
有効にする仮想ネットワーク(2.で作ったネットワーク)を指定します。
指定したら忘れずに保存してください。

20151022_017

なお結構時間がかかります。私の環境では30分から40分程度でした。
正常に完了すると、下記のような画面になります。

20151022_018
IPアドレスが付与されています。2つあるようです。
ここだけ見ると、ADが2台あるように見えます。

 

5. 仮想ネットワークでDNS設定
3.で作った仮想ネットワークの画面に移動して、「構成」を選びます。
DNSサーバの設定箇所があるので、上で表示された、IPアドレスを付与します。
なお名称は任意で構いません。

20151022_019

 

6. ユーザのパスワードリセット
この手順が大事です。※2.以降であればいつ実施しても構いません
オンプレADとAADが連携している環境の場合は、再度パスワードをsyncする必要があるようです。
# AADDS上のユーザーのパスワードハッシュが生成されていないから?

今回はシンプルに、ログイン画面からリセットします。
IDは<アカウント名>@<AD名>.onmicrosoft.com、パスワードは2.で表示されるものでログインします。
するとパスワードの有効期限切れで再入力を求められるので、設定を実施してください。

 

7. VM作成し、ドメイン参加
Azure VMを作成し、2.で作ったネットワーク上で起動させます。
なお手順は割愛します。

VM作成完了後、コマンドプロンプトでipconfigの情報をみてみました。

20151022_020

DNS Servers としてADのIPが設定されていることが分かります。

それでは、いつもの手順でドメインに参加してみます。
ドメイン名は 4. で表示されるDNSドメイン名です。
今回の場合だと、【testadjmt001.onmicrosoft.com】になります。
すると、認証画面が出てきました!!!

20151022_021

2. で作成したIPとパスワードを入力します。
すると…

20151022_022

ドメイン参加することが出来ました!
再起動後にコンピュータの情報を見ると、参加できていることが分かります。

20151022_023

今回はここまで。次回はAADDSどのような環境となっているか、色々と調べてみたいと思います。

LINEで送る