SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
HPC on Azure
HPC環境構築からアプリケーションの実行まで
アジェンダ
はじめに
Azure PortalでHPC環境を構築する
これから作るHPC環境の構成
InfiniBand
Azure Portalへアクセス
https://portal.azure.com
サブスクリプションの確認
仮想マシンの作成
仮想マシンの作成
設定項目 今回の設定 説明
名前 hpc001 仮想マシンの名前を設定します。
VMディスクの種類 HDD 仮想マシンに接続するディスクの種類 (SSD/HDD)を設定します。
ユーザ名 msadmin 仮想マシンのユーザ名(管理者)
認証の種類 パスワード 上記のユーザがログインする際の認証の種類(SSH 公開キー/パスワード)を選択します。
サブスクリプション 使用するサブスクリプションを選択します。
リソースグループ hpctest この仮想マシンが所属するリソースグループ(新規で作ることも可能)を選択します。
場所 東日本 仮想マシンをデプロイするリージョンを選択します。
仮想マシンの作成
設定項目1 設定項目2 今回の設定 説明
高可用性 可用性セット 名前: hpctest_avail
障害ドメイン : 2
更新ドメイン : 5
InfiniBandを利用するために可用性セットを設定する必要があります。障害・更新ドメインはデフォ
ルトのまま。
Storage ディスクの種類 HDD VHDに利用するStorageの種類を設定します。
管理ディスクの使用 はい
ネットワーク Virtual Network 名前: hpctest-vnet
アドレス空間: 10.1.6.0/24
サブネット名: default
サブネット アドレス範囲 : 10.1.6.0/24
この仮想マシンが所属する仮想ネットワークを選択します。
パブリックIPアドレス 名前: hpc01-ip
割り当て: 動的
インターネット経由でアクセスできるようにパブリップIPアドレスを設定します。
ネットワークセキュリティー
グループ(NSG)
名前: hpc01-nsg
受信規則 : SSH (Port=22)
送信規則:なし
仮想マシンとの間でやり取りされるトラフィックを制御するファイアウォールの規則のセットです。
拡張機能 拡張機能 今回はなし 仮想マシンに新しい機能を追加します。
自動シャットダウン 自動シャットダウン機能を有
効にする
オフ 仮想マシンを自動的に毎日シャットダウンするように設定します。
監視 ブート診断 有効 ホスト上で実行している仮想マシンのシリアルコンソール出力とスクリーンショットをキャプチャ
して、起動時の問題診断に役立てます。
ゲストOS診断 無効 仮想マシンのメトリックを1分ごとに取得します。
診断ストレージアカウント 名前:hpctestdiag788
パフォーマンス:Standard
リプリケーション:LRS
メトリックを保存するためのストレージアカウントを選択します。
※今回はdefaultのまま(Linuxの仮想マシンではSSHのポートのみが開いています。)
※今回はdefaultのまま(2つ目以降のVMは同じVNetを選択します。)
※今回はdefaultのまま(2つ目以降のVMは設定は不要です。)
※今回はdefaultのまま
仮想マシンの作成
仮想マシンの作成
hpc001 hpc002
デプロイモデル Resource Manager Resource Manager
仮想マシンの名前 hpc001 hpc002
VM Diskの種類 HDD HDD
ユーザ名 msadmin msadmin
認証の種類 パスワード パスワード
リソースグループ hpctest hpctest(cmp01で作成済のものを選択)
場所 東日本 東日本
サイズ H16r H16r
可用性セット hpctest_avail hpctest_avail (cmp01で作成済のものを選択)
ディスク HDD HDD
管理ディスクの使用 はい はい
Virtual Network hpctest-vnet hpctest-vnet
パブリックIPアドレス hpc001-ip 不要
ネットワークセキュリティーグループ hpc001-nsg hpc002-nsg
診断ストレージアカウント hpctestdiag788 hpctestdiag788 (cmp01で作成済のものを選択)
仮想マシンの作成
共有ディスクの作成
設定項目 今回の設定 設定
名前 hpc001disk01 追加するデータディスクの名前を設定します。
リソースグループ hpctest2 追加するデータディスクのリソースグループを選択します。
アカウントの種類 Standard_LRS ストレージアカウントの種類(Premium/Standard, データリプリケーションの種類 LRS/ZRS/GRS/RA-GRS)を選択します。
ソースの種類 なし(空のディスク) 別のディスクのスナップショットからディスクを作成するか、ストレージアカウントのBLOBから作成するか、空のディ
スクを作成するかを選択します。
サイズ(GiB) 1023 ディスクのサイズを設定します。
共有ディスクの作成
共有ディスクの作成
共有ディスクの設定
共有ディスクの設定
パスワードなしでSSHする設定
仮想マシンの起動及び停止
Intel MPI Benchmark
Intel MPI Benchmark #------------------------------------------------------------
# Intel (R) MPI Benchmarks 2017, MPI-1 part
#------------------------------------------------------------
# Date : Wed Nov 22 02:56:34 2017
# Machine : x86_64
# System : Linux
# Release : 3.10.0-514.21.1.el7.x86_64
# Version : #1 SMP Thu May 25 17:04:51 UTC 2017
# MPI Version : 3.1
# MPI Thread Environment:
# Calling sequence was:
# IMB-MPI1 pingpong
# Minimum message length in bytes: 0
# Maximum message length in bytes: 4194304
#
# MPI_Datatype : MPI_BYTE
# MPI_Datatype for reductions : MPI_FLOAT
# MPI_Op : MPI_SUM
#
#
# List of Benchmarks to run:
# PingPong
#---------------------------------------------------
# Benchmarking PingPong
# #processes = 2
#---------------------------------------------------
#bytes #repetitions t[usec] Mbytes/sec
0 1000 2.60 0.00
1 1000 2.61 0.38
2 1000 2.63 0.76
4 1000 2.60 1.54
8 1000 2.59 3.09
16 1000 2.64 6.06
32 1000 2.36 13.55
64 1000 2.35 27.28
128 1000 2.40 53.41
256 1000 2.47 103.77
512 1000 2.61 196.24
1024 1000 2.94 348.83
2048 1000 3.41 599.88
4096 1000 4.49 911.42
8192 1000 5.55 1475.36
16384 1000 7.29 2247.46
32768 1000 10.16 3224.71
65536 640 15.73 4166.39
131072 320 32.01 4094.40
262144 160 55.38 4733.73
524288 80 98.02 5348.79
1048576 40 177.88 5895.01
2097152 20 343.53 6104.79
4194304 10 676.50 6200.00
# All processes entering MPI_Finalize
#------------------------------------------------------------
# Intel (R) MPI Benchmarks 2017, MPI-1 part
#------------------------------------------------------------
# Date : Wed Nov 22 03:00:13 2017
# Machine : x86_64
# System : Linux
# Release : 3.10.0-514.21.1.el7.x86_64
# Version : #1 SMP Thu May 25 17:04:51 UTC 2017
# MPI Version : 3.1
# MPI Thread Environment:
# Calling sequence was:
# IMB-MPI1 pingpong
# Minimum message length in bytes: 0
# Maximum message length in bytes: 4194304
#
# MPI_Datatype : MPI_BYTE
# MPI_Datatype for reductions : MPI_FLOAT
# MPI_Op : MPI_SUM
#
#
# List of Benchmarks to run:
# PingPong
#---------------------------------------------------
# Benchmarking PingPong
# #processes = 2
#---------------------------------------------------
#bytes #repetitions t[usec] Mbytes/sec
0 1000 60.63 0.00
1 1000 49.57 0.02
2 1000 48.46 0.04
4 1000 49.16 0.08
8 1000 49.22 0.16
16 1000 47.67 0.34
32 1000 48.14 0.66
64 1000 47.69 1.34
128 1000 52.62 2.43
256 1000 49.41 5.18
512 1000 50.89 10.06
1024 1000 52.09 19.66
2048 1000 69.27 29.57
4096 1000 72.95 56.15
8192 1000 84.96 96.42
16384 1000 100.70 162.69
32768 1000 137.77 237.84
65536 640 318.70 205.64
131072 320 898.85 145.82
262144 160 1115.12 235.08
524288 80 1349.19 388.59
1048576 40 2139.93 490.01
2097152 20 4487.08 467.38
4194304 10 8537.50 491.28
# All processes entering MPI_Finalize
High Performance Linpack(HPL)
http://registrationcenter-download.intel.com/akdlm/irc_nas/9752/l_mklb_p_2018.1.009.tgz
High Performance Linpack(HPL)
High Performance Linpack(HPL)
Number of Intel(R) Xeon Phi(TM) coprocessors : 0
================================================================================
HPLinpack 2.1 -- High-Performance Linpack benchmark -- October 26, 2012
Written by A. Petitet and R. Clint Whaley, Innovative Computing Laboratory, UTK
Modified by Piotr Luszczek, Innovative Computing Laboratory, UTK
Modified by Julien Langou, University of Colorado Denver
================================================================================
An explanation of the input/output parameters follows:
T/V : Wall time / encoded variant.
N : The order of the coefficient matrix A.
NB : The partitioning blocking factor.
P : The number of process rows.
Q : The number of process columns.
Time : Time in seconds to solve the linear system.
Gflops : Rate of execution for solving the linear system.
The following parameter values will be used:
N : 65280
NB : 192
PMAP : Column-major process mapping
P : 2
Q : 1
PFACT : Right
NBMIN : 2
NDIV : 2
RFACT : Crout
BCAST : 1ring
DEPTH : 0
SWAP : Binary-exchange
L1 : no-transposed form
U : no-transposed form
EQUIL : no
ALIGN : 8 double precision words
--------------------------------------------------------------------------------
- The matrix A is randomly generated for each test.
- The following scaled residual check will be computed:
||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N )
- The relative machine precision (eps) is taken to be 1.110223e-16
- Computational tests pass if scaled residuals are less than 16.0
================================================================================
T/V N NB P Q Time Gflops
--------------------------------------------------------------------------------
WC00C2R2 65280 192 2 1 136.42 1.35953e+03
HPL_pdgesv() start time Wed Nov 22 06:32:26 2017
HPL_pdgesv() end time Wed Nov 22 06:34:42 2017
--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)= 0.0041553 ...... PASSED
================================================================================
Finished 1 tests with the following results:
1 tests completed and passed residual checks,
0 tests completed and failed residual checks,
0 tests skipped because of illegal input values.
--------------------------------------------------------------------------------
End of Tests.
================================================================================
================================================================================
T/V N NB P Q Time Gflops
--------------------------------------------------------------------------------
WC00C2R2 65280 192 2 1 136.42 1.35953e+03
HPL_pdgesv() start time Wed Nov 22 06:32:26 2017
HPL_pdgesv() end time Wed Nov 22 06:34:42 2017
--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)= 0.0041553 ...... PASSED
================================================================================
ARM TemplateによるHPC環境のデプロイ
テンプレートによるHPC環境のデプロイ
https://docs.microsoft.com/ja-jp/azure/virtual-machines/linux/capture-image
ARM Template
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01-
preview/deploymentTemplate.json",
"contentVersion": "1.0.0.0",
"parameters": {
"resourceLocation": {
"allowedValues": [
"East US",
"West US",
"South Central US",
"North Central US",
"North Europe",
"West Europe",
"Japan East"
],
"type": "String",
"metadata": {
"description": "Azure region where all resources will be deployed. This is
distinct from resource group location."
}
},
"vmSku1": {
"defaultValue": "Standard_H16r",
"allowedValues": [
"Basic_A4",
"Standard_A4",
"Standard_A8",
"Standard_A9",
"Standard_H16r",
"Standard_H16mr",
"Standard_NC6",
"Standard_NC12",
"Standard_NC24"
],
"type": "String",
"metadata": {
"description": "Which instance would you like to deploy to? Not all VMs are
available in all regions"
}
},
"vmSku2": {
"defaultValue": "Standard_H16r",
"allowedValues": [
"Basic_A4",
"Standard_A4",
"Standard_A8",
"Standard_A9",
"Standard_H16r",
"Standard_H16mr",
"Standard_NC6",
"Standard_NC12",
"Standard_NC24"
],
"type": "String",
"metadata": {
"description": "Which instance would you like to deploy to? Not all VMs are
available in all regions"
}
},
ARM Template
"vmssName": {
"maxLength": 10,
"type": "String",
"metadata": {
"description": "String used as a base for naming resources. Must be 3-10
characters in length and globally unique across Azure. A hash is prepended
to this string for some resources, and resource-specific information is
appended."
}
},
"instanceCount": {
"maxValue": 100,
"type": "Int",
"metadata": {
"description": "Number of VM instances (100 or less)."
}
},
"adminUsername": {
"type": "String",
"metadata": {
"description": "Admin username on all VMs."
}
},
"adminPassword": {
"type": "String",
"metadata": {
"description": "Admin password on all VMs."
}
}
},
"variables": {
"namingInfix": "[toLower(substring(concat(parameters('vmssName')), 0, 5))]",
"longNamingInfix": "[toLower(parameters('vmssName'))]",
"jumpBoxName": "[concat(variables('longNamingInfix'),'login')]",
"jumpBoxSAName": "[concat(uniqueString(concat(resourceGroup().id,
variables('newStorageAccountSuffix'), 'jumpboxsa')), 'jb')]",
"jumpBoxOSDiskName": "[concat(variables('jumpBoxName'), 'osdisk')]",
"jumpBoxVHDContainerName": "[concat(variables('jumpBoxName'), 'vhd')]",
"jumpBoxIPConfigName": "[concat(variables('jumpBoxName'), 'ipconfig')]",
"jumpBoxNicName": "[concat(variables('jumpBoxName'), 'nic')]",
"storageAccountType": "Standard_LRS",
"addressPrefix": "10.0.0.0/16",
"subnetPrefix": "10.0.0.0/24",
"virtualNetworkName": "[concat(variables('namingInfix'), 'vnet')]",
"subnetName": "[concat(variables('namingInfix'), 'subnet')]",
"vnetID":
"[resourceId('Microsoft.Network/virtualNetworks',variables('virtualNetworkNa
me'))]",
"subnetRef":
"[concat(variables('vnetID'),'/subnets/',variables('subnetName'))]",
"publicIPAddressName": "[concat(variables('namingInfix'), 'pip')]",
"nicName": "[concat(variables('namingInfix'), 'nic')]",
"ipConfigName": "[concat(variables('namingInfix'), 'ipconfig')]",
"newStorageAccountSuffix": "[concat(variables('namingInfix'), 'sa')]",
"computeApiVersion": "2016-04-30-preview",
"networkApiVersion": "2016-03-30",
"storageApiVersion": "2015-06-15"
},
ARM Template
"resources": [
{
"type": "Microsoft.Network/virtualNetworks",
"name": "[variables('virtualNetworkName')]",
"apiVersion": "[variables('networkApiVersion')]",
"location": "[parameters('resourceLocation')]",
"properties": {
"addressSpace": {
"addressPrefixes": [
"[variables('addressPrefix')]"
]
},
"subnets": [
{
"name": "[variables('subnetName')]",
"properties": {
"addressPrefix": "[variables('subnetPrefix')]"
}
}
]
}
},
{
"type": "Microsoft.Storage/storageAccounts",
"name": "[variables('jumpBoxSAName')]",
"apiVersion": "[variables('storageApiVersion')]",
"location": "[parameters('resourceLocation')]",
"properties": {
"accountType": "[variables('storageAccountType')]"
}
},
{
"type": "Microsoft.Network/publicIPAddresses",
"name": "[variables('publicIPAddressName')]",
"apiVersion": "[variables('networkApiVersion')]",
"location": "[parameters('resourceLocation')]",
"properties": {
"publicIPAllocationMethod": "Dynamic",
"dnsSettings": {
"domainNameLabel": "[variables('longNamingInfix')]"
}
}
},
{
"type": "Microsoft.Network/networkInterfaces",
"name": "[variables('jumpBoxNicName')]",
"apiVersion": "[variables('networkApiVersion')]",
"location": "[parameters('resourceLocation')]",
"properties": {
"ipConfigurations": [
{
"name": "[variables('jumpBoxIPConfigName')]",
"properties": {
"privateIPAllocationMethod": "Dynamic",
"publicIPAddress": {
"id":
"[resourceId('Microsoft.Network/publicIPAddresses',variables('publicIPAddressNa
me'))]"
},
"subnet": {
"id": "[variables('subnetRef')]"
}
}
}
]
},
"dependsOn": [
"[concat('Microsoft.Network/publicIPAddresses/',
variables('publicIPAddressName'))]",
"[concat('Microsoft.Network/virtualNetworks/',
variables('virtualNetworkName'))]"
]
},
ARM Template
{
"type": "Microsoft.Compute/virtualMachines",
"name": "[variables('jumpBoxName')]",
"apiVersion": "[variables('computeApiVersion')]",
"location": "[parameters('resourceLocation')]",
"properties": {
"hardwareProfile": {
"vmSize": "[parameters('vmSku1')]"
},
"osProfile": {
"computerName": "[variables('jumpBoxName')]",
"adminUsername": "[parameters('adminUsername')]",
"adminPassword": "[parameters('adminPassword')]"
},
"storageProfile": {
"imageReference": {
“id”: “ここにカスタムイメージのリソースIDを入れる”
},
"osDisk": {
"createOption": "fromImage",
"managedDisk": {
"storageAccountType": "Standard_LRS"
}
}
},
"networkProfile": {
"networkInterfaces": [
{
"id":
"[resourceId('Microsoft.Network/networkInterfaces',variables('jumpBoxNicName'))]"
}
]
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": "true",
"storageUri":
"[concat('http://',variables('jumpBoxSAName'),'.blob.core.windows.net')]"
}
}
},
"dependsOn": [
"[concat('Microsoft.Storage/storageAccounts/', variables('jumpBoxSAName'))]",
"[concat('Microsoft.Network/networkInterfaces/', variables('jumpBoxNicName'))]"
]
},
ARM Template
{
"type": "Microsoft.Compute/virtualMachineScaleSets",
"sku": {
"name": "[parameters('vmSku2')]",
"tier": "Standard",
"capacity": "[parameters('instanceCount')]"
},
"name": "[variables('namingInfix')]",
"apiVersion": "[variables('computeApiVersion')]",
"location": "[parameters('resourceLocation')]",
"properties": {
"overprovision": "true",
"upgradePolicy": {
"mode": "Manual"
},
"virtualMachineProfile": {
"storageProfile": {
"imageReference": {
"id": “ここにカスタムイメージのリソースIDを入れる”
},
"osDisk": {
"createOption": "fromImage",
"managedDisk": {
"storageAccountType": "Standard_LRS"
}
}
},
"osProfile": {
"computerNamePrefix": "[variables('namingInfix')]",
"adminUsername": "[parameters('adminUsername')]",
"adminPassword": "[parameters('adminPassword')]"
},
"networkProfile": {
"networkInterfaceConfigurations": [
{
"name": "[variables('nicName')]",
"properties": {
"primary": "true",
"ipConfigurations": [
{
"name": "[variables('ipConfigName')]",
"properties": {
"subnet": {
"id": "[concat('/subscriptions/',
subscription().subscriptionId,'/resourceGroups/', resourceGroup().name,
'/providers/Microsoft.Network/virtualNetworks/',
variables('virtualNetworkName'), '/subnets/', variables('subnetName'))]"
}
}
}
]
}
}
]
}
}
},
"dependsOn": [
"[concat('Microsoft.Network/virtualNetworks/',
variables('virtualNetworkName'))]"
]
}
]
}
LAMMPS
http://lammps.sandia.gov/
Azure Batch
Azure Batchの概要
Batch Shipyard
https://github.com/Azure/batch-shipyard
https://github.com/Azure/batch-shipyard/tree/master/recipes
http://batch-shipyard.readthedocs.io/en/latest/
[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~

Contenu connexe

Tendances

RHEL on Azure、初めの一歩
RHEL on Azure、初めの一歩RHEL on Azure、初めの一歩
RHEL on Azure、初めの一歩Ryo Fujita
 
CloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloudCloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloudsamemoon
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...VirtualTech Japan Inc.
 
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみたサーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみたVirtualTech Japan Inc.
 
Control distribution of virtual machines
Control distribution of virtual machinesControl distribution of virtual machines
Control distribution of virtual machinesirix_jp
 
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!Etsuji Nakai
 
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例kazuhcurry
 
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定についてCloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定についてSatoshi Shimazaki
 
(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速するKohei KaiGai
 
さくらのクラウドインフラの紹介
さくらのクラウドインフラの紹介さくらのクラウドインフラの紹介
さくらのクラウドインフラの紹介SAKURA Internet Inc.
 
20131230_CloudStack Advent Calendar VPCを作ってみよう
20131230_CloudStack Advent Calendar VPCを作ってみよう20131230_CloudStack Advent Calendar VPCを作ってみよう
20131230_CloudStack Advent Calendar VPCを作ってみようMidori Oge
 
Pgcon2012 ori-20120224
Pgcon2012 ori-20120224Pgcon2012 ori-20120224
Pgcon2012 ori-20120224Manabu Ori
 
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月VirtualTech Japan Inc.
 
TripleOの光と闇
TripleOの光と闇TripleOの光と闇
TripleOの光と闇Manabu Ori
 
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf) Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf) VirtualTech Japan Inc.
 
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要Etsuji Nakai
 

