会社から(Yamaha RTX1200)、Microsoft Azure のデータセンターにサイト間VPNを接続して仮想マシンにアクセスしてみよう。(VPN:仮想ネットワーク)

概要

Microsoft Azureに仮想サーバを置き、会社のローカルネットワークから、インターネットでアクセスする場合には以下のようにサイト間VPNを接続する方法があります。(仮想プライベートネットワークで仮想プライベートクラウドを実現する)

今回はVPNの接続方法から、仮想マシンを作成して、リモートデスクトップを行うところまで、手順を解説します。

最後のほうに2日後の料金の実測もかいてあります。277円と激安です!!

※今回はサイト間VPN(Azure-Router)を説明します。

※PCから直接AzureにVPNを接続する場合はポイント対サイト接続の構成が必要です。

メリット

  • 簡単にいうと「仮想プライベートクラウド」が実現できる。
  • VPNにて安価のインターネット使用して安全(データが暗号化されているので)にアクセスできます。
  • 会社に設置している、ファイルサーバ等も安全にAzureに設置できます。(バックアップ等を大阪等に冗長化すればディザスターリカバリーとしては良いと思います。)
  • ※Azureはx64 仮想マシンなので、Linuxもインストールできます。
  • ※ファイルデータのみでしたら、「仮想ネットワーク」と「Windows仮想マシン」がなくても、BLOBにデータを置いてhttpsで安全にアクセスする方法もあります。
  • ※仮想マシンのポートをインターネットにオープンすれば、暗号化されていないですが、直接インターネットからアクセスすることも可能です。

価格(2014/04/21日)

概念図

AzureVPN0010

論理図

AzureVPN0015

用意するもの

  • RTX1200 x 1台
  • BFlet’s +プロバイダー(固定IP8個、1個だけ使う)
  • Microsoft Azure

会社側ネットワーク構成(例:Exceedone)

構成 説明
接続メディア ADSL/FTTH など
接続プロトコル PPPoE
WAN 8個 (/29) 固定のグローバル アドレスのうち1個を専有で使用
※IP1個で行う場合は、社内のインターネットのNATと重なると、500番のポート等追加で設定必要

LAN 192.168.0.0/16

Microsoft Azure側ネットワーク構成

サブネット名 アドレス範囲
アドレス空間 10.0.0.0/8
ゲートウェイ 10.10.0.0/24
Subnet-1 10.10.10.0/24
Subnet-2 10.10.20.0/24

仮想ネットワークの作成手順

1. [新規]-[ネットワークサービス]-[仮想ネットワーク]-[簡易作成]で仮想ネットワークを作成する。

仮想ネットワーク – 簡易作成
名前 exceedone
アドレス空間 10.—.—.—
最大 VM 数 65536 (CIDR/16)
アフィニティ グループ作成/地域 日本(東)
既存 DNS への接続 なし

AzureVPN0020

2. [構成]を選んで[仮想ネットワークアドレス空間]を入力して、[保存]する。

サブネット名 アドレス範囲
アドレス空間 10.0.0.0/8
Subnet-1 10.10.10.0/24
Subnet-2 10.10.20.0/24

AzureVPN0030

