kayaru28の学習日記

勉強したことの整理と、graphvizでの図形作成練習のための学習日記です。

Azure:Azure管理者資格に向けての勉強メモ~Azure基本用語をまとめました~

]Azureの認定資格の一つである、Microsoft Azure Administrator(AZ-103、AZ-104)に向けて、基本用語っぽい単語とその意味をまとめていきます。 随時更新中になります。

Azureの購入形態

サポート種別

  • 基本(無料)
    • 請求およびサブスクリプション管理サポート
    • 24 時間年中無休のセルフヘルプ リソース
    • 必要な数のサポート チケットを送信する機能
    • Azure AdvisorによるAzure のベスト プラクティスに関するパーソナライズされたガイド
    • Azure の正常性状態と通知
  • 開発者($29/月 )
  • 標準($100/月)
    • 24 時間年中無休のメールと電話によるテクニカル サポート問い合わせ
    • 重大度に対する応答時間
      • 重大度C(事業に軽微影響)向けに8営業時間以内の応答
      • 重大度B(事業に部分影響)向けに4営業時間以内の応答
      • 重大度A(事業に重大影響)向けに1営業時間以内の応答
  • プロフェッショナルダイレクト($1,000/月)
    • 重大度に対する応答時間
      • 重大度C(事業に軽微影響)向けに4営業時間以内の応答
      • 重大度B(事業に部分影響)向けに2営業時間以内の応答
      • 重大度A(事業に重大影響)向けに1営業時間以内の応答
    • ProDirect 配信マネージャーのプールからの各種サービス
      • アーキテクチャサポートによるガイダンス
      • オペレーションサポートによるサービス レビューとアドバイザリの相談
    • Azureエンジニアによるウェビナートレーニン
  • プレミア
    • 専属 の テクニカルアカウントマネージャー( TAM)

エリアの概念

  • ジオ
    • 2つ以上のリージョンを含む
    • ジオ内のリージョンではペアとなる(一部を除く)
  • リージョン
    • 1つのジオに所属
    • 一部リージョンでは3つ以上のAZゾーンを含む
    • リージョンペア
      • 同一ジオ内の特定のリージョンのペア(一部リージョンを除く)
      • 求められる耐障害性、高可用性を求められる基盤となる
      • ペアで同時にメンテナンスが行われないことが保証されている
  • AZゾーン
    • 1つのリージョンに所属
    • 1つ以上のデータセンターを含む
    • 1部のリージョンでのみサポートされる

価格オプション

  • エンタープライズ 契約( EA)
    • 事前に利用料金をコミットすることによる割引
    • 期間は1年間
  • Azure Reserved VM Instances(予約インスタンス、RI)
    • Azure Virtual Machinesに対する利用をコミットすることによる割引
    • 期間は1年間、または3年間
  • 予約容量
    • PaaSサービスに対する利用をコミットすることによる割引
    • 対象はAzure SQL Database(仮想コアモデル)、Azure Cosmos DB、AzureSynapse Analytics、Azure Cashe for Redis
    • 期間は1年間、または3年間
  • Azureハイブリッド特典
    • オンプレミスのライセンスを流用することによる割引
    • 対象はAzure Virtual Machines、Azure SQL Database(仮想コアモデル)
  • Azure 開発/テスト価格
    • 開発/テストでの使用に限定
    • 対象はWindows Virtual Machines、BizTalk Virtual Machines (Enterprise、Standard) 、Azure SQL Database、SQL Server Virtual Machines (Enterprise、Standard、Web) 、Logic Apps エンタープライズ コネクション、App Service(Basic と Standard) 、Cloud Services 、HDInsight

リソースの管理

リソースグループ

  • リソースを論理的にまとめたグループ
    • リソースグループを削除すると、リソースグループ内のすべてのリソースも削除される
    • ダウンタイムなく内部リソースのグループ移動が可能
      • 依存関係にあるリソースは同時に移動する必要がある
  • ロック機能・・・リソースグループ(およびリソース)の「削除」または「変更・削除」を防止できる

タグ

  • リソースに対してカスタムな情報を付与できる
  • 1リソースに最大50個設定可能

Azure Resource Manager (ARM) テンプレート

  • デプロイが必要なリソースを定義したJSONファイル
  • テンプレートをデプロイすることで、テンプレートに記述されたリソースがデプロイされる
    • テンプレートセクション
      • parameters・・・テンプレート実行時に読み込みたい値
      • varlables・・・テンプレートファイル内で使われる変数
      • functions・・・テンプレート内で繰り返し使われる処理の塊
      • resources・・・デプロイするリソースを定義
        • dependsOnにより依存関係を表現
    • 作成済みのリソースから定義をエクスポート可能

Iaasモデル

  • クラシックモデル(V1)
    • 別名ASM(Azure Service Manager)
    • GUIはクラシックポータル中心での提供
  • Resource Managerモデル(V2)
    • 別名ARM(Azure Resource Manager)
    • GUIはAzureポータルでの提供
    • 構成要素をリソースとして表現し、システムをリソースの組み合わせで構成
    • リソースは必ずリソースグループに所属
    • リソースはURIによって表現
    • PaaSリソースもサポート

ネットワーク

VNet(仮想ネットワーク)

  • 使用するネットワーク空間全体(IPアドレス)を定義
  • アドレス範囲の追加または削除が可能
  • サブネット・・・VNetのネットワーク空間(IPアドレス)を分割
  • サービスエンドポイント・・・AzureサービスへのアクセスをVNet内部に限定することが可能

VNetピアリング

  • 同一リージョン内のVNet間を接続
  • ピアリングを行う両方のVNetにて接続の作成が必要
  • ピアリング設定中にVNetのIPアドレス範囲は変更不可
  • 直接ピアリングしたVNet同士のみが通信が可能となる
  • グローバルVNetピアリング・・・異なるリージョンのVNet間を接続可能になる

VNet間接続

VPNゲートウェイ

  • 暗号化されたトラフィックを送受信するためのゲートウェイ
  • 主な使用方法はサイト対サイト(Azure VNet - オンプレミスNW)、ポイント対サイト(Azure VNet - デバイス)、ネットワーク対ネットワーク(Azure VNet - Azure VNet)
  • 通常のサブネットと異なる「ゲートウェイサブネット」が必要
  • 2種類のVPNタイプ
    • VPN
    • Express Route
  • 2種類のVPNタイプ
    • ルートベース
      • IKEv2をサポート、推奨
      • 各トンネル間で暗号化する必要があるパケットをワイルドカードにより指定
      • 動的ルーティングを使用できる
    • ポリシーベース
      • IKEv1をサポート、非推奨
      • 各トンネル間で暗号化する必要があるパケットの IP アドレスを静的に指定
      • 静的ルーティングを使用できる
  • 通信要件に応じたSKUを設定
    • Basic・・・トンネル最大10、スループット合計最大100Mbps、BGP非対応
    • VpnGw1・・・トンネル最大30、スループット合計最大650Mbps、BGP対応
    • VpnGw2・・・トンネル最大30、スループット合計最大1Gbps、BGP対応
    • VpnGw3・・・トンネル最大30、スループット合計最大1.25Gbps、BGP対応
    • VpnGw#間は作成後の変更が可能
  • VPN接続設定
    • 指定した接続に対する共有キーを作成する
    • VNet対VNet、サイト対サイト、Express Routeを指定可能

ローカルネットワークゲートウェイ

  • VPNを用いてAzure VNetーオンプレミスNWを接続する際に用いる、オンプレミス側のVPN機器
  • オンプレミス側の、パブリックIPアドレスとルーティング可能なアドレス範囲を指定

Azure Express Route

