personal notes

メモメモ

Azure IaaS 応用

Azure IaaS 応用のeLearningのメモ

Infrastructure as a Code

  • Azure Resource Manager(ARM)テンプレート
    • リソースのデプロイと変更を定義するJSONファイル
    • ARMテンプレートはポータル、CLIVisual Studioから渡すことが可能
    • 作成方法は以下の3つから
    • パラメータの種類
      • secureString: 実行時に見れなくなる。パスワードをパラメータに使う場合に使う
      • secureObject: 同上
      • parameters セクション
        • ARMを実行するときにユーザーが入力できるパラメータを設定できる
        • "[parameters('parameter名')]" という書き方で参照可能
      • variable セクション
      • resources セクション
        • デプロイまたは変更するリソースの情報を定義する
        • 関数を使用できる(数値演算、文字列連結)
      • outputs セクション
        • 出力を定義できる。メモなど。
    • デプロイはMarketplaceから実行
      • Marketplace にはデフォルトでいろいろなテンプレートが登録されている
      • VM作成時に渡すパラメータで指定した仮想ネットワークやサブネットが存在しない場合は自動で作成される

Configuration as a Code

セキュリティ

アクセス制御

  • Azureポリシー
    • リソースの利用に制限を加える
      • 例としてリソースをデプロイできるリージョンなど
  • ロールベースアクセス制御
    • 職務に必要な範囲のアクセス権限を付与
  • JITアクセス制御
    • RD向けの機能
  • 仮想ディスクの暗号化
    • VHDは悪意のある管理者によってローカルにコピーされると起動できてしまう
    • Azure Storage Service Encryption
      • ストレージアカウント上の暗号化。あくまでデータセンター側の暗号化なので、管理権限を持つ人がダウンロードすると暗号化されない
    • Azure Disk Encryption
      • VHDの暗号化
      • 暗号化のキーはAzure Key Vaultで管理
      • Key Vaultを使うためにAzure AD App IDが必要。ダミーでよい。
      • 一度ディスクを暗号化すると、ディスクを追加しても暗号化される
      • 暗号化によるオーバーヘッドは10%程度
  • 仮想マシンの更新
    • Windows Update
      • 22時間毎のチェック。適用時間を制御できない。
    • WSUS
      • 22時間毎のチェック。適用時間を制御できない。
      • サーバーを立てて運用
    • System Center Configuration Manager
      • サーバーを立てて運用
    • Update Management
  • マルウェア対策
  • セキュリティセンター

仮想マシンの監視

  • Azureサービス正常性
    • Azure サービスそのものの正常性を確認する
  • Activity ログと診断ログ
    • Activity ログはインフラのイベントを記録(操作ログ)
    • 診断ログ
      • サービスそのものが出力するログ
        • ロードバランサ、Cognitive サービス、など
      • 有効化する必要あり
      • Azureストレージと連携して、ログを溜めることができる
      • Windows以外の仮想マシンにも使える??
      • metric
        • メモリ使用量といったリソース利用量をグラフで見れる
      • 診断ログはグラフ化できないので、ストレージアカウントから取得する
  • アラートルール
    • 監視データをしきい値の条件にしてアラートを生成
      • アクティビティアラート
      • メトリクスアラート
  • Azure Log Analytics
    • データの収集、保管、分析と可視化が可能
    • エージェントによる収集なので、環境によらずログの収集が可能
    • 分析には独自クエリを使う
      • ソリューションパックという監視に便利なクエリが用意されている