3. ローカルネットワークを追加する。(会社側のローカルネットワークね!

[Azure]-[ネットワーク]-[ローカルネットワーク]

AzureVPN0040

ローカル ネットワーク
名前 exceedoneloacal
VPN デバイスの IP アドレス RTX1200のグローバル IP アドレス
アドレス空間 192.168.0.0/16

AzureVPN0050

AzureVPN0060

4. サイト間接続にチェックマークを入れる。

[Azure]-[ネットワーク]-[exceedone]-[構成]

[サイト間接続]-[ローカルネットワークに接続する]にチェックを入れる

AzureVPN0070

[サブネット]-[ゲートウェイ]に 10.10.0.0/24 と入力する。

AzureVPN0080

5. 仮想ネットワークにゲートウェイ作成

[Azure]-[ネットワーク]-[exceedone]-[ダッジュボード]-[ゲートウェイ作成]-[静的ルーティング]

10分ぐらいまちます。。。。

AzureVPN0090

完成するとゲートウェイIPアドレスが表示されます。

※ゲートウェイを作成する毎にIPアドレスはかわります。

AzureVPN0100

6. 共有キーのコピー

[Azure]-[ネットワーク]-[exceedone]-[ダッジュボード]-[キーの管理]

キーをコピーします。

AzureVPN0110

7. 会社側のルータ(RTX1200)に以下のコマンド(config)で入力します。

tunnel select 71
 ipsec tunnel 171
  ipsec sa policy 171 71 esp aes256-cbc sha256-hmac anti-replay-check=off
  ipsec ike duration ipsec-sa 71 3600
  ipsec ike encryption 71 aes256-cbc
  ipsec ike group 71 modp1024
  ipsec ike hash 71 sha256
  ipsec ike keepalive log 71 off
  ipsec ike local address 71 192.168.20.1
  ipsec ike local id 71 192.168.20.1
  ipsec ike nat-traversal 71 on
  ipsec ike pre-shared-key 71 text cZGurm9NXXXXXXXXXXXXXXXXXXX
  ipsec ike remote address 71 138.91.5.74
  ipsec ike remote id 71 10.10.0.1
 ip tunnel tcp mss limit 1350
 tunnel enable 71

ip route 10.10.0.0/16 gateway tunnel 71

8. RTX1200でテストします。

以下のように表示されたらOKです。

AzureVPN0130

EXRT02:> show status tunnel 71
TUNNEL[71]: 
説明: 
  インタフェースの種類: IPsec
  トンネルインタフェースは接続されています
  開始: 2014/04/22 15:02:02
  通信時間: 1分50秒
  受信: (IPv4) 222 パケット [7368 オクテット]
        (IPv6) 0 パケット [0 オクテット]
  送信: (IPv4) 9 パケット [786 オクテット]
        (IPv6) 0 パケット [0 オクテット]
EXRT02:> show ipsec sa 
Total: isakmp:1 send:1 recv:12

sa   sgw isakmp connection   dir  life[s] remote-id
-----------------------------------------------------------------------------
1     71   -    isakmp       -    15518   138.91.5.74
2     71   1    tun[071]esp  send 3485    138.91.5.74

9. 仮想サーバを作成して、RemoteDesktopしてみます。

[Azure]-[新規]-[コンピューティング]-[仮想マシン]-[ギャラリーから]

AzureVPN0140

今回は[Windows Server2008 RS SP1]を選択しました。

AzureVPN0150

仮想マシンの構成(2ページ目)

仮想マシン名 vm010-004

新しいユーザ名 snoro

AzureVPN0160

仮想マシンの構成(3ページ目)

リージョン/アフィニティグループ/仮想ネットワーク  exceedone

仮想ネットワークサブネット Subnet-1(10.10.10.0/24)

AzureVPN0170

10分まつと作成されます。

10. IPアドレスを確認します。

※DHCPで自動的にIPアドレスが割り当てられている。

ホスト名: vm010-004

内部IPアドレス: 10.10.10.4

AzureVPN0180

11. まずはVPNの使用せずにリモートデスクトップをしてみます。

以下の接続とするとリモートデスクトップが起動されますので、ユーザ名とパスワードを入力します。

コンピュータ名: vm010-004.cloudapp.net:88888 (例)

ユーザー名: vm010-004\snoro

AzureVPN0190

OKボタンを押すと、リモートデスクトップがひらきます。

AzureVPN0200

12. 続きまして、VPN経由でアクセスしようと思います。

コンピュータ名: 10.10.10.4

ユーザー名: vm010-004\snoro

AzureVPN0210

以下のようにVPNからもアクセスできました。

AzureVPN0220

2日後の料金の実測

なんとプライベートクラウドで、自前でやるとすぐに数十万かかちゃいますよね!!

2日ちょういで277円です!!

  • ゲートウェイ時間 – 仮想ネットワーク
    • 54.33 時間 ¥277
  • データ転送量 – 受信 (GB) – ゾーン 1
    • 5Gまで無料なので ¥0

AzureVPN0230

2日後の接続状況

リモートデスクトップでつないでも問題ない。

Azure上で確認していても以下のように問題ない。

AzureVPN0240

Yamaha RTXで確認してもOKそう。

※syslogはとってないけど。

EXRT02:> show status tunnel 71
TUNNEL[71]: 
説明: 
  インタフェースの種類: IPsec
  トンネルインタフェースは接続されています
  開始: 2014/04/24 11:32:54
  通信時間: 4分42秒
  受信: (IPv4) 25325 パケット [5778070 オクテット]
        (IPv6) 0 パケット [0 オクテット]
  送信: (IPv4) 27218 パケット [14029516 オクテット]
        (IPv6) 0 パケット [0 オクテット]
EXRT02:> show ipsec sa 
Total: isakmp:1 send:1 recv:9

sa   sgw isakmp connection   dir  life[s] remote-id
-----------------------------------------------------------------------------
1     71   -    isakmp       -    22711   138.91.5.74
2     71   1    tun[071]esp  send 3302    138.91.5.74
3     71   1    tun[071]esp  recv 882     138.91.5.74
4     71   1    tun[071]esp  recv 3302    138.91.5.74
5     71   1    tun[071]esp  recv 579     138.91.5.74
6     71   1    tun[071]esp  recv 2398    138.91.5.74
8     71   1    tun[071]esp  recv 1186    138.91.5.74
9     71   1    tun[071]esp  recv 1489    138.91.5.74
10    71   1    tun[071]esp  recv 2095    138.91.5.74
13    71   1    tun[071]esp  recv 276     138.91.5.74
14    71   1    tun[071]esp  recv 1792    138.91.5.74

VPNの課金について

以下のように切断状態では課金されます。(IPアドレスが割り当てられた状態)

ゲートウェイを削除すれば、課金されない状態になります。

AzureVPN0240

感想

とても簡単にVPNはれました!!!Yamaha RTX ルータと Microsoft Azure(MS Cloud)は安い,簡単、セキュアで素晴らしい!!

参考文献

初心者でもわかる。Microsoft Azureのライセンスと価格について

概要

注意)2014/04/15日現在についての説明です。実際には、内容をMicrosoft Azureのサポート様に確認してください。

