Microsoftが提供するAzureのセミナ「Microsoft Azure Virtual Training Day」に参加したので、その内容を備忘録としてメモしておきます。

Azure(というよりはクラウド全般)を最近使い始めた自分のような人間にはちょうどいい感じで、基礎的なことを網羅しつつ、気を付けないといけないポイントを押さえるような内容だったと思います。

ハンズオンによる演習付きのやつもあったようですが、僕が参加したのは演習がない半日2日間のタイプでした。

基本的、Azure資格のAZ-900のMicrosoftの解説資料をMSの社員の方が解説してくださるという流れです。興味のある方はそちらもどうぞ。

 

 

1日目

Azure資格AZ-900の出題範囲

クラウドの概念について理解する 15~20%
コアAzureサービスを理解する 30~35%
セキュリティ、プライバシー、コンプライアンス、信頼性について理解する 30~35%
Azureの価格体系とサポートについて理解する 25~30%

 

クラウドの概念

クラウドの利点

 

  • 高可用性(アベイラビリティ)・・・いつでも使える
  • スケーラビリティ・・・どこからでも、どこのサーバーも使える
  • 弾力性・・・大きさを変えられる
  • 俊敏性・・・即座位に変更が
  • フォールトトレランス・・・予備を用意しておいて一部故障しても大丈夫

それ以外の利点

規模の経済(クラウドベンダーが一括して安くサーバーを調達・管理できる)、基本的支出(CapEx)がほぼない、運営支出(OpEx)だけ支払えばよいので初期投資を節約できる。

 

クラウドの種類

 

  • パブリッククラウド・・・AWSとかMSとかgoogleが公に提供している誰でも使えるクラウド(OpeExのみ)
  • プライベートクラウド・・・オンプレじゃないけど、どこかのベンダーのデータセンターに専用のサーバーを用意してもらう(そこそこのCapExが必要、ハードの種類やセキュリティを指定することもできる)
  • ハイブリッドクラウド・・・セキュリティに応じて上の2つを組み合わせる

 

IaaS、PaaS、SaaSと共同管理

IaaS、PaaS、SaaSは管理責任が違う

azure IaaS、PaaS、SaaSの共同管理 引用www.microlink.co.jp

↑引用:https://www.microlink.co.jp/azure/ 株式会社マイクロリンク

 

  • Iaasは仮想化までOSからはユーザー責任を持って管理←柔軟性が最も高い
  • PaaSはランタイム、OSまで、データ、アプリケーションはユーザー責任←開発に集中できる
  • SaaSは全部ベンダー側が責任をもって見るけど、セキュリティの設定はユーザーが行うところもある

 

コアのAzureサービス

 

リージョンとリソース

 