ネットワークウォッチャー

  • ネットワーク帯域は仮想マシンのサイズと種類によって異なる
    • すべてのNICの合計で見積もる
    • 送信トラフィックのみ
    • 高速ネットワークは仮想NICを経由せずに物理NICに直接アクセスして使うことで通信を高速化する機能
  • ワークロードの最適化
    • Trafic Manager
      • DNSレベルの負荷分散
        • Azure、オンプレ、AWSなどどのサーバにも負荷分散が可能
        • リージョン毎の負荷分散
    • Application Gateway
      • レイヤ7での負荷分散(URL)
    • Azure ロードバランサ
      • レイヤ4での負荷分散(TCP、ポート番号レベル)
      • 仮想マシン間で着信トラフィックを分散。可用性セットが同じものである必要がある。
      • パブリックLBと内部LBがある
        • パブリックLB: パブリックIP → プライベートIP
        • 内部LB: プライベートIP → プライベートIP
      • ロードバランサの構成
        • フロントエンドIPはリクエストを受け付けるIPアドレス。複数持てる。
        • バックエンドプール: 分散先の仮想マシンIPアドレス
        • 正常性プローブ: ヘルスチェックのようなもの。分散先の稼働状況を把握し、問題があるIPアドレスをバックエンドプールから除外する
        • 負荷分散規則: 分散ルール
        • 受信NAT規則: ポート変換。リモートデスクトップのポート3389をそのまま公開するのは危険なので隠蔽する
      • ロードバランサのみIPv6対応している
        • IoTデバイスはIPv6でしか通信できないため
  • VPNの最適化
    • VPNゲートウェイはポリシーベースとルートベースがあるが、ルートベースの方が機能が多いためそれを選ぶべき
    • VPNはバックエンドでは2台構成
      • アクティブ・アクティブ構成にすると切替による待機時間がなくなる(通常、15〜20秒)
      • アクティブ・スタンバイ構成の場合、切替時間は60秒程度
  • ExpressRoute
    • ExpressRouteの接続ポイントは東京と大阪にある
    • 接続ポイントまでは、通信事業者と契約して接続をしてもらう必要がある
    • 10Gpbsまで対応可能で超高速
    • L2とL3で接続できる。L2は非常に高額
    • 使用量は、WAN回線料 + ER接続サービス料 + ER回線利用料 + ERゲートウェイ使用料
    • ExpressRouteはパブリックIP、プライベートIP、Microsoftのサービスでの接続が可能。10仮想ネットワークまで。
  • 仮想ネットワーク間接続
    • VPNとピアリングがあるが、最近はピアリングの方が便利
    • チェイニング
      • ハブアンドスポーク型ネットワークを前提
      • アプライアンスを一箇所にまとめるための機能

Azure仮想ネットワークのセキュリティ

  • 優先順位はユーザー定義ルート → BGPルート → システムルート
  • NSG(Network Security Group)は2次的なものとして使用する
    • パーソナルファイアウォールのようなもの
    • 割当は仮想ネットワークとNICの2つにできる
      • サブネットかNICかのどっちでドロップされているのかを意識すること
    • NSGは通信元の大元と接続先で設定する
      • 例えばクライアントPC → LB → 仮想マシン という場合は、クライアントPC と 仮想マシン間での通信として設定を考える。
  • 強制トンネル

ネットワークの監視

  • ネットワークウォッチャー
    • 仮想マシンと仮想ネットワークのパフォーマンスを監視する
    • パケットキャプチャ
    • 疎通確認

Azure IaaS 基礎