今回は、Microsoft Azureのライセンスと価格についてできるだけ簡単に説明しようと思います。

Microsoft Azureの機能・価格の詳細はこちらから。
http://azure.microsoft.com/ja-jp/solutions/

仮想マシンに関するよくよせされる質問は以下のURL(ライセンスに関連した話が多い)
http://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/

特徴

  1. Azureは世界中に10のデータセンター(東京、大阪含む)の好きな場所で日本円(クレジットカード)で好きな時間/容量/インスタンス数/ベースの課金でレンタルできる。
    ストレージの冗長化(場所)が可能でディザスターリカバリーにも使えそうです。
    クレジットカードが嫌なら、販売代理店でボリュームライセンス契約で年次でプリペイドで、四半期毎に、超過分を支払うこともできます。
  2. AzureのデータセンターとIPSecでVPNにてインターネットを使ってセキュアに接続することもできます。
  3. ライセンス(OS, CAL)もWindows 2008,2012等すでに用意されているものはコンピューティング料金に含まれているので購入する必要がない。
  4. データストレージは激安約11円/G~
  5. サーバ(Windowsライセンス、CAL込み or Linux ) 2.43円/時間~
  6. SQL Server 509円/100MB~
    SQL Serverは冗長化されています。たまに、接続SQLサーバが変わるので、コネクションをリトライするプログラムが必要です。
    例).NETの場合「DbConfiguration」のコンストラクターに追加「SetExecutionStrategy(“SqlAzureExecutionStrategy”, () => new SqlAzureExecutionStrategy());」
    参考文献) Entity Framework 6 と SQL Azure をうまく使う、たったひとつの冴えたやりかた
  7. Webサーバ(IIS)は無料のものもあります、有料のもは、簡単に冗長化できます。
    Webサーバの冗長化した場合、Webサーバは変わるので、Webのセッション変数は考えて作る必要があります。
    参考文献)[Windows Azure Platform編]セッションの一貫性を確保する

わたしがよく使うバターン別に説明します。

[PaaS (Webサイト/Webサービスの構築)]

[PaaS パターン] – 1.無料でWordpressのサイトを構築したい。

[新規]-[Webサイト]-[ギャラリー]とすると以下のように簡単にWordPressやその他のイメージ(EC Cube, CakePHP)がインストールできます。

MySQLデータベースも自動的に作成されます。(Azureダウンロード転送量1日165MB, DBは20Mまで無料で使用できます。)

※カスタムドメイン(自分の好きなドメイン)にするには有料のものを使わないといけない。

※SSLはAzureのドメインなら無料、カスタムなら有料Webサイトを選ぶ必要があります。

詳細はこちら
http://azure.microsoft.com/ja-jp/pricing/details/web-sites/

AzureFirst010

[PaaS パターン] – 2.Visual Studioで作成した、ASP.NETをAzureに配置したい。

[新規]-[Webサイト]-[簡易作成]でサイトを作成しておき。

そのサイトの[ダッシュボード]から[発行プロファイルのダウンロード]を行います。

AzureFirst020

Visual Studioで発行をするときに、発行プロファイルをインポートすると、Azureに発行できるようになります。

AzureFirst030

[PaaS パターン] – 3. Apache/Tomcat/PHP/Node.JS等のオープン系のサーバを準備したい。

また今度ブログします。

[PaaS パターン] – 4.有料で負荷分散されたWebサーバを構築したい。

また今度ブログします。

[PaaS パターン] – 5.本格的にファイアーウォール、ロードバランサー、自動復旧機能のあるWebサイトを作りたい。

クラウドサービスというのは簡単に表現すると複数の仮想マシンをまとめる機能である。

どうやってまとめるかというと、ロードバランサー仮想マシンの間に挿入され、仮想マシンがロードバランシングされます。

、.NET/Java/Node.js/Python/PHP/Rubyの言語に対応しているとのこと。

