「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>Azure]] --[[Azureの仮想ネットワーク]] --[[Azure Virtual Data Center]] * 目次 [#g9cd79e0] #contents *概要 [#mf446bfe] Azureの仮想マシン *詳細 [#l95950a7] **構成 [#oe1c6c9d] 複数のリソースから構成される。 ***仮想マシン自体 [#oddb0fbf] -冗長化されていない。 -[[冗長オプション>#f9341dd6]]などを用いる。 ***[[ディスク>Azureのディスク ストレージ]] [#g4e1417d] -基本、[[管理ディスク>Azureのディスク ストレージ#v086e7a2]]を使用し、[[課金に注意する>#h2e8ed3d]]。 -システム・ドライブ~ Cドラのシステム・ドライブ --[[管理ディスク>Azureのディスク ストレージ#v086e7a2]]のPremiumなど。 --ローカル・ディスクと比べ若干遅い。 -データ・ドライブ --ローカル・ディスク~ Dドラのローカル・ディスクは、 ---ローカル SSDなので高速にアクセス可能。 ---ページング・ファイルなどでも利用される。 ---ただし、障害発生時、データは削除される。 --データ・ディスク~ Eドラ以降のデータ・ディスクは、 ---ライト・キャッシュを消して使用する。 ---[[管理ディスク>Azureのディスク ストレージ#v086e7a2]]のUltraなど。 ---DBのデータ・ファイル、トランザクション・ログ・ファイルなどを保存。 -共有ディスク~ クラスタ化ではS2D(=ソフトウェアベースの共有ディスク)を利用 ***NICとIPアドレス [#oc571d8d] -NIC --通常、1枚挿し+[[NSG>#t55ac311]]。2枚挿しも可能だが、~ [[VPFでのエミュレーション>Azureの仮想ネットワーク#ud86d249]]で物理的に堅牢にはならない。 --使用不可([[ネットワークの仕様上の問題>Azureの仮想ネットワーク#ud86d249]]) ---[[NLB]] ---[[MSCS/WSFC]] -IPアドレス --パブリックIPアドレスは別のリソース --[[プライベートIPアドレスは既定でDHCPで割り当てられる。>#t1ce7c44]] ***Guest VM Agent [#a1d3e45f] ポータルからの -インストール -コマンド実行 などを行うことが出来る。 ***その他 [#t55ac311] -[[NSG>Network Security Group (NSG)]] -[[GW / LB的なモノ。>AzureのGW / LB的なモノ。]] -診断ログ~ ストレージ → Azure Monitor、Log Analytics **課金 [#f5d72db5] |状態|仮想マシン|ディスク|ライセンス|h |開始中・実行中|>|>|CENTER:課金される| |停止済み(Stopped)|>|CENTER:課金される|課金されない| |割当解除済み、削除済み(Deallocated)|課金されない|課金される|課金されない| ***仮想マシン費用 [#yf9e9b52] -仮想マシンのノード割り当てが解除されない限り、課金が継続する。 --シャットダウンでは課金される。 --シャットダウンはOSからではなく~ 必ずポータルサイトから行い、割り当て解除する。 -EA 契約のコミットメント額資金(MC : Monetary Commit)から減算される ***[[ディスク費用>Azureのディスク ストレージ#ffcb1028]] [#h2e8ed3d] ***ライセンス費用 [#x999b94b] -BYOL : Bring Your Own License --ライセンス持ち込み --Azure 側では課金されない -PAYG : Pay As You Go --マーケットプレイスのイメージ --時間課金、月課金(日割りなし)などがある。 --2タイプ ---Azure 用の、SKU が存在するマイクロソフト製品~ ・EA契約のMCから減算される([[仮想マシン費用と同じ>#yf9e9b52]])。 ---Azure 用の、SKU が存在しないマイクロソフト製品、3rd party 製品~ ・EA契約のMCから減算されず、~ EA契約の超過料金として扱われる。~ ・VLのディスカウントの対象にならない。~ ・四半期ごとの請求書一括請求になる。 --- --必ずマーケットプレイスの Web ページから確認 ---Microsoft Azure Marketplace~ https://azuremarketplace.microsoft.com/ja-jp/marketplace/ **IPアドレス [#t1ce7c44] ***[[DHCPとDNS>Azureのアウトバウンド設計#a53e987e]] [#dd3a9d8e] ***IP固定 [#t9a83dfe] -ポータルからDHCP機能を使用して固定する。 -[[Azureで把握する必要があるのでOS上からIPアドレスを固定しない。>Azureの仮想ネットワーク#ud86d249]] -このシーンは、比較的少ない([[インバウンドは、基本的に、ILB経由なので>AzureのGW / LB的なモノ。]])。 **日本語化 [#rb4d4b9c] ***OSの日本語化 [#ue46253f] -[[日本語化作業>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?VM%E8%B5%B7%E5%8B%95%E5%BE%8C%E3%81%AE%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%81%AE%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97%EF%BC%88Windows%EF%BC%89#f62d73e9]]は面倒なため、 -極力、英語版のまま利用することを推奨 ***ミドルの日本語化 [#l33e9655] -[[BYOL>#x999b94b]] --[[OSの日本語化>#ue46253f]] --日本語メディアを持ち込んでインストール -[[PAYG>#x999b94b]]~ かなり厄介 --[[OSの日本語化>#ue46253f]] --アンストールしてプロダクトキー入手 --日本語メディアを持ち込んでインストール **ダウンタイム最小化 [#b0214fae] ***ハードウェア障害 [#ef7a5327] -突発的な故障~ [[サービス・ヒーリング>#m3fbd284]] -予測に基づく保守~ [[サービス・ヒーリング>#m3fbd284]](10分前通知) ***メンテナンス [#y1bb1953] -VMのメンテナンス~ ユーザが実施する。 -ホストのメンテナンス --ゲストへの影響なし~ 通知なく実施 --ゲストへの影響あり ---30秒以内で完了 → 15分前通知(PHU : Preserving Host Update) ---30秒異常必要 → 30日前に通知(一定期間内に手動再起動) ***サービス・ヒーリング [#m3fbd284] 仮想マシンが故障した場合でも、[[前述の構成>#oe1c6c9d]]から、~ [[データ・ドライブ > ローカル・ディスク>#g4e1417d]]以外を除いて、壊れない。 -15秒単位の死活監視 -10分応答がない場合、自動リカバリ(別ノードへ移動)される。 **冗長オプション [#f9341dd6] 仮想化レイヤーより下の構成 |#|構成|要素|h |1|シングルVM|サービスの復旧&br; (Service Healing)| |2|クラスタ構成|可用性セット&br;・VM Scale Sets&br;・ロード・バランサ Basic| |3|マルチAZ構成&br;(Availability Zone)|可用性ゾーン&br;・ゾーン冗長 VM Scale Sets&br;・ロード・バランサ Standard| |4|マルチリージョン構成|・ペアリージョン&br;・Traffic Manager| ※ 可用性セットと可用性ゾーンは「AND」ではなく「OR」。 ***クラスタ構成 [#d289b030] -可用性セット(AS) --[障害ドメイン]や[更新ドメイン]を分ける事により、可用性を高める。 ---障害ドメイン:共通の電源やネットワーク機器などを共有する範囲 ---更新ドメイン:Azureのメンテナンスリブートの際に影響を受ける範囲 --1つのラック障害で2台の仮想マシンが同時に停止することを回避できる。 ---故に、サーバー・ファームを構成するとき、複数ラックに渡って冗長化して配置する。 ---可用性セット自体にクラスタリング・負荷分散データ複製などの機能がある訳ではない。 -ロード・バランサ --仮想マシン間で着信トラフィックを分散 --詳しくは、[[Azure Load Balancer>AzureのGW / LB的なモノ。#o57521ef]]を参照(Standard)。 ***マルチAZ構成 [#s5c52819] -可用性ゾーン(AZ) --可用性ゾーンを分ける事により、可用性を高める。 ---リージョン内の各種ハードウェアが分離されたゾーン ---リージョン内に、3つ以上のに可用性ゾーンが存在する。 --1つのDC障害でDC中の仮想マシンが同時に停止することを回避できる。 ---サーバー・ファームを構成するとき、複数DC群に渡って冗長化して配置する。 ---可用性ゾーン自体にクラスタリング・負荷分散データ複製などの機能がある訳ではない。 -ロード・バランサ --仮想マシン間で着信トラフィックを分散 --詳しくは、[[Azure Load Balancer>AzureのGW / LB的なモノ。#o57521ef]]を参照(Standard)。 ***マルチリージョン構成 [#d61e1513] -ペアリージョン~ リージョン ペアの間で事業継続とディザスタ・リカバリ (BCDR) を構成 --複数リージョンにまたがって構成することで地理的に冗長化 --災害でリージョン中の仮想マシンが同時に停止することを回避できる。 -ロード・バランサ~ DNSベースの機能を利用した[[Traffic Manager>Azure Traffic Manager]]での切り替え。 ***注:AZをミニリージョンとして使用しない。 [#j9d74a5a] -AZはミニリージョンとしては機能しないため。 -AZは、ティアに渡って使用する。 >※ ティア:水平方向のサーバー・ファーム(Web、AP、DBと言う集合) -理由 --AWSではサブネットは特定のAZに固定される。~ 故に、AZをミニリージョンとして使用できる。 ---サブネット中に垂直・水平方向のサーバー・ファームを構成し、AZで冗長化していく。 ---このように構成すると、サブネット単位での設計が可能になる。 --Azureでは、サブネットは特定のAZに固定されない。~ 故に、AZをミニリージョンとして使用できない。 ---水平方向のサーバー・ファームを構成し、AZで冗長化していく。 ---このように構成すると、AzureのAZの特性からPaaS、SaaSと組み合わせ易くなる。 ***注:Azure Backupする場合、AZにピン留めしない。 [#w9f5279f] -[[Azure Load Balancer>AzureのGW / LB的なモノ。#o57521ef]]は、負荷分散とピン留めの選択が可能。 -シングル構成DBのバッグアップ・リストア運用のシナリオ等で、 --AZにピン留めされたサーバは、LBを使用しないでアクセスできるが、 --Azure Backupでリストアする場合、ピン留めゾーンに復元しようとするため、機能しない。 **セキュア化とロックダウン [#l5f9cc7c] ***作業内容の安全性の確認 [#pf76b919] -入力制御(インバウンド) --[[仮想ネットワークの入力制御>Azureの仮想ネットワーク#b6ebaa2e]]も参考にする。 --経路開放 ---AzureポータルやCLI、[[Guest VM Agent>#a1d3e45f]]~ ---AzureポータルやCLI、~ [[Guest VM Agent>#a1d3e45f]]~ 経路開放は、不要。 ---RDP / SSH(OS内)~ ・[[オンプレ延伸>FgCF (Financial-grade Cloud Fundamentals)#aed3c834]]からのアクセス。~ ・[[Azure Bastion]]からのアクセス。~ ・踏み台(Jumpbox)は危険なので、~ JIT VM Accessと言う機能もある。 ---インバウンド~ ・[[AzureのGW / LB的なモノ。]]~ ・その他、OS内部のFirewallなど。 --認証・認可 --認証・認可~ VMにAzAD認証でログインする機能。 ---[[Azure Active Directory]]認証を使用し、[[RBAC>Role Based Access Control (RBAC)]]の権限制御でログインを可能にする機能。 ---前提OSのイメージを使用しポータルから当該機能を有効化して作成する必要がある。 ---基本的に、サーバーに対してではなく、踏み台(Jumpbox)に対して使用する。 ---参考:Azure Active Directory (プレビュー) を使用して~ Azure 内の Windows 仮想マシンにサインインする | Microsoft Docs~ https://docs.microsoft.com/ja-jp/azure/active-directory/devices/howto-vm-sign-in-azure-ad-windows -ハードニング(クライアント or サーバ) --アンチ・マルウェア(OS) ---不正なディスク・イメージを利用しない ---アンチ・マルウェア・ソフトをインストールする~ ・Linux OS :ClamAV~ ・Window OS : Windows Antimalware(無償)~ ---仮想マシンの脅威検出や振る舞い監視を行う~ [[Azure Security Center]](ASC)の VM 監視機能(VM Insights) ---更新プログラムが正しく管理されている~ ・更新プログラムの自動展開スケジュールの構成~ ・上記のVM 監視機能(VM Insights)の更新管理機能(Update Management)~ --アンチ・マルウェア(ミドル・アプリ) ---ミドルウェア、アプリの挙動が監視監視方法について検討する~ ・ミドルウェア:JP1、Datadog~ ・アプリ:[[Application Insights]] ---必要に応じてファイルやレジストリの変更検知を行う ---適切なアプリのみが配置されるようになっている([[DevOps]]) ---必要に応じて許可されたアプリのみを実行するようにサーバを構成する~ [[Azure Security Center]](ASC)の Adaptive Application Control 機能 --無効化機能 ---非管理ディスクを使わない ---確認が取れていない(=許可されていない)拡張機能を使わない --高額請求抑止 ---巨大な VM サイズを利用しない。 ---自動的な起動 / シャットダウンが正しく構成する。 ---スケールアウト / スケールインのルールを正しく構成する(VMSS)。 ---ライセンス費用~ ・追加ライセンス費用が必要な VM イメージを利用しない~ ・BYOL が正しく構成されている(AHUBの設定など) --透過的暗号化 ---ディスクの暗号化~ ・[[ストレージは低レベルでは暗号化されている>Azureのストレージ#i1151b2e]]ので、基本的には不要。~ ・必要に応じADE(Advanced Data Encryption)により管理ディスクを暗号化できる。~ ・Windows OS では BitLocker、Linux では DM-crypt。~ ・主に内部犯行防止のタメだが、操作権限によっては無意味。~ ※ また、バックアップ・リストアが複雑化する。 ---メモリの暗号化~ Confidential Computing -出力制御(アウトバウンド) --[[仮想ネットワークの出力制御>Azureの仮想ネットワーク#b6ebaa2e]]も参考にする。 --経路制限 ---アウトバウンド~ ・[[Azureのプロキシ的なモノ。]]~ ・[[SNATポートの枯渇問題>Azureの仮想ネットワーク#lc0ca5af]] ---各種の拡張機能のVM エージェントが利用する経路~ ・経路開放が不要(基盤経路)~ ・ブート診断~ ・[[Azure Backup]]エージェント~ ・経路開放が必要(一般経路)~ ・Azure Diagnostics(WAD/LAD)~ ・VMインサイト(MMA/[[Log Analytics]] Agent)~ ・[[Application Insights]] ***変更・保守、作業の一覧化 [#b902c914] -VMの主なメンテナンス作業と、必要な権限付与~ --多くの作業は「Virtual Maschine Contributor」ロールが必要で、 --ネットワーク設定が必要な作業は、高権限である、~ 「Network Contributor」ロールが必要になるので要注意。~ --上記に合致しない作業も幾らか存在する。 --また、カスタム・ロール化した方が良い作業もある。 ---NIC追加、NSG設定の変更 ---仮想マシンの再起動、電源on/off、電源on/offスケジュール変更 *IaC化 [#n4a5bc5a] **[[Azure PowerShell]] [#u142de79] 下記を参照。 **[[Azure CLI]] [#s367b9db] >az vm create ^ --resource-group [既存のRG名] ^ --name [VM名] ^ --location [location] ^ --size [size] ^ --image [image名] ^ --admin-user [users名] ^ --admin-password [password] ^ --vnet-name [既存のVNET名] ^ --subnet [既存のSubnet名] -sizeの確認方法 az vm list-sizes --location [location] --output table -image名の確認方法 az vm image list --output table -例 --[[Azure上に素早く環境を構築する>Azure上に素早く環境を構築する#dd0f615f]] --[[Azure Bastionの踏み台VM>Azure Bastion#sf6b38d2]] **参考 [#j9b7cf41] ***[[Azure上に素早く環境を構築する>#e07f5f7f]] [#vdd1c705] ***[[SIOS Tech. Lab>#x0276ace]] [#sdc22499] ***[[Microsoft Docs > Azure Virtual Machines>#n6eebd91]] [#v14da034] *参考 [#xfe7f6da] **[[Azureのストレージ]] [#fd477e94] **Azure環境(仮想マシン) [#n9e8d092] ***[[Azureの評価環境を入手する]] [#r8f8b2de] ***[[AzureのPoC環境を契約する]] [#uaa2dd96] ***[[Azure上に素早く環境を構築する]] [#e07f5f7f] **SIOS Tech. Lab [#x0276ace] -【初心者】Azure CLI で仮想マシン(Ubuntu)を作成する --第1回 -リソースグループについて-~ https://tech-lab.sios.jp/archives/2998 --第2回 -仮想ネットワークとサブネットについて-~ https://tech-lab.sios.jp/archives/3026 --第3回 -ネットワークセキュリティグループについて-~ https://tech-lab.sios.jp/archives/3040 --第4回 -ストレージアカウントについて-~ https://tech-lab.sios.jp/archives/3046 --最終回 -VMについて-~ https://tech-lab.sios.jp/archives/3087 **nakama [#y26d97b6] ※ [[IaaS の構成方法>Azureの仮想ネットワーク#zd56347f]]中にも同様のトピックが含まれる。 **Microsoft Docs [#ibdfdaf5] ***Azure Virtual Machines [#n6eebd91] -クイック スタート Windows --Azure Portal で Windows VM を作成する~ https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/quick-create-portal --Azure CLI を使用して Windows VM を作成する~ https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/quick-create-cli --Azure PowerShell を使用して Windows VM を作成する~ https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/quick-create-powershell --ARMテンプレートは、[[コチラ>Azure Resource Manager テンプレート#h519dc16]] -クイック スタート Linux --Azure portal で Linux VM を作成する~ https://docs.microsoft.com/ja-jp/azure/virtual-machines/linux/quick-create-portal --Azure CLI を使用して Linux VM を作成する~ https://docs.microsoft.com/ja-jp/azure/virtual-machines/linux/quick-create-cli --Azure PowerShell を使用して Linux VM を作成する~ https://docs.microsoft.com/ja-jp/azure/virtual-machines/linux/quick-create-powershell --ARMテンプレートは、[[コチラ>Azure Resource Manager テンプレート#h519dc16]] ---- Tags: [[:インフラストラクチャ]], [[:クラウド]], [[:Azure]]