リソース・・・複数あるAzureのサービスの実体(仮想マシン、仮想ネットワーク、ストレージアカウントなど物理的に存在するものもしないものもMSから借りるものはすべてリソースと呼ばれる

リージョン・・・物理的に存在するAzureのデータセンターに地域的なまとまり、ユーザーはVMをデータセンターやラック単位で指定できないが、このリージョンで自分のVMが展開される大体の地域を指定できる。

Global map showing Azure regions and Availability Zones

引用:https://news.microsoft.com/

Azureのリージョンにはペアがある(東日本と西日本)ってそれぞれ300マイル離れた位置にあり、ペアの両方にリソースを展開したりバックアップををとることで大規模な災害が起きた時にもサービスが完全に止まらない(課金が必要)。

さらに、SLA(可用性のレベル)を上げるためにGeoという概念があってGeo(アジア、ヨーロッパなどの地域)内でデーターを守ることも可能(課金が必要)

 

VMの作り方

 

Azure VM作成画面リソースグループをリージョンAZ-900

 

Azure portalにアクセスしてサブスクリプションを選んでリソースグループを選ぶ

仮想マシン名を選んで、リージョン(東日本など)を選ぶ。リージョン内に複数のデータセンターがあるがどこのデータセンターにVMが展開されるかはわからない。

可用性オプションを選び、

可用性セットを選ぶとVMが配置されるラックを分散してくれる(データセンターが全部落ちたらおしまい)。

可用性ゾーンを選ぶとVMが配置されるデータセンターを分散してくれる(リージョン全体が落ちたらおしまい)。

例えば、同じサービスを分散して担うVM1とVM2を可用性ゾーンを選らんで展開すると、VM1のデータセンターが死んでもVM2は違うデータセンターにあるので、サービスが完全に停止することはない。

可用性セットで選ぶ項目は下の2つ、

障害ドメイン・・・障害(災害や停電)が起きた際にすべてのリソースが固まらないように分けてもらえる数。これを設定しなくても複数のデータセンターに分かれてVMが展開される可能性はあるが指定しておけば最低限その数は分散される(たぶん分散の仕方などは指定できない?)。

更新ドメイン・・・OSのアップデートなどのVMのメンテナンスが同時に走らないように指定した数だけ分けてメンテナンスが実施されるようになる(実行される時間などは指定できない?)。

AZ-900リージョンとデータセンターと

 

 

リソースグループ

 

リソース(VNなど)は1つのリソースグループに所属する。一括管理する機能と、ユーザーの権限を制限(RBAC※セキュリティで説明)する機能がある。

Azure PortalやCLIからの命令はAzure Resource Manager(ARM)に行くが、ARMは認証(AAD※これもセキュリティで説明)に問い合わせてリソースグループに対してユーザーの権限的に正しい命令か判断してからリソースに変更を加える。

リソースグループは一つのサブスクリプションに属している。リソースからサブスクリプションまで基本下位の要素が上位の一つの要素に対応していて、階層構造をとることはないので、リソースグループが複数のサブスクリプションに属するのは不可能。

リソースグループとサブスクリプションAZ-900

引用:Azure Resource Manager公式ドキュメント

 

 

ARMテンプレート

 

リソースの構成を文章化(JSON)してテンプレートに保存するもの。テンプレートをARMに読み込ませることで自動でその通りのリソースを展開してくれる。

個人的に以前使ったとき、設定項目があまりにもおおくてわけわからんとなったが、ARMテンプレートのテンプレートが一から人間が書くものじゃないらしい。

ARMを操作する方法はAzure portal、ARMテンプレート以外にもたくさんある(Azure管理ツールで説明)。

Azure Resuorce ManagerについてAZ-900

 

 

Azureコンピューティングサービス

 

Azure VM・・・仮想マシンを運用

VM Scale Sets・・・同じVMをセットで提供

App Services ・・・PaaSでコードだけをデプロイ。自動でどっかサーバー上でプログラムが動く

Azure Functions・・・同じくPaaSでプログラムをデプロイ(App ServicesとAzure Functionsは今流行りのサーバーレス)

 

Azure Container Instance・・・提供されたコンテナエンジンにコンテナをデプロイできるサービス。

Azure Kubernetes Service・・・クーバネティスが使える。

Azure Virtual Network・・・仮想ネットワークとサブネットを提供する。リージョンをまたいで複数のリソースを展開したとしても、まるで一つのLANに存在しているように一つのipでまとめるという理解。この仮想ネットワークをオンプレ環境やプライベートのネットワークとVPNでつなげることも可能

Azure Load Balancer・・・ロードバランサー。外部からアクセスを先頭で受け取ってL4のpoer番号を読み取って適切なリソース(VM)に仕事を割りふる。

VPN Gateway・・・サブネット上にVPN Gatewayを配置してAzure Virtual NetworkとオンプレのネットワークをVPNで接続する例が紹介されてた。

Azure Application Gateway・・・WAF。L7でのルーティング?の話も紹介されてた。

Content Deliverry Network・・・動画などの重めのファイルをインターネット上のVMとは別の場所から送信できるファイルの置き場所。

 

 

Azure Storage サービス

 

IaaS

ディスク・・・VMの永続ディスク。プレミアムストレージなどがある

ファイル・・・ファイル共有。SMB(Windowsのファイル共有プロトコル)やREST(HTTPでファイルをやり取りする)でファイルを共有できる。

PaaS

コンテナ・・・BLOBと呼ばれる。非構造データでテキストファイルもしくはバイナリファイルを保存する。

テーブル・・・NoSQLデータ。構造化データ。スケーリング機能アリ

キュー・・・数珠つなぎでメッセージを保存する。連続したリクエストをアプリケーションが順番に処理するために一時的に保存する。

 

 

Azureのソリューション(PaaS、SaaS)

 

IoT関連

 

Azure IoT Central・・・Azure IoT Central Application ManagerでポチっとIoTデバイスを管理できる。

Azure IoT Hub・・・二つのIoTのデバイスの間を取りもつ。

 

 

構造化データ保存先(Azure Database Service)

 

Azure Cosmos DB・・・リージョン超えて全世界から高速でアクセスでき、自動でスケールアウトできる講師の人一押しの高性能DB

Azure SQL Database・・・Microsoft SQL Serverで動くRDB

Azure Database Migration・・・オンプレから自動でAzureにDBを上げるためのツール

 

 

ビックデータ関連

 

Azure SQL Data Warehouse(Synapse Analytics)・・・データベースとPyhtonやScalaなどによるデータ分析がセット。

HDInsight・・・Hadoop、Spark、kafkaなどでデータ解析できる。

Azure Data Lake Analytics・・・ペタバイト級のデータを解析

 

 

機械学習関連

 

Azure Machine Learning service・・・Pythonでメジャーなライブラリを動かして機械学習

Azure Machine Leaning Studio・・・コードレスで機械学習

 

 

サーバーレス関連(サーバーの管理しなくていい)

Azure Function・・・コードをだけをデプロイするだけでAPIなどの機能を実装

Azure Logic Apps・・・サーバレスかつコードレスでAPI実装

Azure Event Grid・・・

 

 

DevOps関連

Azure DevOps Services・・・

Azure DevTest Labs・・・自動で結果を返してくれるテスト環境を実装

 

 

Azure管理ツール

Azure Portal・・・Azureのアカウント作ったら最初に行くところ、ぽちっとリソースを管理、設定できる。

Azure PowerShell&CLI・・・コマンドでかっこよく管理できる。

Azure Cloud Shell・・・portal上でCLI使える

Azure mobil app・・・個人的にVMの立ち上げ立ち下げに便利

Azure REST API・・・APIをたたいてARMを直に操作

 

Azure Adiviser・・・可用性とかセキュリティとかコストを評価してくれる

 

二日目

セキュリティとコンプライアンス

 

ゼロトラスト・・・これまでの境界で守る考え方から、性悪説ですべてのトラフィックを監視する考え方。

共有責任・・・セキュリティの設定はクラウドのベンダー(Microsoft)とユーザーが責任を共有して行う。IaaS、PaaS、SaaSによって範囲は異なる。

Azure Firewall・・・WAFとは異なりすべてのプロトコルで攻撃からサービスを守る。DDoSはしたのDDoS保護がおこなうのでAzure Firewallとは別機能となっている。

DDoS保護・・・DDoS保護はデフォルトでついてくる。攻撃のログやレポートが欲しい場合は課金が必要

ネットワークセキュリティグループ・・・サブネットやNICを守るシンプルなファイヤーウォール。外部から接続可能なIPやportの設定、プロトコルの監視ができる。Just In TimeやAzure Bastionといった機能も提供する

nic・・・デバイスがインターネットにつながるための部品(カード)

 

 

認証と認可

 

認証された人にアクセス権を付与することを認可(承認)するという

Azure Active Directory・・・インタネット上の不特定多数のipに存在するデバイスを認証しアプリケーションにアクセスするために認可をする。一度AADに認可されてしまえば紐づけられたサービスをシングルサインオンでアクセスできる。アクセス権がない人を一時的に招待することも可能。BtoC向けにSNSのidでADDで認証する機能もある。ユーザーの要求に対して正しい場合は毎回トークンを発行し、ユーザーはそのトークンをアプリケーションにもっていくことでサービスを利用できる。

Identity Federation・・・企業内のオンプレのネットワークを丸ごと認証する

Multi-Factor Authentication・・・多要素認証

Azure Security Center・・・セキュリティ的に対策できていないことを教えてくれる。全部守ればベストプラクティス。Azure Adviserの豪華版(一部課金が必要)

Azure Key Vault・・・キーの保管庫。シークレット、キー、証明書などを格納できる金庫。専用のライブラリでプログラムから接続できる。SQLのユーザー情報なども入れて置ける

Azure Infomation Protection・・・AIPタグを電子メールなどにつけることによって、コピーや転送などで情報拡散することおw防げる

Azure Sdovanced Threat Protection

ポリシー・・・セキュリティのレベルを設定し、リソース、リソースグループなどにポリシーを付与することにより、準拠していないリソースを炙る出せる。

Role Based Access Centre(RBAC)・・・リソースやユーザーに直接アクセス権を与えるのではなくて、ロールを割り当てていちいちロールを照らし合わせてそれおぞれの行動がセキュリティ的に正しいかチェックする

ロック・・・ユーザーが間違った操作によってリソースを削除しないように権限を一部制限

Azure Blueprints・・・ポリシーを即座に適応できるように、再利用可能な環境の定義を保存。

 

 

監視とレポート

 

タグ・・・所有者や所属などをタグ付けすることができる。ポリシーによってタグ付けを強制することもできる。すべてのリソースはタグによって管理することもできるし、利用額などをタグごとに監視することもできる。

Azure Monitor・・・Adviser、Security Centerにならぶ第3の監視ツール。パフォーマンス(CPUの使用率やストレージの容量)、イベント(VMの作成削除など)のログを可視化しアラートを出すこともできる。アプリケーションのエラーやボトルネックなども見れる(App insights)。

Azure Service Health・・・サービスの正常性をモニタリング

マイクロソフトが準拠しているコンプライアンス

  • アメリカ国立標準技術研究所(NIST)
  • CJIS
  • HIPAA
  • ISO

など

トラストセンター・・・https://www.microsoft.com/ja-jp/trust-center

プライバシーポリシー・・・https://privacy.microsoft.com/ja-jp/privacystatement

Service Trust Portal・・・技術的、非技術的含めてコンプライアンス的に正しいかどうかそれぞれの規格(ISOやNIST)に合わせて評価してくれるコンプライアンスマネジャーという機能を利用できる(なおすべて英語)

Azure Government・・・アメリカの行政向けの隔離されたリージョン

Azure China・・・中国の法律に準拠したリージョン。他国からのアクセスは不可。

Azure Germany・・・ドイツの法律に準拠したリージョン。他国からのアクセスは可能だがデータの持ち出しは不可。

 

料金とサブスクリプション

 

一人のユーザーが複数のサブスクリプション持つことは可能

Pay as you go・・・使った分だけ翌月支払い

Enterprise・・・企業と年間契約

Student・・・学生が安く使える

この他にフリーアカウントがある。

 

 

サブスクリプションの階層

それぞれのサブスクリプションは管理グループに所属している。管理グループも階層構造を持ち、上位の管理グループにポリシーを適応していけば下層のサブスクリプションを含めたリソースに適用される。

階層構造をとれるのは管理グループだけ

 

CSP・・・ソリューションプロバイダーによって提供されたリソースはプロバイダーを通じて請求されることもある

VMを予約して料金を前払いすると割引料金で使える。

 

コスト

 

コストに影響を与える要因・・・リソースの種類、サービス、場所、ゾーン

ゾーン・・・可用性ゾーンとは関係ない。サービスのデプロイによってAzure内で通信が発生した場合、ゾーンの組み合わせによって通信費を課金するための概念。例えば東日本と中南米間で通信した場合お互いのゾーンの組み合わせに決まている料金が請求される

TCO計算ツール

コストの最小化・・・実行→モニター→使用→選択→最新情報→選択

Cost Manager・・・使用者、目的、タグごとにコストを分析して今後のコストを予想することができる。また、あらかじめ決めた閾値を超えるとアラートを出すことができる。

 

サポート

 

サポートいろいろある

Azure サポートの料金体系AZ-900

課金してないとメールと電話での技術的サポートは受けられない。

そんな時はMSDNやスタックオーバーフローなどで聞く

 

 

SLA

 

月間稼働率がSLAを下回った場合は月額の使用量を割り引かれる。

複合SLA・・・ここのSLAを掛け算した値

アプリケーションのSLA・・・回復性(RTO、RPO)、可用性(MTTR、MTBF)からユーザーが計算しないとしけない。

 

 

プレビュー

 

プライベートプレビュー・・・MSから事前に頼まれたユーザーのみが試せる新機能

パブリックプレビュー・・・誰もが試せる新機能、タダもしくはお安く使える。もし不具合を見つけたらMSに報告することになっている。

GA(General Availability)・・・製品。正規の価格で利用しないといけなくなる。

 

 

という感じです。受講中に目盛っただけなのでかなり雑ですが、AZ-900ののカンペとしては使えるのではないでしょうか?

 

それでは。