具体的にVisual Studioでクラウドサービスを使う場合は以下のようにすればVisaul Studioで発行できます、また自動的にクラウドサービス上に仮想サーバが構築されます。

Office用アプリをWindows Azure に配置する方法(Apps for Office)

  1. Office用アプリをWindows Azure に配置する方法 1(Azure Web ロール編)
  2. Office用アプリをWindows Azure に配置する方法 2(SSL編)
  3. Office用アプリをWindows Azure に配置する方法 3(Office Web Apps編)
  4. Office用アプリをWindows Azure に配置する方法 4(SQL Azure編)
  5. Office用アプリをWindows Azure に配置する方法 5(IIS, ASP セッション管理)
  6. Office用アプリをWindows Azure に配置する方法 6(データベースバックアップ)

[IaaS機能 (仮想環境上に、Windows/Linux 等のOSをインストール)]

[IaaS パターン] – 1.社内のWindows ファイルサーバをAzureに設置しよう。

ライセンス(OS, CAL)については、ギャラリーにあるものは、仮想マシンの時間課金に含まれています。
※OSの例Windows 2008, Windows2012等

※RDS ではサーバーに接続するクライアント側にもアクセスライセンスが必要となります。今後、RDS サブスクライバー アクセス ライセンス (SALs: Subscriber Access Licenses) を購入いただくことにより、Windows Azure 上で稼働している (サーバー管理 / メンテナンス目的ではなく、第三者に提供される) サービスに RDS を通じてアクセスすることが可能になります。
参考文献) Windows Azure 仮想マシンでリモートデスクトップサービスが利用可能に

[新規]-[仮想マシン]-[簡易作成]で仮想マシンを以下のように作成します。

AzureFirst040

当然ながら、仮想マシンと、ストレージ(ページBLOB)が作成されます。

そのストレージの中にOSがインストールされます。仮想マシンはAzureの管理画面から止めると課金はされませんが、ストレージは当然ながら、仮想マシンが止まっていても、容量で課金されます。

さらに、Azureの管理画面からとめずに、リモートデスクトップからshutdownしても、仮想サーバは動いていますので課金されます。(未確認)

以下のように仮想サーバとストレージ(ページBLOB)が作成される。

仮想マシン

AzureFirst050

ストレージ

AzureFirst060

以下のようにOSやSharePoint込みの仮想ハードディスクのイメージもたくさん用意されています。(Windows 2012/Windows Server2008)

AzureFirst070

インターネットから接続をしたい場合は以下のようにエンドポイントにポートを開けてアクセスできるようにします。

標準でPowerShell, Remote Desktop のポートはオープンしています。

AzureFirst080

インターネット回線で安全にVPN(IPSec)でAzureと拠点(Router)を接続したい場合は以下のようにRouterとAzureに設定する。

Yamahaのルータの場合

VPNのAzure接続料金

[IaaS パターン] – 2. SharePointをAzureに設置しよう。

ライセンス

[ストレージ機能]

[ストレージ パターン] – 1. 東京、大阪で冗長化したい。

ジオ(主要地域)冗長でストレージをつくります。(Geo 冗長ストレージ (GRS))

料金は以下の合計

  • 容量の料金は 例)11円/1G
  • 転送量(Azureからのダウンロードのみ課金) 5Gまで無料, 12円/1G~
    データ転送の料金詳細
  • ストレージトランザクション(読み取り、書き込み操作) 0.51円/100,0000トランザクション

AzureFirst090

  • アクセス方法はhttpでアクセスするか
    • http(s)://<アカウント>.blob.core.windows.net/<コンテナ>/<BLOB>
  • Visual Studioでアクセスするか、
  • また、以下で紹介されている専用ソフトでもアクセスできます。

ストレージ パターン2. 東京、海外で冗長化したい。

また今度ブログします。

[データベース機能]

[データベース機能] – パターン1. SQL Server

また今度ブログします。

[データベース機能] – パターン2. Oracleを使いたい。(データベースライセンス込みのOracleがあります)

また今度ブログします。

SharePointでホスト(SharePoint-hosted)を作ってみよう。

作成中

はじめに

「SharePointでホスト(SharePoint-hosted)」する場合は以下のようになる。

 

whatissharepoint030

 

  1. ホストするアプリをASPX or HTML or MVC(ASP.NET)で作成する。
  2. VisualStudioでappを発行する。
    ※appパッケージを作成する。
    ※拡張子をapp–>zipにすると中身がみれます。
  3. アプリカタログにアプリを発行(アップロード)する。
    ※もしくは、Microsoft Office ストアに発行する。(審査あり)
  4. アプリの追加を行う
    アプリの追加時にAzureのIISにASPX, HTMLXを追加する
    ※SQL Azureにデータベースを追加も可能
  5. アプリの実行を行う