Tendances (20)

【さくらのクラウド】ローカルルータ導入ガイド
【さくらのクラウド】ローカルルータ導入ガイド【さくらのクラウド】ローカルルータ導入ガイド
【さくらのクラウド】ローカルルータ導入ガイド
 
RHEL on Azure、初めの一歩
RHEL on Azure、初めの一歩RHEL on Azure、初めの一歩
RHEL on Azure、初めの一歩
 
CloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloudCloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloud
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
 
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみたサーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
 
Control distribution of virtual machines
Control distribution of virtual machinesControl distribution of virtual machines
Control distribution of virtual machines
 
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
 
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例
 
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定についてCloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
 
(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する
 
OpenStack構築手順書 Juno版
OpenStack構築手順書 Juno版OpenStack構築手順書 Juno版
OpenStack構築手順書 Juno版
 
OpenStack Grizzly構築手順書
OpenStack Grizzly構築手順書OpenStack Grizzly構築手順書
OpenStack Grizzly構築手順書
 
さくらのクラウドでのPlesk Onyx導入手順
さくらのクラウドでのPlesk Onyx導入手順さくらのクラウドでのPlesk Onyx導入手順
さくらのクラウドでのPlesk Onyx導入手順
 
さくらのクラウドインフラの紹介
さくらのクラウドインフラの紹介さくらのクラウドインフラの紹介
さくらのクラウドインフラの紹介
 
20131230_CloudStack Advent Calendar VPCを作ってみよう
20131230_CloudStack Advent Calendar VPCを作ってみよう20131230_CloudStack Advent Calendar VPCを作ってみよう
20131230_CloudStack Advent Calendar VPCを作ってみよう
 
Pgcon2012 ori-20120224
Pgcon2012 ori-20120224Pgcon2012 ori-20120224
Pgcon2012 ori-20120224
 
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
 
TripleOの光と闇
TripleOの光と闇TripleOの光と闇
TripleOの光と闇
 
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf) Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
 
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
 