Azure IaaS 基礎

  • サブスクリプション毎にリソース使用量の上限値(クオータ)がある
    • コア数 20
    • 仮想ネットワーク 50
    • 予約済IPアドレス 20
    • リソースグループ数 800
    • VM数 100
  • 上限の変更はサポートに連絡(東日本リージョンはリソース不足のため対応不可の可能性)
  • クラスタ → ラック → サーバ
  • 1クラスタ 1000インスタンス。1インスタンスSLA 99.9%(Premium ストレージ使用時)
  • 同じ役割の Azure 仮想マシンを同じ可用性セットに所属させることでサービスの可用性を向上できる
    • 障害ドメイン
      * 物理サーバのラックに相当。ラックの障害の影響範囲はそのラック内に留まる
      
    • 更新ドメイン
      * 定期メンテ時に同時に更新、再起動されるVMのグループ
          * *** 意識しないと同時に再起動 → システム停止になるのでは?
      
  • SLA
  • ストレージ
    • ページ Blob(VHDファイルが格納される)
    • ブロック Blob
    • 管理ディスクと非管理ディスク
      • 管理ディスクはバックグラウンドで更新などの管理がされている
  • リソース集合は「リソースグループ」という単位でまとめて管理するとよい
    • 例: VMに紐づくストレージ
  • アクセス制御(IAM)でリソースグループだけを管理できるユーザーを管理できる
    • 契約者はなんでもできる権限の強いユーザーのため、環境管理は別途ユーザーを作成して環境管理権限を付与する方がセキュリティ上好ましい
    • サブスクリプション全体に対してのアクセス制御も可能
  • リソース管理のノウハウ
    • サービス毎にタグで管理
    • リソースの命名規約を決める
      • サービス名-リソース種別-インデックス など
  • ストレージアカウント(非管理ディスクのみ)
    • アカウント種類は汎用v1と汎用v2、BLOBストレージアカウントの3種類がある
    • GRSを使うとレプリケーション先のリージョンは決まっている
  • 仮想ネットワーク
    • DNSルーターIPアドレスを指定すればよい(ルーターDNSサーバーとのプロキシになる)
      • Active Directoryドメインコントローラーを使用している場合はDNSサーバーのIPアドレスをカスタムで設定する
      • 第四オクテットが0, 1, 2, 3のIPアドレスは内部的に使用されるので、払い出したサーバーには4から割り当てられる
      • ネットワーク・セキュリティグループ(NSG)。OpenStackでいうセキュリティグループ。デフォルトでは全拒否
  • 仮想ネットワーク間の接続
    • VNetとVNetの接続はIPsec経由でのVPN接続
    • リージョン内もリージョン間も可能
    • 仮想ネットワークゲートウェイVPNゲートウェイ)を使う
      • 手順
        1. ゲートウェイサブネットの追加(第四オクテットが0, 1, 2, 3はGWサブネットに使われる)
      • 接続先のネットワークのIPアドレスが被ってしまうと使用できない
    • VNet ピアリング
      • 同じリージョンに存在する2つの仮想ネットワークをAzureのバックボーンネットワークで接続
      • 仮想ネットワークゲートウェイ以上の速度でネットワーク間の通信が可能
      • アドレス空間が被ると利用不可。サブネットを大きく取る場合は要注意
      • 推移的な接続は不可(ネットワークA → B → C と接続したときに、A → C はできない)
      • 接続後はプライベートIPアドレスで通信可能(VPNでも同様)
    • サイト間接続(オンプレ ⇔ Azure)
      • ゲートウェイサブネットの他に、ローカルネットワークゲートウェイを設定する
      • マルチサイト接続は1ネットワークあたり30のオンプレサイトをVPN接続可能
      • ポイント対サイト接続
        • クライアントからAzure仮想ネットワークへの接続
        • 最大128接続であることに注意
        • クライアント証明書(自己証明で構わない)
        • IPComみたいなユーザーインターフェースがある
      • ExpressRoute
        • 専用線による通信。ExpressRouteパートナーとの契約が必要
  • 仮想マシン
    • ドライブ
      • OS用、一時ドライブ、ユーザーデータ用(データディスク)の3種類がある。OS用と一時ドライブにはユーザーデータを入れないこと。
      • キャッシュを有効化すると障害発生時にデータが書き込まれていない可能性があるが、ディスクI/O性能は高速
      • 記憶域スペース: 複数のディスクを一つのディスクとしてみせる機能
  • Azure Backup
    • 仮想マシンやファイル単位でのバックアップが可能
    • オンプレもクラウド上のデータもバックアップ可能
    • ARSのストレージアカウントを用意して、3重化または6重化のバックアップが可能
    • バックアップに利用しているストレージについて課金される
    • Recovery Service コンテナーでバックアップに関する設定ができる
    • バックアップの通信はインターネット通信
    • Azure Backup + GSR は災害対策にはならないので、Azure Site Recovery(ASR)を利用すること
      • Azure BackupはフェールオーバーはMicrosoftの判断になるのでユーザーはコントロールできない。バックアップのみ自動で復旧は手動。
  • サービス復旧
    • バックアップ: データのバックアップだが復旧はしない
    • 災害対策: 災害発生時でも影響のないリージョンにデータを持つこと
    • 高可用性: 冗長構成にして障害発生時に通信を別ルートに向ける