NSG(ネットワークセキュリティグループ)

  • VNet内のトラフィックをフィルタリングすることができる
  • サブネット、NICに対して関連付けして適用
  • セキュリティ規則を受信/送信方向個別に設定して使用する
    • 名前
    • 優先度
    • ポート範囲
    • プロトコル(Any/TCP/UDP
    • 送信元(IP、サービスタグ、Any)
    • あて先(IP、VNet、Any)
    • アクション(許可、拒否)
  • 既定のルールが一式含まれている(暗黙のDeny含む 優先度65500)
  • サービスタグ・・・Azureが管理している特定のIPアドレスのグループ
  • アプリケーション セキュリティ グループ
    • 特定のアプリケーションで使用されるリソースのネットワークセキュリティグループ
    • ネットワークインターフェースをグループ化し、NSG内で送信元またはあて先として指定可能となる

Azure DDoS Protection Basic

  • 内部的なL4レイヤまでのDDoS攻撃を検知し、緩和する仕組み
  • 共有ネットワーク全体に適用

ロードバランサ―

Azure Load Balancer

  • リージョンに配置
  • L4ロードバランサ―
  • ソース・あて先×IPアドレス・ポートの4項目及びプロトコルを利用
  • 2種類のSKU・・・Basic/Standard
  • バックエンドプール・・・トラフィックを分散するあて先グループ(仮想マシン、スケールセット)
  • 正常性プローブ
    • バックエンドプールの状態監視設定
    • プロトコル、ポートを指定
  • セッション永続化・・・同一セッションのリクエストを同一クライアントへ分散する(クライアントIPまたはクライアントIPとプロトコルを指定可能)

Azure Application Gateway

  • L7ロードバランサ―(基本的な特徴はALBと同様)
  • リスナー・・・プロトコル、ポート、ホスト、IP アドレスの組み合わせにより構成されるトラフィックの到着先
  • ルーティング規則・・・リスナーとバックエンドプールの紐づけ
  • Cookieベースのスティッキー セッション
  • SSLオフロード
  • パス/URLベースのコンテンツルーティング
  • WAF機能も利用可能
  • スケーリングは手動と自動を設定可能、インスタンスの最大と最小を制限できる
  • SKU
    • レベル・・・Standard、WAF
    • サイズ・・・Small,Medium,Large

Azure Traffic Manager

DNS

Azure DNS

  • DNSのマネージドサービス
  • ゾーンをVNetにリンクして使用
    • 自動登録の有効化・・・有効化したVNet内に仮想マシンが追加されると自動的にレコードが登録

既定の内部DNS

  • 名前解決対象は同一VNetおよびインターネット上の公開ホスト
  • 任意のレコードの追加は不可

ストレージ

ストレージアカウント

  • ストレージサービスを使うための基本設定
  • 作成時の指定オプション
    • インターネット上で一意の名前を設定
    • アカウントの種類
      • 汎用v1・・・すべてのストレージの種類(Blob、Files、Table、Queue)をサポートしているが、 すべての機能はサポートしていない
      • 汎用v2・・・すべてのストレージの種類とすべての機能をサポート
      • Blobストレージ・・・Block Blob、Append Blobを利用できる
      • ファイルストレージ・・・Filesをサポート
    • パフォーマンス
      • Standerd(HDD)・・・IOPS上限20000、Diskあたり500
      • Premium(SSD)・・・冗長化はZRSまでがほとんど
    • レプリケーション
      • LRS(ローカル冗長ストレージ)・・・リージョン内の同一データセンターで3つのレプリカ
      • ZRS(ゾーン冗長ストレージ)・・・リージョン内の3つの可用性ゾーン(AZ)にわたって計3つのレプリカ
      • GRS(地理冗長ストレージ)・・・ペアリージョンにて3つずつ、合計6つのレプリカ、フェールオーバー時はアクセス不可
      • RA-GRS(読み取りアクセス地理冗長ストレージ)・・・ペアリージョンにて3つずつ、合計6つのレプリカ、フェールオーバー時の読み取りアクセス可能
  • 利用可能ストレージサービス
    • Disk(ページBlob)
      • 仮想マシンにアタッチする仮想ディスク(VHD)用ストレージ
      • マネージドディスク(管理ディスク)とアンマネージドディスク(非管理ディスク)の2種類
    • Blob(ブロックBlob)
      • オブジェクトストレージ
      • アクセス頻度(ホット、クール、アーカイブ)による使い分け可能
        • ホット・・・可用性99.9%、アクセスコスト低、容量単価高
        • クール・・・可用性99%、アクセスコスト中、容量単価中
        • アーカイブ・・・可用性SLAなし、アクセスコスト高、容量単価低
    • Table・・・キー・バリューストア
    • Queue・・・キューサービス
    • File・・・ファイル共有サービス

バックアップサービス

Recovery Servicesコンテナ―

  • バックアップデータを格納する入れ物
  • 同一リージョンのデータしかバックアップ取得できない

Azure Backup

  • クラウド・オンプレミスのデータをバックアップし、リストアすることを可能とするサービス
  • スナップショット
    • 仮想マシン上の全ディスクの特定時点のコピー
    • WindowsVM用の拡張機能にて、メモリ内のデータのコピーも取得可能
  • MARS(Microsoft Azure Recovery Services)・・・オンプレミス向けのバックアップのために必要なエージェント
  • バックアップポリシー
    • バックアップの取得タイミングと周期・頻度および保持期間を指定可能
    • デフォルトでは1日1回、30日間保持、保持期間は最大99年
  • 復元オプション
    • 新しいVMを作成する
    • ディスクを復元する(別途VMをカスタマイズして作成する際に利用する)
    • ディスクを復元し、既存の仮想マシン上のディスクを置き換える(非暗号化のマネージドVMのみ)
  • ファイル/フォルダーレベルの復旧も可能

Azure Site Recovery

  • データの安全な保護及び短時間での災害復旧を可能にするサービス
  • 自動で仮想マシンのバックアップを開始し、レプリカのマネージドディスクにデータを保持

Azure Virtual Machines

  • IaaS環境を提供
  • サイズの変更には再起動が必要
  • 3種類のディスクを接続可能
    • OSディスク
    • 一時ディスク
    • データディスク(オプション)
  • 監視・診断機能の有効化・・・ストレージサービスのBlobとTableへ情報を蓄積する
  • 可用性セット
    • 障害ドメイン/更新ドメインが異なるVMの組み合わせ
    • 障害ドメイン
      • 電源やネットワークスイッチが独立したハードウェアのグループ
      • 同じ障害ドメインVMは物理障害にて同時ダウンの可能性あり
    • 更新ドメイン
      • アップデートを行う単位
      • 同じ更新ドメインVMは同時にパッチ適用・再起動の可能性あり
  • スケールセット
    • 同一イメージの仮想マシンをグループ化して作成・管理することが可能
    • CPU使用率に基づく自動スケーリングルールを作成できる
    • スケールセット内の最大・最小インスタンス数を設定可能

コンテナ基盤

Azure Container Instances

  • コンテナ―実行サービス
  • コンテナグループ・・・同じホストマシンで実行されるコンテナの集合

Azure Kubernetes Service

  • Kubernetesクラスターをデプロイ
  • AKS自体は無料であり、AKSのために動いているノードのリソースに基づいて課金

Azure Service Fabric

  • マイクロサービスプラットフォームの構築・運用を可能とするサービス
  • オーケストレーション、アプリケーションやコンテナのパッケージング、デプロイ、運用機能を提供
  • Azure のインフラストラクチャおよび多様な Microsoft サービスを支えるOSS
    • Skype for Business、Intune、Azure Event Hubs、Azure Data Factory、Azure Cosmos DB、Dynamics 365、Cortana
    • Azure SQL Database、Azure SQL Data Warehouse、Azure Database for MySQL/PostgreSQL

データベース

Azure SQL Database

  • データベース最大容量は4TB
  • パフォーマンスに基づく購入モデル
    • DTUモデル
      • CPU使用率、メモリ使用量、ディスクI/Oを組み合わせた値
      • 大きい段階にBasic、Standard、Premiumがある
    • 仮想コアモデル
      • コンピューティング/メモリ/ストレージを独立してスケール可能な新しいモデル
      • 大きい段階にGeneral Purpose、Business Critical、Hyper Scaleがある
  • 複数のセカンダリノードに対するレプリケーション(Premium or Business Critical)
  • 自動バックアップ
    • 保存期間はBasic7日間、Standard/Premiumは35日間、仮想コアモデルは35日間
    • アクティブ地理レプリケーション
  • 管理ツール
  • エラスティックプール・・・プール内の複数のDBがリソースを共有
  • Managed Instance・・・オンプレミスのSQL Server互換性100%のDBインスタンス
  • アクセスには、Azure内部からはAzure接続の有効化、外部からはDB/SVレベルのFWにおける許可設定が必要

Azure SQL Data Warehouse

  • 並列分散データベースサービス
  • 制御ノード、コンピューティングノード、ストレージに分かれる
  • データベース最大容量は240TB、1TBごとに自動スケール
  • パフォーマンスはDWU単位で、DWUを変更すると実行中のクエリは停止する
  • データを維持しての一時停止可能

Azure Database for MySQL/PostgreSQL

  • 複数の仮想マシンクラスター構成がとられた基盤上のDB
  • 自動バックアップ(7~35日間の保存)
  • パファーマンスベースのプラン
    • Basic・・・仮想コア1~2、メモリ2GB、ストレージは5GB~1TBのStandard Storage
    • 汎用・・・仮想コア2~32、メモリ5GB、ストレージは5GB~4TBのPremium Storage
    • メモリ最適化・・・仮想コア2~16、メモリ10GB、ストレージは5GB~4TBのPremium Storage
  • 基盤となるサーバに対する課金(データベース単位ではない)

Azure Cosmos DB

  • NoSQLデータベースサービス
  • 異なるデータモデルの5つのデータベースAPIを提供
    • SQL API
      • ドキュメント指向データベース
      • JSON形式のドキュメントをサポート
      • SQLライクなクエリ言語をサポート
      • 自動インデックス作成
    • MongoDB API
      • ドキュメント指向データベース
      • MongoDBと互換性のあるAPIを提供
    • Gremlin API
      • グラフデータベース
      • Apache TinkerPropのマネージドサービス
    • Table API
    • Cassandra API
      • 列志向データベース
  • パフォーマンスはRU単位
    • 1RUは1KBのドキュメントをID指定で取得した際のコストに相当
    • 400RUから、100/秒単位で指定でき、変更可能
    • 上限は10000RU/秒または10GB
    • RUと容量に基づいて自動でスケールアウト
  • パーティション分割を有効化可能
    • 有効化時はRUと容量の上限が無制限
    • マルチマスター書き込み機能もあり
  • RUに基づいた時間単位+格納データ量に基づいて課金
  • 地理レプリケーションを構成可能(レプリケーション先に上限なし)
    • 書き込みリージョンと読み取りリージョンに分類
    • 書き込みリージョンの更新内容の浸透は非同期
    • 優先順位を指定して、レイテンシを最小化できる
  • 3種類の特別なSLA・・・対RUで指定されたスループット、整合性レベル、レイテンシ
  • 5つの整合性レベル・・・強い整合性、有界整合性制約、セッション、一貫性のあるプレフィックス、結果整合性

IoT関連

Azure IoTソリューションアクセラレータ

  • 複数のIoTのPaaSサービスおよびコード資産を使用した特定のシナリオ向けのアプリケーション
  • OSSなのでカスタマイズ可能

Azure IoT Central

  • IoTデバイスの接続、監視、管理を簡潔かつスケーラブルに行えるマネージドSaaS
  • 内部で複数のPaaSサービスを活用

Azure IoT Hub

Azure IoT Edge

  • 処理をエッジデバイスにて実行できるようにするソリューション
  • 処理の内容をDockerコンテナ(IoT Edge モジュール)としてエッジ側デバイスにデプロイ
  • カスタムコード及びAzure Functions/Azure Stream Analytics/Azure Machine Learningサービスによる処理を実行可能

分析基盤

Azure Data Factory

  • ETL (抽出 - 変換 - 読み込み)、ELT (抽出 - 読み込み - 変換)、データ統合等を行うデータ パイプラインクラウド サービス
  • クラウドの Spark クラスター(Azure HDInsight)を使用して処理
  • パイプライン
    • 1 つのタスクを実行するための複数のアクティビティから構成される論理的なグループ
    • データ ファクトリには、1 つまたは複数のパイプラインを設定可能
  • データフローのマッピング
    • データ変換ロジックのグラフを作成して管理
    • 再利用可能なデータ変換ルーチンのライブラリを構築し、パイプラインから実行可能
  • アクティビティ
    • パイプライン内の処理ステップで、3種類に分類(データ移動アクティビティ、データ変換アクティビティ、制御アクティビティ)
  • データセット
    • データ ストア内のデータ構造
  • リンクされたサービス
    • 外部リソース(データストアまたはコンピューティングリソース)に接続するために必要な接続情報
  • トリガー
    • パイプラインの実行をいつ開始するかの定義
  • 制御フロー
    • パイプラインアクティビティのオーケストレーション
    • シーケンスに従うアクティビティの連鎖、分岐、パイプライン レベルでのパラメーターの定義、オンデマンドかトリガーからパイプラインが呼び出される際の引数の受け渡しを含む
  • 変数
    • パイプライン内での一時的な値の格納、アクティビティ間で値を受渡に使用

Azure Databricks

  • Sparkベースの分析プラットフォーム
  • クラスターを動的にスケールアップ/ダウン可能
  • データ領域としてAzure Blob Storageを使用

Azure HDInsight

リアルタイムデータ処理

Azure Event Hubs

  • スケーラブルなパブリッシュ/サブスクライブサービスの提供
  • パーティション
    • 事前に数を設定する、分散処理の単位
    • イベントごとに異なるパーティションにて処理
    • 7日間データを保持可能
  • スループットユニット
    • 容量の単位(1MB/秒または1000イベント/秒が上限)
  • 複数の入力元および出力先を指定して処理可能

Azure Stream Analytics

  • SQLライクなクエリ言語でサブスクライブ処理を記述
  • ストリーミングユニットとして1MB/秒単位でスループットを割当
  • 連携先はAzure Event Hubs/Azure SQL Database/Azure Data Warehouse/Azure Cosmos DB/Azure Blob Storage

Azure Machine Learning

  • 機械学習モデルの構築・訓練・デプロイを行うサービス

Azure Machine Learning Studio

  • データの入出力・クレンジング・アルゴリズムの実行をGIUでブラウザー上にて実施可能
  • 各処理のブロックをつなげていくことで処理のパイプラインを構築する
  • RやPythonの自作スクリプトも実行可能
  • スケーリングやGPUサポートに課題あり

Azure Machine Learning サービス

  • 大規模な機械学習のモデル開発・デプロイ・管理ができるサービス
  • オープンソースのツール(TensorFlowやJupyter)をサポート
  • 機械学習モデルの生成とチューニングの自動化

Azure Cognitive Services

  • 資格・音声・言語処理の機能を提供するAPIサービス
  • API群は5つのカテゴリに大別される
  • Vision
    • Computer Vision・・・画像の分析
    • Face・・・画像における顔の検出・認証、グループ化
    • Content Moderator・・・不適切なコンテンツを自動検出
    • Custome Vision・・・カスタマイズ可能な画像認識モデル
    • Video Indexer・・・ビデオ内会話のテキスト化、キーワードちゅしゅつ、タグ付け
  • Speech
    • Speech Services・・・音声認識・合成・翻訳
    • Speaker Recognition・・・話者識別・音声認証
  • Language
    • Bing Spell Check・・・スペルチェック
    • LUIS(Language Understanding)・・・文章に対する意図・キーワード抽出
    • Text Analytics・・・文章内の感情・トピック分析
    • Translator Text・・・機械翻訳
  • Knowledge
    • QnA Maker・・・Q&Aマッチング
  • Search
    • Bing Autosuggest・・・検索候補の表示
    • Bing Image Search・・・画像検索
    • Bing Video Search・・・Web上の動画を検索
    • Bing News Search・・・Web上のニュース記事を検索
    • Bing Web Search・・・Bingでインデクシングされたドキュメントの検索
    • Bing Visual Search・・・類似画像の検索
    • Bing Custom Search・・・カスタマイズされた検索サービス
    • Bing Entity Search・・・キーワードをもとに、近くの関連エンティティを特定

アプリケーション基盤/開発基盤

Azure App Service

  • WEBアプリケーション開発に主に活用できるPaaSソリューション
    • Web Apps・・・Webアプリケーションをホスト
    • Web App for Containers・・・コンテナ―化されたWebアプリケーションをホスト
    • Mobile Apps・・・モバイルアプリのバックエンドをホスト
    • API Apps・・・Web APIをホスト
  • Azure Functionsの基盤となっている
  • App Serviceプラン
    • App Serviceの基盤で、複数のApp Serviceで共有される
    • リージョン、スケールカウント、インスタンスサイズ、SKU等を定義
    • 複数の価格レベルのプランがあり、使える機能が異なる
      • Free・・・共有環境/無料/アプリ数10/ディスク1GB/最大1インスタンス
      • Shared・・・共有環境/インスタンス課金/アプリ数100/ディスク1GB/最大1インスタンス
      • Basic・・・占有環境/プラン課金/アプリ数無制限/ディスク10GB/最大1インスタンス
      • Standerd・・・占有環境/プラン課金/アプリ数無制限/ディスク50GB/最大10インスタンス
      • Premium・・・占有環境/プラン課金/アプリ数無制限/ディスク250GB/最大30インスタンス
      • Isolated・・・占有環境/プラン課金/アプリ数無制限/ディスク1TB/最大100インスタンス
  • カスタムドメインの利用(Basic以降)
  • 自動スケーリング(Basic以降)
    • CPU使用率やタイムスケジュールに合わせた自動スケーリングが可能
  • デプロイスロット(Standard以降)
    • スロット間のアプリケーションはダウンなしで交換可能
    • ブルーグリーンデプロイや暖機運転後のデプロイ、デプロイ後即時ロールバック等が可能となる
  • App Service Environment(Isolatedのみ)
    • App Serviceプランのインフラを仮想ネットワーク上に構築し、通信制御、オンプレミスへのセキュア・高速アクセスを可能とする
  • Azure DevOpsによるCI/CD可能
  • 1つのスナップショットとして保存可能

Azure Logic Apps

  • サービス統合・ワークフロー作成を効率的に実行するソリューション
  • デザイナーを使ってGUIでワークフローを実装
  • 需要にあわせて自動スケールアップ
  • コネクタ・・・利用するデータとサービスへのアクセスを定義し、データへの接続・操作を支援するインターフェース
  • トリガー・・・特定のイベントに基づいたワークフローの開始
  • アクション・・・ワークフローにおける各ステップ

Azure Functions

  • イベント駆動型のサーバーレスプレっとフォーム
  • バインド・・・他Azureサービスに容易にアクセスするための機構
  • トリガー・・・コードを実行するための条件
  • 実行時間に基づく課金
    • App Serviceプランベースでの課金も可能
  • リポジトリ経由でのコードデプロイが可能

Azure DevOps

  • 5つのサービスで構成された、DevOpsのプラクティス(CI/CD、アジャイル開発、アプリ監視)を実行するソリューション
    • Azure Pipelines・・・CI/CD(ビルド、テスト、デプロイ)
    • Azure Boards・・・アジャイルツール
    • Azure Artifacts・・・開発環境の作成
    • Azure Repos・・・プライベートGitリポジトリ
    • Azure TestPlans・・・テストツール
  • DevOps Projectという単位にて、DevOpsのためのソリューションを構築
    →”サービス”を基盤とする”フレームワーク/ランタイム”を用いたアプリケーションコードのCI/CD環境が構築

制御・監視・認証

サブスクリプションロール

  • サブスクリプション上のリソースに対する管理権限
  • Azureにて作成済みの利用も、カスタム定義も可能
    • 所有者ロール・・・他ユーザーアクセス権の制御権限と、全リソースへのフルアクセス権限
    • 共同管理者・・・全リソースへのフルアクセス権限
    • 閲覧者・・・全リソースへの読み取り権限
  • Azure AD のユーザー、グループ、サービスプリンシパルに対して付与できる

Azure Active Directory

  • クラウドベースの認証基盤
  • テナント
  • ユーザまたはグループに、アクセス許可を付与したロールを割り当てる
    • 直接割り当て・・・ユーザに対して直接ロールを割り当て
    • グループ割り当て・・・グループに対してロールを割り当てることで、所属する全ユーザにロール割り当て
    • ルールベース割り当て・・・ルールベースでグループにユーザを動的に割り当てる機構を備えたグループ割り当て
  • ロールの定義
    • Id・・・ロールの識別子
    • IsCustom・・・カスタムロールかどうかのフラグ
    • Desctiption・・・説明
    • Actions/NotActions
      • 許可/拒否されるアクション
      • Company.ProviderName/resourceType/action の形式
    • DataActions/NotDataActions
      • 許可/拒否されるデータ操作
      • アクションがデータ操作に変わった以外はActions/NotActionsと同様
    • AssignableScopes
      • ロールを適用するスコープ
      • 単一または複数のサブスクリプション、特定のリソースグループ、特定のリソースといった設定が可能
  • インターネット標準に基づく業界標準プロトコル(Open ID Connect、SAML、WS-Federation等)を使用
  • 課金プランはFree、Basic、Premiumu(P1,P2)、Office365付属
  • 必ず管理者を作成して運用する必要がある
  • 管理の方法はAzure portalGUI)、PowerShellスクリプト)、Azure AD Graph(API
  • フェデレーションにおいては、自身が認証処理を行うパターンも、外部に認証要求を依頼するパターンも可能
  • OpenID ConnectとのIDフェデレーション
    • Azure ADへの「アプリの登録」
      1. 認証を挟みたいアプリの種類とサインオンURLを設定
      2. アプリケーションID=クライアントIDの自動割り当て
    • ログイン時の処理
      • ログインされていなければ、oauthを用いるログイン画面にリダイレクト
      • ユーザ側でのログイン情報入力
      • サインオンURLに対してid_takenを付与してリダイレクト
      • アプリケーション側でのトークン情報の取得と検証
        1. トークン情報内の以下の情報を取得
          1. 証明書の情報を格納したJSONフォーマットの文字列
          2. クレーム情報を格納したJSONフォーマットの文字列
            • ユーザの基本情報
            • トークンの有効期限
            • クライアントID/ディレクトリID
            • nonse ←リプレイアタックの防止
          3. デジタル署名
        2. 有効期限等の検証
  • アプリケーション認証基盤に対する認証情報の処理
    • 認証処理パターン
      • Azure ADの直接参照
        • Azure ADのみに認証したIDがあればOK
      • アプリケーション独自の認証基盤とAzure AD間でIDフェデレーション
        • 認証を行う基盤同士でIDを連携(認証したいIDが両方の基盤に含まれている必要がある)
    • Azure ADのユーザ同期API
      • Azure AD Graphの差分クエリ
      • 初回は全ユーザ、以降は差分のユーザ情報を提供
  • 条件付きアクセス
    • Azure AD Premiumにて提供
    • Azure AD側でのアクセス制御
    • 様々な条件を組み合わせた認証条件を設定可能
      • クライアント・・・ユーザ、グループ、IPアドレス、クライアントアプリ、デバイス、プラットフォーム等
      • アクセス先
  • コンセント
    • 特定のディレクトリに登録されたアプリケーションへの認証を、他ディレクトリでも提供可能にする
    • マルチテナントの有効化により、利用可能
  • アプリケーション間のAPI連携の認証
    • 登録したアプリケーションに「必要なアクセス許可」としてアクセス先のアプリケーションAPIを追加
  • Azure AD v2エンドポイント・・・Microsoft個人サービスとの連携認証が可能
  • アプリケーションギャラリー・・・著名なアプリケーションが登録され、フェデレーションが簡単に完了できる
  • オンプレミスActive DirectoryとのIDフェデレーション
    • オンプレミスAD側でのセッティング
      1. フェデレーション用のAD FSを実行
      2. Webアプリケーションプロキシ(AD FS Proxy)を実行してAD FSと連携
      3. AD FS Proxyをインターネットからの接続が可能になるよう構成
      4. Azure AD Connet をインストールし、IDを同期
    • Azure AD認証エンドポイントに対して、オンプレミスADのユーザ情報が送られたらオンプレミスADに認証要求を発行する
  • Azure AD B2B

Azure Policy

  • リソースの状態を制御するポリシーの作成、割り当て、管理をすることで、一貫性のあるインフラを維持
  • ポリシー定義
    • JSON形式で記述された、評価する対象とその際のアクションを規定
    • スコープを指定して、割り当てを行う(サブスクリプション、リソースグループ等)
  • イニシアチブ
    • ポリシー定義のグループ
    • スコープを指定して、割り当てが可能(サブスクリプション、リソースグループ等)

Azure 管理グループ

  • 複数のAzure サブスクリプションをまとめて、アクセス、ポリシーの管理をするためのグループ
  • 管理グループ内に管理グループを含むことも可能

Azure Blueprints

  • ARMと同様にデプロイに必要な一連のリソースを定義し、一括デプロイをすることができる

Azure Monitor

  • クラウド・オンプレミス環境の監視・データ収集・分析を一元的に行えるソリューション
  • メトリックとログを収集し、その監視と視覚化を行う
    • リソース作成後自動で収集が開始するが、一部サービス(Azure SQL Database等)では診断の有効化が必要
    • 仮想マシンについては、Log Analytics エージェントの追加により収集情報を増える
  • ログのクエリと分析
    • アプリケーション独自のカスタムログをKustoクエリ言語を用いて定義し、収集することも可能
    • アクティビティログ・・・Azureで発生したサブスクリプションレベルのイベントに関するログ
    • Azure Advisor
      • 取得されたメトリック・ログを基にベストプラクティスにそった推奨事項を自動生成
      • 費用対効果、パフォーマンス、高可用性、およびセキュリティを向上させる
  • アラートとアクションの設定
    • アラートルール
      • 通知を発行する基準
      • 監視対象のリソースと、シグナルロジック(通知する条件)を定義
    • アクショングループ
      • 通知方法の設定
      • Automation Runbook、Azure Functionといったタイプを指定可能

Network Watcher

  • 仮想ネットワークの監視を行うツール
  • リージョンごとに有効化することで利用可能
  • 監視ツール
    • トポロジ ツール・・・Azure VNetおよびそのリソースと接続・関係がグラフィカルに表示する
    • 接続モニター ツール・・・Azure リソース間およびIPアドレスまたはFQSNの接続状態を監視する
    • Network Performance Monitor・・・エンドポイント間(VNet間等)における待機時間とパケット廃棄状態を追跡する
  • 診断ツール
    • IP フロー検証ツール
      • 特定の仮想マシンに対するパケットの許可・拒否を検証できる
      • NSGによって拒否されると、そのグループの名前を表示できる
    • 次ホップ ツール
      • 仮想マシンから任意の宛先へのパケットの移動経路を検証できる
    • セキュリティ グループ ビュー
      • NICに適用されているすべてのNSGを表示できる
    • パケット キャプチャ ツール
      • 仮想マシンのパケットキャプチャをするツール
      • 仮想マシン拡張機能であり、パケット キャプチャ セッションの開始により自動的に実行
      • Azure Storageまたはローカルサーバにキャプチャを保存
      • 既定の使用制限にて、リージョンあたり 100 セッション、全体で10,000が上限
    • 接続のトラブルシューティング ツールとは
      • 仮想マシン間における TCP 接続を検証できる
      • 接続に成功した際の待機時間(ミリ秒)、送信されたプローブ パケット数、ルート全体でのホップ数を表示
      • 接続に失敗した際のエラー詳細を、CPU使用率、メモリ使用率、外部FW、DNS名前解決、NSG、ルーティングの観点で表示
    • VPN トラブルシューティング ツールとは
      • VPNゲートウェイ接続に関する問題を検証できる
      • メンテナンスや更新、プロビジョニングの状態といった詳細な観点で診断

Multi-Factor Authentication

  • 認証のために、2つ以上の要素を用いること
  • Azure AD, Microsoft 365 Business, Office 365にて使用可能

そのほか

Azure Stack

  • オンプレミスでのAzure機能を利用可能にする物理基盤ごと提供される統合サービス
  • 複数のベンダから自社の物理基盤を用いたバージョンの統合サービスが提供
  • Azure同様にポータル画面での管理が可能であるが、利用者用と別にStack基盤の管理者用が用意される
  • 複数の課金体系

AWSサービスとの対応関係

  • 公式ドキュメントに参考になりそうなものがあったので張っておきます。

docs.microsoft.com

参考サイト

AWS:S3におけるアクセス許可設定が覚えられないので改めてまとめ

目次

デフォルト設定

まずは、デフォルトの設定を確認します。 デフォルトでは

  • すべてのリソースがプライベート=作成者(AWS アカウント)のみがアクセス可能

となっています。 IAMユーザやIAMロールを使用してバケットの作成やオブジェクトのアップロードをした場合は、そのユーザ・ロールが所属するAWSアカウントが「作成者」になります。

以下は、開発者ガイドの抜粋です。

デフォルトでは、Amazon S3 のすべてのリソース — バケット、オブジェクト、関連サブリソース (lifecycle 設定や website 設定など) — はプライベートであり、リソースの所有者、すなわちそのリソースを作成した AWS アカウントだけがリソースにアクセスできます。 リソースの所有者は、アクセスポリシーを作成することにより、他のユーザーにアクセス許可を付与することもできます。

アクセス許可の設定

アクセス許可については、以下を決定します。

  • ユーザ  : 許可を取得するユーザー
  • リソース : 許可の対象S3リソース
  • アクション: 許可するアクション

つまりは、「誰に」「何を」「どうする」許可をあたえるのか、を決定するのがアクセス許可ということですね。 そしてどのようなアクセス許可を設定するのかを記述したものを「アクセスポリシー」と呼びます。

アクセスポリシー

どのようなアクセス許可を設定するのかを記述したものになります。 アクセスポリシーとしてアクセス許可の内容を記述し、それらを

  • リソース(バケットやオブジェクト)
  • ユーザー(IAMユーザー・グループ・ロール)

に関連付けることができます。 アクセスポリシーは関連付ける対象に応じて、リソースベースのポリシーとユーザベースのポリシーに分類されます。

リソースベースのポリシー

リソースベースのポリシーには、以下の2種類があります。

ユーザベースのポリシー

  • ユーザーポリシー
    • 関連付け先:IAMユーザ/IAMグループ/IAMロール
    • 記述形式:JSONスキーマ
    • 制御単位:バケット/オブジェクト

リソースベースの時と同様にまとめると、上記の通りになります。 アクセスポリシーを作成して、それをIAMユーザ/IAMグループ/IAMロールに割り当てます。基本的にはIAMを用いた各種リソースへのアクセス許可・制限にのっとったもので、特別なことはありません。

ACLによるアクセス許可

各リソース内のサブリソースとしてACLがアタッチされており、

  • ユーザ
  • アクション

を指定することで、アクセスコントロールを行います。上で述べたアクセス許可にて3つの内2つのみで、残りの1つリソースがありませんが、リソースは実質どのリソースにアタッチするかという時点で決定しています。

「ユーザ」および「アクション」が書かれたACLを基にして、

  1. リソースに対するリクエストを受信
  2. 該当するACLを探索
  3. ユーザに対するアクセス許可があればリクエストを処理

という動作をします。

バケットまたはオブジェクトを作成した際には、デフォルトのACLが作成されます。デフォルトのACLは、リソース所有者に対してすべてのアクションを許可する内容となっています。

「ユーザ」として選択できるのは、

のいずれかです。 また、AWSアカウントの代わりにAmazonS3の定義済みグループを許可付与者として設定することができます。AmazonS3の定義済みグループは下記の3つのいずれかになります。

  • Authenticated Users グループ(すべてのAWSアカウント)
  • All Users グループ (すべてのインターネットユーザ)
  • Log Delivery グループ(サーバアクセスログを記録するための特殊なグループ)

「アクション」として選択できるのは、下記の5つです。ポリシーでのアクセスコントロールに比べて、ACLの場合はあまりアクションを細かく設定することはできません。

  • READ
  • WRITE
  • READ_ACP
  • WRITE_ACP
  • FULL_CONTROL

各アクションの内容はこちらの「付与できるアクセス許可」にあるので、ご参照ください。

docs.aws.amazon.com

バケットポリシーによるアクセス許可

ポリシーには、

の3つに加えて、さらに細かくアクセスをコントロールするために、

  • エフェクト
  • 条件

を指定します。「エフェクト」は「許可」または「拒否」の選択です。ACLは「許可」のみでしたが、ポリシーでは「拒否」も設定できます。「条件」は「使用しているソースIP」といった追加要素を指定して、アクセス許可(及び拒否)をする対象をより限定的にすることができます。

各項目の詳細は以下にまとまっているので、省略します。

docs.aws.amazon.com

全体的にポリシーのほうがACLよりも詳細なアクセスコントロールができるようです。

参考

Azure:Azure Resource Manager テンプレートを作成する

Azueの認定資格の一つである、Azure管理者資格に向けて、Microsoft Learnの下記のラーニングパスを実施しています。

勉強した内容の復習用にいくつかのキーワードの意味や自分なりに理解した内容のメモを残していきます。

今回、「Azure Resource Manager テンプレートを作成する」の内容になります。 docs.microsoft.com


Azure Resource Manager とは

  1. クラウド リソースを管理および整理するためのインターフェイス
  2. クラウド リソースをデプロイするための手段
  3. Resource Manager を使用してリソース グループを編成すると、すべてのリソースを 1 つの操作でまとめてデプロイ、管理、削除することが可能

Resource Manager テンプレート

  • JSONで記述された”宣言型のオートメ―ション”形式ファイル

    宣言型のオートメーションとは、必要なリソースが "何" かということは定義しますが、それを作成する "方法" は定義しない

  • デプロイに含まれるすべての Resource Manager リソースが正確に定義
  • 構成要素
    1. パラメーター
      • テンプレートの実行時に構成できる値を指定
      • ユーザ名、パスワード等
    2. 変数
      • テンプレート全体で使用される値を定義
    3. 関数
      • テンプレート全体で繰り返し記述したくないプロシージャを定義
    4. リソース
      • デプロイを構成する Azure リソースを定義
    5. 出力
      • テンプレートの実行時に受け取りたいすべての情報を定義
      • デプロイ実行したのちにわかるVMIPアドレス
  • 主な記述方法
    • 既存のテンプレートをニーズに合わせて変更するのが一般的
    • 最初のテンプレートを入手する方法
      1. Azure portal を用いて、既存のリソース グループ内のリソースを基にテンプレートを作成
      2. 自分またはチームが作成した似た目的を持つテンプレートを使用
      3. Azure クイック スタート テンプレートを使用

Resource Managerを使用するメリット

  1. 単体・繰り返しのデプロイの高速化
    • Resource Manager テンプレートに基づいてデプロイが自動的に処理
  2. 作業内容の一貫性の向上
    • テンプレート内での構造、形式、表現は同じ
    • デプロイに使用するツール(SDK,portal)による変化はない
  3. 複雑なデプロイを簡略化
    • 複数のリソースを依存関係に対応した、正しい順序でデプロイ可能
    • リソースとその依存リソースの対応が明らかに(dependsOn要素を使用)され、依存リソースを最初に作成
  4. 手動タスクの削減により作業品質向上(エラーの削減)
  5. コード形式(テンプレートのこと)でのデプロイの表現
    • ほかのソフトウェアと同様に共有、テスト、バージョン管理可能
    • Git等を用いたリビジョン履歴の追跡が可能
  6. 再利用可能なテンプレート
    • ステージングや運用といった複数のバージョンの環境を同一テンプレートで作成可能
    • 環境固有の変数はテンプレート パラメーターを参照

Azure Resource Manager によるデプロイステップ

  1. リソース グループを作成
    • 作成する必要があるすべてのリソースを保持する "リソース グループ" を作成
  2. Resource Manager テンプレートを作成
  3. テンプレートを検証して起動
    1. まずテンプレートが構文的に正しいことを検証
    2. 検証されたテンプレートをデプロイ
  4. デプロイを検証
    1. テンプレートに記述したとおりにリソースが作成されていることを確認

Azure:仮想マシンのネットワークを構成する

Azueの認定資格の一つである、Azure管理者資格に向けて、Microsoft Learnの下記のラーニングパスを実施しています。

勉強した内容の復習用にいくつかのキーワードの意味や自分なりに理解した内容のメモを残していきます。

docs.microsoft.com

内の「仮想マシンのネットワークを構成する」のモジュールになります。


Azure 仮想ネットワークの設定ステップ

下記のステップで作成をします。

f:id:kayaru28:20200705023200g:plain:w200

いくつか補足を示します。

  1. ネットワーク名はサブスクリプション内で一意
  2. アドレス空間は「サブスクリプション内」と「接続する他のネットワーク内」で固有
  3. サブネットの作成ではサブネット名/アドレス範囲/ルーティングの設定を設定
  4. 分散型サービス拒否 (DDoS) 保護はBasic または Standard のいずれか
  5. 追加設定の定義の項目はネットワーク セキュリティ グループ/ルート テーブル

ネットワーク周りの主要要素概要

  • Azure リソース間通信の確立
    • 仮想ネットワーク経由
    • サービス エンドポイント経由
  • オンプレミス リソースとの通信
    1. Azure VPN ゲートウェイを用いたVPN接続
      • ポイント対サイト仮想プライベート ネットワーク(クライアントVPN
      • サイト間仮想プライベート ネットワーク(サイト間VPN
    2. Azure ExpressRouteを用いた専用線接続
  • ネットワーク トラフィックのルーティング
    1. 静的なルーティング
      • Azure では、下記の間のトラフィックについて規定のルーティング有
        1. サブネット
        2. 接続されている仮想ネットワーク
        3. オンプレミス ネットワーク
        4. インターネット
      • ルート テーブルによるオーバーライドが可能
    2. 動的なルーティング
      • Border Gateway Protocolを用いて、オンプレミスの BGP ルートを Azure 仮想ネットワークに反映可能
  • ネットワーク トラフィックのフィルター処理

ネットワーク周りの機能詳細

Azure Virtual Network

  • Azure 内のプライベート ネットワークの基本的な構成要素
  • 使用できるアドレス空間、サブネット、セキュリティを指定
  • 1 つまたは複数のサブネットを作成可能
  • ネットワーク セキュリティ グループ (NSG) を設定して、サブネット間と VM 間のトラフィック フローを制御

ネットワーク セキュリティ グループ (NSG)

  • ソフトウェア ファイアウォールとして機能
  • ネットワーク レベルでネットワーク トラフィック規則を適用するために使う主要なツール
  • ネットワーク インターフェイスとサブネット レベルで適用可能
  • 各受信要求または各送信要求にカスタム規則を適用することで、通信を制御

Azure VPN Gateway

  • 暗号化された接続のエンドポイントにすることができる特殊な仮想ネットワーク ゲートウェイ
    • オンプレミスの場所から Azure にインターネット経由で受信接続するためのエンドポイントを提供
    • Azure 仮想ネットワーク間で暗号化されたトラフィックを提供
  • 各仮想ネットワークには VPN ゲートウェイを 1 つだけ作成可能

Azure ExpressRoute

  • 50 Mbps、100 Mbps、200 Mbps、500 Mbps、1 Gbps または 10 Gbps の固定の帯域幅
  • 各回線はサービスまたは s キーという GUID で定義
  • Border Gateway Protocol 経由での動的ルーティング
  • 接続モデル
    • IP VPN ネットワーク (任意の環境間)
      • マネージド レイヤー 3 接続経由でブランチ オフィスと会社のデータセンターの間の接続を提供
    • イーサネット交換による仮想交差接続
      • クラウド エクスチェンジ施設でのコロケーションを利用している場合、プロバイダーのイーサネット エクスチェンジを通して Microsoft Cloud への交差接続を要求
      • レイヤー 2 とレイヤー 3 マネージドのどちらの接続でも運用可能
    • ポイント ツー ポイントのイーサネット接続
      • レイヤー 2 とレイヤー 3 マネージドのどちらの接続でも運用可能

参考サイト

Azure 仮想ネットワーク トラフィックのルーティング | Microsoft Docs

Azure:Azure管理者資格に向けての勉強メモ~AZ-104 Azure 管理者向けの前提条件~

Azueの認定資格の一つである、Azure管理者資格に向けて、Microsoft Learnの下記のラーニングパスを実施しています。

勉強した内容の復習用にいくつかのキーワードの意味や自分なりに理解した内容のメモを残していきます。

内容順次更新していきます。

docs.microsoft.com

コンピューティング周り

Azure VM

  • 可用性セット
    • 障害ドメインと更新ドメインが分割されたVMのセット
    • 同じ機能セットを実行する必要があり、同じソフトウェアをインストールが必要

Azure App Service

  • Web アプリケーション、REST API、およびモバイル バックエンドをホストするための HTTP ベースのサービス
  • App Service プランのレベルを変更することで、Web アプリのスケールアップとスケールダウンを実行可能

Azure Resource Manager

  • Azureで作成したいリソースを名前付きのリソース グループにまとめ、それらすべてのリソースを、まとめてデプロイ、更新、または削除可能
  • Resource Manager テンプレート
    • ソリューションに対してデプロイが必要なリソースを定義した JSON ファイルのこと ※YAMLでの記述は不可?

Azure Site Recovery

  • 物理マシンと仮想マシン (VM) で実行中のワークロードを、リージョン内の異なるロケーションにレプリケート

Azure Backup

  • 概要
    • 様々な対象をAzure Backup コンテナ―にバックアップ可能
    • バクアップ対象はオンプレミスとクラウドも問わない。サーバとクライアントも問わない
  • 課金モデル
    • 容量に対する従量制、データ転送には料金発生しない
  • スケーリング
    • バックアップ ストレージを自動的に、無制限に割り当てて管理
  • ストレージ オプション
    • ローカル冗長ストレージ・・・データのコピーはすべて同じリージョン内
    • geo 冗長ストレージ・・・複製されたデータがセカンダリ リージョンに配置
  • セキュリティ
    • 転送・保存時の暗号化が可能
  • そのほか
    • バックアップするコンピューターにデプロイして使用するコンポーネントも用意されている
    • Azure Backup エージェント/System Center Data Protection Manager/Azure Backup Server/Azure Backup VM 拡張機能

運用・管理周り

アカウント

管理ツール

Azure AD

  • クラウドベースの ID 管理ソリューション
    • Azure サービス、Office 365、サードパーティ製の SaaS アプリケーションなどの外部リソースへのアクセスを提供
    • 企業ネットワーク上のアプリケーションや社内でビルドされたクラウドベースのアプリケーションなどの内部リソースへのアクセスを提供
    • 条件付きアクセスや Identity Protection などの機能により、ユーザー ID とアプリケーションをセキュリティで保護するのにも役立つ
  • 分類
    • テナント・・・グループ・ユーザを追加可能、共通のアクセスレベルを共有
    • グループ・・・ユーザを追加可能、共通のアクセスレベルを共有
    • ユーザ・・・個別のアクセスレベルを設定
  • ロール
    • グローバル管理者
    • 通常の管理者
  • ID セキュリティ スコア
    • Azure AD テナントの安全性指標、Microsoft がテナント セキュリティに提示する推奨事項とベスト プラクティスをどの程度満たしているかを表す
    • 値域:1~223
  • 併用ーAzure AD×Active Directory
    • オンプレミスとクラウドにまたがるIDソリューション
    • ユーザー ID をハイブリッド ID と呼ぶ
    • 認証の仕方は3種類
      • Azure AD パスワード ハッシュの同期
      • Azure AD パススルー認証
      • フェデレーション認証
  • Azure AD ライセンス
    • Azure Active Directory Freeの提供機能
      • ユーザーとグループを管理
      • 基本レポート
      • オンプレミスの Active Directory 同期
      • Azure AD ユーザーのセルフサービス パスワード リセット
      • Office 365、Azure サービス、サードパーティSaaS アプリケーションにシングル サインオン
    • Azure Active Directory Premium P1の提供機能
      • Free レベルのすべての機能
      • オンプレミスおよびクラウドベースのサービスとリソースへのアクセスを許可
      • 動的グループを使用
      • オンプレミスの ID 管理スイートがサポート
      • セルフサービス パスワード リセットは、オンプレミス ベースのユーザーにもサポート
    • Azure Active Directory Premium P2の提供機能
      • 前の 2 つのレベルのすべての機能
      • Active Directory Identity Protection が提供(リスクベースの条件付きアクセスを構成)
      • Privileged Identity Management を使用して、管理者の監視、詳細な制限を設定
  • Azure AD B2B
    • 外部ユーザーをテナントに招待
    • Azure AD B2B Collaboration を利用して共同作業可能
  • Azure AD B2C
    • 顧客の ID とアクセスを管理可能
    • 従量課金制
  • Azure AD DS
  • アプリケーション管理
    • クラウドベース ソリューションとして Azure AD を使用
      • 社内と社外のユーザーが利用するアプリケーションへのさまざまなデバイスや場所からのユーザー アクセスを管理
    • Azure AD アプリ ギャラリー アプリケーション
      • Azure AD と統合された何千もの SaaS アプリケーション
      • Azure Marketplace でアプリケーションを見つかります。
    • カスタム アプリケーション
      • Azure AD に登録した会社で開発されたアプリケーション
    • ギャラリー以外のアプリケーション
      • ギャラリーにデフォルトで表示されない、手動で追加したアプリケーション
    • オンプレミスのアプリケーション
      • オンプレミス アプリケーション
      • Azure AD アプリケーション プロキシ
  • 条件付きアクセス ポリシー
    • アプリケーションにアクセスする前に追加の認証に合格することをユーザーに要求
  • Azure AD Identity Protection
    • ユーザーの ID リスクを自動的に検出、調査、修復
    • リスクについて収集されたすべての情報をエクスポート可能
    • リスク ポリシーを使用し、脅威を自動的に検出し、対処

Azure Monitor

  • 分析用のログ データを収集する統合ソリューション
  • オンプレミス ネットワークと Azure ネットワークの全体が対象

Log Analytics

  • Azure Monitor の Log Analytics ツール
  • 包括的な分析のために大量のログ データのクエリと集計を行うことが可能
  • ネットワーク全体のリソースとサービスに関する、より的確な解釈が可能

ストレージ周り

Azure Cosmos DB

  • 格納データ・・・半構造化データ、つまり NoSQL データがサポート
  • 検索
    • クエリ用の SQL がサポート
    • すべてのプロパティに既定でインデックスが付与
  • 世界各地にデータをレプリケート可能
  • 5 つの整合性レベルのいずれかを選択することができる

Azure BLOB ストレージ

  • 格納データ・・・写真やビデオなどのファイルの格納をサポート

Azure SQL Database

  • 構造化データ
  • 検索
    • SQL クエリがサポート

そのほか

ネットワーククライアント

  • シック
    • サーバーを使用せずに、ローカル環境でデータを処理して格納可能
    • クライアントとサーバーの対話は最小限で、対話に使用するデータは共有ネットワーク ドライブにのみ格納可能
  • シン
    • ローカル環境でデータを処理または保存することは不可
    • サーバーに全面的に依存して計算能力とストレージを提供される
    • 現在、シン クライアントとは、実行されているデバイスに関係なく、サーバーの情報を要求して表示する Web アプリケーションのことをいう
    • ハイブリッド・・・限られたローカル データ処理を行うことはできるが、ローカル ストレージの機能はない

Docker

  • コンテナー
    • ソフトウェア パッケージを構築して実行できる、緩く分離された環境
    • 任意のコンピューティング環境でアプリケーションを迅速かつ確実に実行するためのコードとすべての依存関係が含まれている
  • Docker エンジン
    • コンポーネントの集まり
    • Dockerサーバー・・・ dockerd という名前のデーモン
    • REST API
    • Dockerクライアント・・・ docker という名前のコマンドライン アプリケーション
    • イメージ
    • Docker オブジェクト・・・ネットワーク、ストレージ ボリューム、プラグイン、その他のサービス オブジェクトを含む
  • Docker Hub
    • サービスとしてのソフトウェア (SaaS) の Docker コンテナー レジストリ
    • イメージ管理に使用される既定のパブリック レジスト
  • コンテナー
    • イメージは、ソフトウェアが含まれている移植可能なパッケージ
  • Unionfs
    • Docker イメージの作成に用いられるファイルシステム
    • Dockerfile
      • Docker イメージをビルドして実行するために使用する命令が含まれているテキスト ファイル
      • 基本イメージ
        • ファイル システム レイヤーが作成されない空のコンテナー イメージ
        • 実行するアプリケーションはホスト OS カーネルを直接使用できることが想定
      • 親イメージ
        • 使用するソフトウェア・OSが含まれているイメージを使用
        • 通常、コンテナー OS が含まれる

データストレージ手法

  • 構造
    • 構造化データ
      • リレーショナル データとも呼ばれ、厳密なスキーマに準拠するデータ
      • すべてのデータはフィールドまたはプロパティが同じ
      • SQL (構造化照会言語) などのクエリ言語でこの種のデータを簡単に検索可能
    • 半構造化データ
      • データの組織と階層を明確にするためのタグ (キーと値のペアなど) が含まれている
      • 非リレーショナル データまたは NoSQL データとも呼ばれる
      • データの式と構造は、シリアル化言語(XML,YAML,JSON等)によって定義
    • 非構造データ
      • 多くの場合、非構造化データは写真やビデオのようにファイルで提供
    • トランザクション
    • 一緒に実行されるデータベース操作の論理グループ
    • ACIDが適用される

参考サイト

Azure Site Recovery について - Azure Site Recovery | Microsoft Docs

AWS:AWS 認定ソリューションアーキテクト – プロフェッショナ(SAP-C01)合格体験談

先日、やむない出勤帰りにAWS 認定ソリューションアーキテクト – プロフェッショナル(SAP-C01)を受けてきました。(2020年5月)

どうにかこうにか合格できたのですが、わりと苦労して受かったのでせっかくということで合格体験記を初めて書いておきたいと思います。

バックグラウンド

まずは私の経歴です。SIer勤務4年目。1~2年目はLinuxサーバといくらかのミドルウェアを扱う仕事をしており、3年目以降はネットワークを扱っています。AWSは基盤的な話が多く、この経歴は割と強く有利に働いているというように感じました。

SAPの受験前にSAAを合格しておりますので、その段階からスタートして勉強の経緯を記そうと思います。

ステップ0:AWS SAA合格

合格点900ちょっとくらいでした。

まずの第一歩は何といってもSAAの合格でした。 今となっては旧バージョンの試験となっておりますので、こちらの細かい体験は残しません。一通り以下の勉強をしています。

AWS WEB問題集で学習しようを2周

下記のサービスです。みんなお世話になっているやつです。私は基本的に資格勉強は問題集を数をこなすことで理屈を覚えていくタイプなんで、繰り返し解いていました。 aws.koiwaclub.com

Black Beltのスライドに目を通す

いくつかのサービスのスライドに目を通しました。実際に読んだのは、下記です。ダウンロードしたpdfファイルのタイトルから機械的に持ってきたので、多少ガチャガチャしているのはお許しください。

  • route53-public
  • EC2-Windows
  • Redshift-public-v02
  • CloudTrail-Config-public
  • Elastic-Beanstalk
  • AutoScaling
  • DynamoDB
  • RI_update
  • ElastiCache
  • RDS
  • AmazonEFS
  • DirectConnect
  • CloudFormation
  • IAM_Part1
  • IAM_Part2
  • S3_Glacier
  • EC2
  • EC2Spot
  • VPC-Basic
  • VPC
  • EBS
  • CloudWatch
  • Lambda Part1&2
  • VPC-Advanced
  • Amazon_CloudFront
  • Blakbelt_Auto_Scaling
  • ELB

読書 いくつかの本を読みました。広く浅く基本を知るにはちょうど良かったと思います。 適当にタイトルだけ並べます。

以上ですね。 合計の勉強時間は覚えていないです。

ステップ1:AWSのサービスをいくつか触ってみる(15時間くらい)

机上だけの知識にとどめておく気もなく、いくつかのサービスの理解度を高めるために実際にいくつかのサービスを作成してみました。だいたいは単発で作成しましたが、AutoScalingとELB、LambdaとS3 Event通知、LambdaとDynamoDBくらいだけは組み合わせで作成をしたりして、なんとなく動かしてみました。

ステップ2:AWS WEB問題集で学習しよう(17時間くらい)

上でもお世話になったやつですね。よりたかい有料プランに申し込んで、問題集を一周しました。正直正答率は全部半分以下とかそれくらいです。1つ1つを時間かけてやって、1セット7問×49セットで343問について逐次わからない単語の調査をやっていました。知らないサービスが出てきたらあっさり飛ばすことを心掛けて、1問平均3分、トータルで17時間くらいかかっています。

ステップ3:Black Beltのスライドに目を通す(5時間くらい)

あまりにも知らないサービスが多かったので、追加でいくつかのサービスのスライドに目を通しました。実際に読んだのは、下記です。ダウンロードしたpdfファイルのタイトルから機械的に持ってきたので、多少ガチャガチャしているのはお許しください。(二回目)

  • ETS
  • directory-service
  • WorkDocs-WorkMail_public
  • CodeCommit-CodeBuild
  • AmazonCognito
  • Redshift-update
  • CodeSeries_CodeDeploy_and_CodePipeline
  • X-Ray
  • Organizations
  • AWSServiceCatalog_public
  • athena
  • SageMaker_part1
  • StepFunctions
  • AmazonMQ
  • EMR
  • Transit_Gateway
  • Chime
  • AWSSystemsManager_0214
  • Batch

ここではスピードを特に意識してやっていて、1つのサービスあたり15分で、19サービス分でだいたい5時間くらいかかりました。

ステップ4:AWS WEB問題集で学習しよう2周目(12時間くらい)

私は問題集を何回も繰り返して、数をこなして単語や理屈を覚えていくタイプなので、当初の予定通り2周目をこなしました。平均して正答率は6~7割になるくらいになっています。まだまだ覚えていないところも多い状態でした。1セットを15分くらいで解いて、49セットで12時間くらいかかっています。

ステップ5:数字を単語帳に整理して暗記(3時間くらい)

単語帳メーカーを使用して、ディスクサイズとか、NATゲートウェイの帯域とか、覚えておいたほうがよさそうな数字を暗記するようにしました。個人的にためになった数字は、SQS FIFOの1秒当たり処理量に300件です。正直これはもっと早く、問題集2周目を始める前に完璧に覚えているくらいにしておくべきでした。 tangomaker.net

ステップ6:公式のトレーニング実施(6時間くらい)

公式に提供されているトレーニングをやりました。所要時間4時間とか書いていますが、それよりももうちょっと時間かかりました。解説の動画で、どうやって解いていくのかが解説されているので、その考え方が非常に参考になります。いくつかのサービスを知らないとわからない内容なのですが、これをふまえた上で問題を解いたほうが理解が進みそうと感じたので、ステップ5と同じく、問題集2周目を始める前にやっておくべきだったなと思っています。 www.aws.training

ステップ7:公式の模試(1時間くらい)

公式の模試をやりました。解説が何もなく、正答率だけが出るということを知らなかったために、問題のスクリーンショットも取っておらず、絶望しました。しかも、得点率が65%。この時すでに試験の4日前であり、手ごたえもそれなりにあったので本当に絶望しました。正直この段階でかなり心が折れていましたが、それでもどうにか奮い立たせました。

ステップ8:AWS WEB問題集で学習しよう3周目(8時間くらい)

急遽、もう1周やりました。ここまでくると、正答率も9割、選択肢だけ見ても正解の選択肢がわかっていました。しかしそれだけでなく、なぜ正解の選択肢がよくて、他がだめなのかのポイントも選択肢見ればわかるところまで来ていました。だいたい1セット10分くらい、49セットで8時間やりました。

ステップ9:AWS WEB問題集で学習しよう3周目の復習(2時間くらい)

3週目をやりつつ、間違えた設問をすべてメモしていました。それらを試験を受ける日の前日直前にすべて復習しました。

ステップ10:受験

受験しました。合格できて本当によかったです。スコアは850ちょっとくらいです。

時間が3時間以上あったからか、かなりの疲労感がありました。ひたすら早く解き続けて、60分復習に確保しましたが、数問わからなかった問題の読み込みでつぶし、復習はすべてしきれませんでした。ただ、数問読み違えている設問もあったのをひろえたのは良かったです。

様々な人がおっしゃっていますが、日本語訳はかなり問題があります。一番びっくりしたのは英語の問題文で確認してみると、アクティブとスタンバイが日本語問題文と英語問題文で入れ替わっていたことでした。衝撃でした。

まとめ

以上です。トータルで69時間という、かなりの時間がかかっていました。振り返ってみて、びっくりしますね。ちゃんと集計できてない時間もあるので、1.2〜3倍くらい実際にはかかっているかもしれませんが。

勉強期間はだいたいSAAの勉強期間を除いて、1.5か月弱ですね。土日、GWをかなり使っていました。仕事が落ち着いていたのも助かりました。

おまけ

やろうとして、できなかった対策がいくつかあったので、そのメモです。

・某有名な英語ブログ 英語読むのに時間かかりすぎて、やめました。

・某Udemyの英語問題集 英語のところは百歩譲っていいと思ったのですが、70問すべてとかないと正解不正解がわからないこと、解説がなさそうなところからやるのをやめました。

・よくある質問集 主要なサービスくらいは抑えておこうと思ったのですが、意外と1つ1つのボリュームが多かったので、あきらめました。

Graphviz:Graphvizにて使用できるattributes(属性?)について仕様を調べる ~bgcolor~

****************** 以下、定期

Graphvizの各コンポーネントにて使用できる属性は以下のページにまとめられている。

emden.github.io

しかしながら英語である。いや、英語であることを百歩譲っておいておいたとしても、図形の例がないために具体的にどのような違いが出るのかがわかりにくい。 ということでこのattributesを実際に各コンポーネントに実装して、どんな仕様になるのかということをここに整理していく。

徐々に調査して、追加していく所存。

****************** 以上、定期終了

今回の対象属性としてbgcolorを使用する。

環境

・OS:Windows10にて、VirtualBox6.0.8上のCentOS7.4

# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

Graphviz : 2.38..0

#  dot -V
dot - graphviz version 2.30.1 (20180420.1509)

bgcolor

対象コンポーネント:グラフ、クラスター 対象レイアウト:全部 グラフに対して指定すればグラフ内、クラスターに対して指定すればクラスター内の背景の色を変更することができる。色の指定については、決められた色名で指定することもできれば、16進数カラーコードで指定することもできる。

色名については、下記のサイトに一覧がまとまっている。 emden.github.io

実際に以下のdotファイルを使用してグラフを作成した。

digraph {
    layout=dot
    bgcolor=darkgreen
    subgraph cluster_X {
        bgcolor=cyan4
        C -> D
    }
    subgraph cluster_Y {
        bgcolor="#26ffa2"
        F -> E
    }
    subgraph cluster_Z {
        G -> H
    }
    A -> B
}

その結果できた図形は以下のとおりである。 f:id:kayaru28:20200404150804p:plain

カラーコードと色名はどちらも、同じグラフ内にて使用することができている。また、グラフの背景と、クラスターX、クラスターYにそれぞれbgcolorを指定しているためにそれぞれの色が設定されている。

クラスターZのみは、色の指定をしていないため、グラフ背景に設定されている色が、そのまま色づけられている。