Similaire à [Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~

Hol012 windowsコンテナー始動
Hol012 windowsコンテナー始動Hol012 windowsコンテナー始動
Hol012 windowsコンテナー始動Tech Summit 2016
 
SDN Lab環境でのRobotFramework実践活用
SDN Lab環境でのRobotFramework実践活用SDN Lab環境でのRobotFramework実践活用
SDN Lab環境でのRobotFramework実践活用Toshiki Tsuboi
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1Etsuji Nakai
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門Masahito Zembutsu
 
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)Naoto MATSUMOTO
 
OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016VirtualTech Japan Inc.
 
Rancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタRancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタTakashi Kanai
 
20161121 open hyperscale#6
20161121 open hyperscale#620161121 open hyperscale#6
20161121 open hyperscale#6ManaMurakami1
 
Maatkit で MySQL チューニング
Maatkit で MySQL チューニングMaatkit で MySQL チューニング
Maatkit で MySQL チューニングKensuke Nagae
 
Osc fukuoka xAI Meetup
Osc fukuoka xAI MeetupOsc fukuoka xAI Meetup
Osc fukuoka xAI Meetupru pic
 
OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5Tsukasa Sugiura
 
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪Kunihiro TANAKA
 
Circle ci and docker+serverspec
Circle ci and docker+serverspecCircle ci and docker+serverspec
Circle ci and docker+serverspecTsuyoshi Yamada
 
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002Takeshi Kuramochi
 
Dbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publishDbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publishYohei Azekatsu
 
Linux Performance Analysis in 15 minutes
Linux Performance Analysis in 15 minutesLinux Performance Analysis in 15 minutes
Linux Performance Analysis in 15 minutesYohei Azekatsu
 
Kibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKensuke Maeda
 
OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!ksk_ha
 
NetApp XCP データ移行ツールインストールと設定
NetApp XCP データ移行ツールインストールと設定NetApp XCP データ移行ツールインストールと設定
NetApp XCP データ移行ツールインストールと設定Kan Itani
 

Similaire à [Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~ (20)

Hol012 windowsコンテナー始動
Hol012 windowsコンテナー始動Hol012 windowsコンテナー始動
Hol012 windowsコンテナー始動
 
SDN Lab環境でのRobotFramework実践活用
SDN Lab環境でのRobotFramework実践活用SDN Lab環境でのRobotFramework実践活用
SDN Lab環境でのRobotFramework実践活用
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
 
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
 
OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016
 
Rancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタRancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタ
 
20161121 open hyperscale#6
20161121 open hyperscale#620161121 open hyperscale#6
20161121 open hyperscale#6
 
Maatkit で MySQL チューニング
Maatkit で MySQL チューニングMaatkit で MySQL チューニング
Maatkit で MySQL チューニング
 
Open Source x AI
Open Source x AIOpen Source x AI
Open Source x AI
 
Osc fukuoka xAI Meetup
Osc fukuoka xAI MeetupOsc fukuoka xAI Meetup
Osc fukuoka xAI Meetup
 
OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5
 
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
 
Circle ci and docker+serverspec
Circle ci and docker+serverspecCircle ci and docker+serverspec
Circle ci and docker+serverspec
 
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
 
Dbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publishDbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publish
 
Linux Performance Analysis in 15 minutes
Linux Performance Analysis in 15 minutesLinux Performance Analysis in 15 minutes
Linux Performance Analysis in 15 minutes
 
Kibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKibanaでsysstatを可視化する
Kibanaでsysstatを可視化する
 
OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!
 
NetApp XCP データ移行ツールインストールと設定
NetApp XCP データ移行ツールインストールと設定NetApp XCP データ移行ツールインストールと設定
NetApp XCP データ移行ツールインストールと設定
 

[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~

  • 9. 仮想マシンの作成 設定項目 今回の設定 説明 名前 hpc001 仮想マシンの名前を設定します。 VMディスクの種類 HDD 仮想マシンに接続するディスクの種類 (SSD/HDD)を設定します。 ユーザ名 msadmin 仮想マシンのユーザ名(管理者) 認証の種類 パスワード 上記のユーザがログインする際の認証の種類(SSH 公開キー/パスワード)を選択します。 サブスクリプション 使用するサブスクリプションを選択します。 リソースグループ hpctest この仮想マシンが所属するリソースグループ(新規で作ることも可能)を選択します。 場所 東日本 仮想マシンをデプロイするリージョンを選択します。
  • 10. 仮想マシンの作成 設定項目1 設定項目2 今回の設定 説明 高可用性 可用性セット 名前: hpctest_avail 障害ドメイン : 2 更新ドメイン : 5 InfiniBandを利用するために可用性セットを設定する必要があります。障害・更新ドメインはデフォ ルトのまま。 Storage ディスクの種類 HDD VHDに利用するStorageの種類を設定します。 管理ディスクの使用 はい ネットワーク Virtual Network 名前: hpctest-vnet アドレス空間: 10.1.6.0/24 サブネット名: default サブネット アドレス範囲 : 10.1.6.0/24 この仮想マシンが所属する仮想ネットワークを選択します。 パブリックIPアドレス 名前: hpc01-ip 割り当て: 動的 インターネット経由でアクセスできるようにパブリップIPアドレスを設定します。 ネットワークセキュリティー グループ(NSG) 名前: hpc01-nsg 受信規則 : SSH (Port=22) 送信規則:なし 仮想マシンとの間でやり取りされるトラフィックを制御するファイアウォールの規則のセットです。 拡張機能 拡張機能 今回はなし 仮想マシンに新しい機能を追加します。 自動シャットダウン 自動シャットダウン機能を有 効にする オフ 仮想マシンを自動的に毎日シャットダウンするように設定します。 監視 ブート診断 有効 ホスト上で実行している仮想マシンのシリアルコンソール出力とスクリーンショットをキャプチャ して、起動時の問題診断に役立てます。 ゲストOS診断 無効 仮想マシンのメトリックを1分ごとに取得します。 診断ストレージアカウント 名前:hpctestdiag788 パフォーマンス:Standard リプリケーション:LRS メトリックを保存するためのストレージアカウントを選択します。 ※今回はdefaultのまま(Linuxの仮想マシンではSSHのポートのみが開いています。) ※今回はdefaultのまま(2つ目以降のVMは同じVNetを選択します。) ※今回はdefaultのまま(2つ目以降のVMは設定は不要です。) ※今回はdefaultのまま
  • 12. 仮想マシンの作成 hpc001 hpc002 デプロイモデル Resource Manager Resource Manager 仮想マシンの名前 hpc001 hpc002 VM Diskの種類 HDD HDD ユーザ名 msadmin msadmin 認証の種類 パスワード パスワード リソースグループ hpctest hpctest(cmp01で作成済のものを選択) 場所 東日本 東日本 サイズ H16r H16r 可用性セット hpctest_avail hpctest_avail (cmp01で作成済のものを選択) ディスク HDD HDD 管理ディスクの使用 はい はい Virtual Network hpctest-vnet hpctest-vnet パブリックIPアドレス hpc001-ip 不要 ネットワークセキュリティーグループ hpc001-nsg hpc002-nsg 診断ストレージアカウント hpctestdiag788 hpctestdiag788 (cmp01で作成済のものを選択)
  • 14. 共有ディスクの作成 設定項目 今回の設定 設定 名前 hpc001disk01 追加するデータディスクの名前を設定します。 リソースグループ hpctest2 追加するデータディスクのリソースグループを選択します。 アカウントの種類 Standard_LRS ストレージアカウントの種類(Premium/Standard, データリプリケーションの種類 LRS/ZRS/GRS/RA-GRS)を選択します。 ソースの種類 なし(空のディスク) 別のディスクのスナップショットからディスクを作成するか、ストレージアカウントのBLOBから作成するか、空のディ スクを作成するかを選択します。 サイズ(GiB) 1023 ディスクのサイズを設定します。
  • 22. Intel MPI Benchmark #------------------------------------------------------------ # Intel (R) MPI Benchmarks 2017, MPI-1 part #------------------------------------------------------------ # Date : Wed Nov 22 02:56:34 2017 # Machine : x86_64 # System : Linux # Release : 3.10.0-514.21.1.el7.x86_64 # Version : #1 SMP Thu May 25 17:04:51 UTC 2017 # MPI Version : 3.1 # MPI Thread Environment: # Calling sequence was: # IMB-MPI1 pingpong # Minimum message length in bytes: 0 # Maximum message length in bytes: 4194304 # # MPI_Datatype : MPI_BYTE # MPI_Datatype for reductions : MPI_FLOAT # MPI_Op : MPI_SUM # # # List of Benchmarks to run: # PingPong #--------------------------------------------------- # Benchmarking PingPong # #processes = 2 #--------------------------------------------------- #bytes #repetitions t[usec] Mbytes/sec 0 1000 2.60 0.00 1 1000 2.61 0.38 2 1000 2.63 0.76 4 1000 2.60 1.54 8 1000 2.59 3.09 16 1000 2.64 6.06 32 1000 2.36 13.55 64 1000 2.35 27.28 128 1000 2.40 53.41 256 1000 2.47 103.77 512 1000 2.61 196.24 1024 1000 2.94 348.83 2048 1000 3.41 599.88 4096 1000 4.49 911.42 8192 1000 5.55 1475.36 16384 1000 7.29 2247.46 32768 1000 10.16 3224.71 65536 640 15.73 4166.39 131072 320 32.01 4094.40 262144 160 55.38 4733.73 524288 80 98.02 5348.79 1048576 40 177.88 5895.01 2097152 20 343.53 6104.79 4194304 10 676.50 6200.00 # All processes entering MPI_Finalize #------------------------------------------------------------ # Intel (R) MPI Benchmarks 2017, MPI-1 part #------------------------------------------------------------ # Date : Wed Nov 22 03:00:13 2017 # Machine : x86_64 # System : Linux # Release : 3.10.0-514.21.1.el7.x86_64 # Version : #1 SMP Thu May 25 17:04:51 UTC 2017 # MPI Version : 3.1 # MPI Thread Environment: # Calling sequence was: # IMB-MPI1 pingpong # Minimum message length in bytes: 0 # Maximum message length in bytes: 4194304 # # MPI_Datatype : MPI_BYTE # MPI_Datatype for reductions : MPI_FLOAT # MPI_Op : MPI_SUM # # # List of Benchmarks to run: # PingPong #--------------------------------------------------- # Benchmarking PingPong # #processes = 2 #--------------------------------------------------- #bytes #repetitions t[usec] Mbytes/sec 0 1000 60.63 0.00 1 1000 49.57 0.02 2 1000 48.46 0.04 4 1000 49.16 0.08 8 1000 49.22 0.16 16 1000 47.67 0.34 32 1000 48.14 0.66 64 1000 47.69 1.34 128 1000 52.62 2.43 256 1000 49.41 5.18 512 1000 50.89 10.06 1024 1000 52.09 19.66 2048 1000 69.27 29.57 4096 1000 72.95 56.15 8192 1000 84.96 96.42 16384 1000 100.70 162.69 32768 1000 137.77 237.84 65536 640 318.70 205.64 131072 320 898.85 145.82 262144 160 1115.12 235.08 524288 80 1349.19 388.59 1048576 40 2139.93 490.01 2097152 20 4487.08 467.38 4194304 10 8537.50 491.28 # All processes entering MPI_Finalize
  • 25. High Performance Linpack(HPL) Number of Intel(R) Xeon Phi(TM) coprocessors : 0 ================================================================================ HPLinpack 2.1 -- High-Performance Linpack benchmark -- October 26, 2012 Written by A. Petitet and R. Clint Whaley, Innovative Computing Laboratory, UTK Modified by Piotr Luszczek, Innovative Computing Laboratory, UTK Modified by Julien Langou, University of Colorado Denver ================================================================================ An explanation of the input/output parameters follows: T/V : Wall time / encoded variant. N : The order of the coefficient matrix A. NB : The partitioning blocking factor. P : The number of process rows. Q : The number of process columns. Time : Time in seconds to solve the linear system. Gflops : Rate of execution for solving the linear system. The following parameter values will be used: N : 65280 NB : 192 PMAP : Column-major process mapping P : 2 Q : 1 PFACT : Right NBMIN : 2 NDIV : 2 RFACT : Crout BCAST : 1ring DEPTH : 0 SWAP : Binary-exchange L1 : no-transposed form U : no-transposed form EQUIL : no ALIGN : 8 double precision words -------------------------------------------------------------------------------- - The matrix A is randomly generated for each test. - The following scaled residual check will be computed: ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N ) - The relative machine precision (eps) is taken to be 1.110223e-16 - Computational tests pass if scaled residuals are less than 16.0 ================================================================================ T/V N NB P Q Time Gflops -------------------------------------------------------------------------------- WC00C2R2 65280 192 2 1 136.42 1.35953e+03 HPL_pdgesv() start time Wed Nov 22 06:32:26 2017 HPL_pdgesv() end time Wed Nov 22 06:34:42 2017 -------------------------------------------------------------------------------- ||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)= 0.0041553 ...... PASSED ================================================================================ Finished 1 tests with the following results: 1 tests completed and passed residual checks, 0 tests completed and failed residual checks, 0 tests skipped because of illegal input values. -------------------------------------------------------------------------------- End of Tests. ================================================================================ ================================================================================ T/V N NB P Q Time Gflops -------------------------------------------------------------------------------- WC00C2R2 65280 192 2 1 136.42 1.35953e+03 HPL_pdgesv() start time Wed Nov 22 06:32:26 2017 HPL_pdgesv() end time Wed Nov 22 06:34:42 2017 -------------------------------------------------------------------------------- ||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)= 0.0041553 ...... PASSED ================================================================================
  • 28. ARM Template { "$schema": "http://schema.management.azure.com/schemas/2015-01-01- preview/deploymentTemplate.json", "contentVersion": "1.0.0.0", "parameters": { "resourceLocation": { "allowedValues": [ "East US", "West US", "South Central US", "North Central US", "North Europe", "West Europe", "Japan East" ], "type": "String", "metadata": { "description": "Azure region where all resources will be deployed. This is distinct from resource group location." } }, "vmSku1": { "defaultValue": "Standard_H16r", "allowedValues": [ "Basic_A4", "Standard_A4", "Standard_A8", "Standard_A9", "Standard_H16r", "Standard_H16mr", "Standard_NC6", "Standard_NC12", "Standard_NC24" ], "type": "String", "metadata": { "description": "Which instance would you like to deploy to? Not all VMs are available in all regions" } }, "vmSku2": { "defaultValue": "Standard_H16r", "allowedValues": [ "Basic_A4", "Standard_A4", "Standard_A8", "Standard_A9", "Standard_H16r", "Standard_H16mr", "Standard_NC6", "Standard_NC12", "Standard_NC24" ], "type": "String", "metadata": { "description": "Which instance would you like to deploy to? Not all VMs are available in all regions" } },
  • 29. ARM Template "vmssName": { "maxLength": 10, "type": "String", "metadata": { "description": "String used as a base for naming resources. Must be 3-10 characters in length and globally unique across Azure. A hash is prepended to this string for some resources, and resource-specific information is appended." } }, "instanceCount": { "maxValue": 100, "type": "Int", "metadata": { "description": "Number of VM instances (100 or less)." } }, "adminUsername": { "type": "String", "metadata": { "description": "Admin username on all VMs." } }, "adminPassword": { "type": "String", "metadata": { "description": "Admin password on all VMs." } } }, "variables": { "namingInfix": "[toLower(substring(concat(parameters('vmssName')), 0, 5))]", "longNamingInfix": "[toLower(parameters('vmssName'))]", "jumpBoxName": "[concat(variables('longNamingInfix'),'login')]", "jumpBoxSAName": "[concat(uniqueString(concat(resourceGroup().id, variables('newStorageAccountSuffix'), 'jumpboxsa')), 'jb')]", "jumpBoxOSDiskName": "[concat(variables('jumpBoxName'), 'osdisk')]", "jumpBoxVHDContainerName": "[concat(variables('jumpBoxName'), 'vhd')]", "jumpBoxIPConfigName": "[concat(variables('jumpBoxName'), 'ipconfig')]", "jumpBoxNicName": "[concat(variables('jumpBoxName'), 'nic')]", "storageAccountType": "Standard_LRS", "addressPrefix": "10.0.0.0/16", "subnetPrefix": "10.0.0.0/24", "virtualNetworkName": "[concat(variables('namingInfix'), 'vnet')]", "subnetName": "[concat(variables('namingInfix'), 'subnet')]", "vnetID": "[resourceId('Microsoft.Network/virtualNetworks',variables('virtualNetworkNa me'))]", "subnetRef": "[concat(variables('vnetID'),'/subnets/',variables('subnetName'))]", "publicIPAddressName": "[concat(variables('namingInfix'), 'pip')]", "nicName": "[concat(variables('namingInfix'), 'nic')]", "ipConfigName": "[concat(variables('namingInfix'), 'ipconfig')]", "newStorageAccountSuffix": "[concat(variables('namingInfix'), 'sa')]", "computeApiVersion": "2016-04-30-preview", "networkApiVersion": "2016-03-30", "storageApiVersion": "2015-06-15" },
  • 30. ARM Template "resources": [ { "type": "Microsoft.Network/virtualNetworks", "name": "[variables('virtualNetworkName')]", "apiVersion": "[variables('networkApiVersion')]", "location": "[parameters('resourceLocation')]", "properties": { "addressSpace": { "addressPrefixes": [ "[variables('addressPrefix')]" ] }, "subnets": [ { "name": "[variables('subnetName')]", "properties": { "addressPrefix": "[variables('subnetPrefix')]" } } ] } }, { "type": "Microsoft.Storage/storageAccounts", "name": "[variables('jumpBoxSAName')]", "apiVersion": "[variables('storageApiVersion')]", "location": "[parameters('resourceLocation')]", "properties": { "accountType": "[variables('storageAccountType')]" } }, { "type": "Microsoft.Network/publicIPAddresses", "name": "[variables('publicIPAddressName')]", "apiVersion": "[variables('networkApiVersion')]", "location": "[parameters('resourceLocation')]", "properties": { "publicIPAllocationMethod": "Dynamic", "dnsSettings": { "domainNameLabel": "[variables('longNamingInfix')]" } } }, { "type": "Microsoft.Network/networkInterfaces", "name": "[variables('jumpBoxNicName')]", "apiVersion": "[variables('networkApiVersion')]", "location": "[parameters('resourceLocation')]", "properties": { "ipConfigurations": [ { "name": "[variables('jumpBoxIPConfigName')]", "properties": { "privateIPAllocationMethod": "Dynamic", "publicIPAddress": { "id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('publicIPAddressNa me'))]" }, "subnet": { "id": "[variables('subnetRef')]" } } } ] }, "dependsOn": [ "[concat('Microsoft.Network/publicIPAddresses/', variables('publicIPAddressName'))]", "[concat('Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'))]" ] },
  • 31. ARM Template { "type": "Microsoft.Compute/virtualMachines", "name": "[variables('jumpBoxName')]", "apiVersion": "[variables('computeApiVersion')]", "location": "[parameters('resourceLocation')]", "properties": { "hardwareProfile": { "vmSize": "[parameters('vmSku1')]" }, "osProfile": { "computerName": "[variables('jumpBoxName')]", "adminUsername": "[parameters('adminUsername')]", "adminPassword": "[parameters('adminPassword')]" }, "storageProfile": { "imageReference": { “id”: “ここにカスタムイメージのリソースIDを入れる” }, "osDisk": { "createOption": "fromImage", "managedDisk": { "storageAccountType": "Standard_LRS" } } }, "networkProfile": { "networkInterfaces": [ { "id": "[resourceId('Microsoft.Network/networkInterfaces',variables('jumpBoxNicName'))]" } ] }, "diagnosticsProfile": { "bootDiagnostics": { "enabled": "true", "storageUri": "[concat('http://',variables('jumpBoxSAName'),'.blob.core.windows.net')]" } } }, "dependsOn": [ "[concat('Microsoft.Storage/storageAccounts/', variables('jumpBoxSAName'))]", "[concat('Microsoft.Network/networkInterfaces/', variables('jumpBoxNicName'))]" ] },
  • 32. ARM Template { "type": "Microsoft.Compute/virtualMachineScaleSets", "sku": { "name": "[parameters('vmSku2')]", "tier": "Standard", "capacity": "[parameters('instanceCount')]" }, "name": "[variables('namingInfix')]", "apiVersion": "[variables('computeApiVersion')]", "location": "[parameters('resourceLocation')]", "properties": { "overprovision": "true", "upgradePolicy": { "mode": "Manual" }, "virtualMachineProfile": { "storageProfile": { "imageReference": { "id": “ここにカスタムイメージのリソースIDを入れる” }, "osDisk": { "createOption": "fromImage", "managedDisk": { "storageAccountType": "Standard_LRS" } } }, "osProfile": { "computerNamePrefix": "[variables('namingInfix')]", "adminUsername": "[parameters('adminUsername')]", "adminPassword": "[parameters('adminPassword')]" }, "networkProfile": { "networkInterfaceConfigurations": [ { "name": "[variables('nicName')]", "properties": { "primary": "true", "ipConfigurations": [ { "name": "[variables('ipConfigName')]", "properties": { "subnet": { "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'), '/subnets/', variables('subnetName'))]" } } } ] } } ] } } }, "dependsOn": [ "[concat('Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'))]" ] } ] }