Azure 見積りトレーニング メモ

Azure 見積りトレーニン

  • 課金
    • VM: サーバースペック × インスタンス数 × 稼働時間
    • ストレージ: データ利用量 × 単価
    • ネットワーク: データ転送量 × 単価
      • 同一データセンター間は無料
    • データベース
      • Basic/Standard/Premium の3プランだが、実際はデータ使用量やパフォーマンスなどでより細分化している
    • サポート
      • 開発者、Standard、Professional Direct、Premier
      • Professional Directは月10万円くらいかかる
  • ネットワーク

    • VPN: インターネット経由
    • ExpressRoute: 閉域接続
    • VNETピアリング: 異なるサブスクリプションで作られた仮想ネットワーク間の通信
    • データ通信量 ✕ 単価。単価は帯域幅などのスペックによって変わる
  • バックアップ

    • バックアップの単位でAgentが異なる
      • VM単位、サーバファイル、ファイル/フォルダ
      • バックアップ可能最大サイズ
    • 見積り
      • サーバ単位で固定料。他、バックアップ容量でストレージ使用量についての課金が発生。
      • データは圧縮されて保管されるため、実際の課金量は目に見える容量から見積もったものとは異なる場合がある。システムから見える容量を最大値として見積もる。
  • データベース
    • Basic Standard Premium の3プラン
    • DTU(Database Throughput Unit)によって価格が変わる。
    • ベンチマーク、ワーカスレッド、最大接続数を見る。
  • サポートサービス
    • 開発: 開発時の障害調査
    • Standard: 運用時の障害調査
    • Professional Direct: 仕様の調査、アドバイザリーサポート
    • Premier
      • MSの全製品サポート

Azure入門の研修メモ

Azure入門

  • 料金計算ツールを使って価格計算ができる
  • IDaaS Azure Active Directory は オンプレの Active Directory とは異なる
  • Azureはエンタープライズ向け → 個人で契約可能か?
  • サービスはIaaS, PaaS, Hybrid Operations, Security & Management の4ブロックに分けられる
  • Azureのデータ格納は3重化または6重化
    • LRS:ローカルリージョンで3重に書き込む
    • GRS:ローカルリージョンの3重化×2拠点
    • RA-GRS:Read onlu Access GRS。GRSのコピー先データを、読み取りでアクセスできる
  • 契約体系
    • 直接契約:従量課金
    • EA契約:年間一括で契約し、超過した分を後払い
    • CSP(Cloud Solution Partner)はパートナーが価格を決める
  • オンプレはいかにダウンさせないか、クラウドはいかに早く復帰するか
  • AzureはSLAを公開している
  • Azure Backup
    • オンプレとクラウドのデータを自動保護(スケジュールバックアップ)
    • 99.9% の可用性
    • リージョン間のバックアップ(GRS)も可能、このとき非同期
  • Azure Site Recovery
    • システム全体(VMware 仮想マシンHyper-V仮想マシン、物理サーバで実行されているワークロードなど)を、セカンダリデータセンターに自動バックアップする
    • 通常状態、災害時のフェールオーバー、復旧時のフェイルバックを計画できる
    • オンプレからクラウドへの移行にも利用できる
  • 仮想マシン
    • シリーズとよばれるタイプ一覧から選ぶことになる。一度選ぶと他のシリーズに移行はできない。
      • Aシリーズは標準モデル(エントリモデル)
      • Nシリーズはグラフィック搭載インスタンス
  • スケールアウトできるリソースをスケールセットという
  • App Service: PaaSの構成(サービスやスペック)を管理する単位
  • オンプレとAzureを接続する場合は、VPNゲートウェイIPSec VPN)またはExpressRoute(専用線)を使用する
  • 統合モニタリング(Azure Monitor)
    • ログ解析ツール
  • 課金
    • データをAzureにアップロードするときは無料、ダウンロードするときは有料
    • Azureのリージョン間の通信はピアリングと呼ばれる機能になり、別の料金体系