AWSエンジニアがAzureを勉強するために使った資料まとめ

AWSエンジニアがAzureを1から勉強したので、参考ドキュメントとAzureサービス概要を書きました。Azureサービス概要にはAWSサービスに置き換えるとどのサービスが当てはまるかについても言及しています。

目次

1. 参考ドキュメント

AWS サービスと Azure サービスの比較 - Azure Architecture Center | Microsoft Docs

  • MSが出しているAWSとAzureの対応表。AWSエンジニアだとまずはここから始めると理解進むと思います。

AWS プロフェッショナルのための Azure - Azure Architecture Center | Microsoft Docs

  • MSがAWSとAzureの際を丁寧に解説してくれてます。 アーキテクチャのイメージができていなかったので、参考になりました。

Azure アーキテクチャ センター - Azure Architecture Center | Microsoft Docs

  • アーキテクト集。AWSでいうAWS Well-Architectedな感じ。一通り、さらっと読む。

Microsoft Azure実践ガイド

  • Azure関連の本で一番よかった。サービスの概要 => 実際に手を動かしてみる感じ。
  • 最終章に、代表的なアーキテクトの例と構築手順があって、実戦向きな内容。
  • サービスの作成手順が書いてあるので、実際にAzure契約してやってみるのが良い
      * 注)Azureの無料期間は1ヶ月なので、契約して1ヶ月以内にやると無料で体験できる。無料期間過ぎても少額のサービスを利用しているのでそこまでお金かからないですが。

実戦ガイド一通り読んだ後に、Azure アーキテクチャ センター を見返してみるとスっと内容が入ってくる感じがあった。
多分上記ドキュメントで基礎部分はできると思うので、後は実際にサービスの細かい部分について見ていけばAzureエンジニアとしても戦っていけそう。

2. Azureサービス概要

ネットワーク

  • 仮想ネットワーク(VNet)
    • AWS : VPC
    • VNetピアリング
      • AWS : VPCピアリング
  • サブネット
    • AWS : サブネット
  • ユーザー定義ルート(UDR)
    • AWS : ルートテーブル
  • インターネットアクセス
    • AWS : NATGateway
    • 仮想マシンは、GIP持っていない場合でも外部接続可能(Azure 側で自動でSNATしてくれる)。AWSだとNAT Gateway等のNATサービスを用意しないとプライベートサブネットからは、インターネットへ接続不可。
  • 負荷分散
    • Traffic Manager : DNSベースのトラフィック分散サービス
      • AWS : Route53 ルーティングポリシー
    • LoadBalancer : L4バランシング
      • AWS : CLB、NLB
      • 静的パブリックIPあり
    • Application Gateway : L7バランシング
      • AWS : ALB
      • 静的パブリックIPなし
      • WAF機能あり
  • DNS
    • Aure DNS : DNSサービス
      • AWS : Route53
  • ネットワーク監視
    • Network Watcher : ネットワークリソースの監視
      • AWS : CloudWatch、VPCフローログ
      • VPN診断
      • パケットキャプチャ
  • セキュリティ
    • NSG : ネットワークアクセス制御
      • AWS : NACL
      • サブネットとNICにアタッチ可能
      • ステートレス
      • AzureMonitor : NSGのイベントログ
        • AWS : VPCフローログ
    • SecurityCenter
      • AWS : GuardDuty
      • 防御、検知、可視化
      • IPS、IDS機能
      • サードパーティの製品との連携も可能
        • Fortinet、Barracuda
      • Endpoint Protection : セキュリティソフト
        • AWS : AWS標準のものはなさそう
  • VPN
    • VPNGateway : Azure側のVPNゲートウェイ
      • AWS : VGW
      • AWSと違い冗長化の考慮やIPの確保が必要
    • ExpressRoute : 専用線
      • AWS : DirectConnect

仮想マシン

  • 仮想マシン
    • AWS : EC2
    • 可用性セット : 仮想マシン障害時の復旧
      • AWS :オートリカバリー
    • マシンログ : ログインログ、スクリーンショット
      • AWS : AWSコンソールスクリーンショット、インスタンスコンソール出力
    • 負荷監視 : CPU使用率
      • AWS : CloudWatch メトリクス
    • シャットダウン
      • 停止 : OSシャットダウン、一時ディスクデータ継続、仮想マシンの課金継続
      • 停止済み(割り当て解除) : 仮想マシンの課金停止、一時ディスクデータ削除
        • AWS: AWSでは、OSからのシャットダウンでも、インスタンス停止でもAzureの停止済み(割り当て解除)と同じ
    • バックアップ
      • AzureBackup : スケジュールとVSS対応
        • AWS : スナップショット、AMI

PaaS

  • AzureAppService
    • WebApp : WEBサイト、WEBアプリケーション基盤
      • AWS : ElasticBeanStalk
      • Kudu : WebApp内でのログを確認できる。これは便利そう。
    • Mobile Apps : モバイルアプリケーション基盤
      • AWS : Mobile Hub
    • API Apps : APIの作成
      • AWS : APIGateway?
    • Logic Apps : ワークフロー
      • AWS : StepFunction

権限制御

  • Azure AD : ID管理、SSO
    • AWS : IAM(ID管理)
    • AWS : AWS SSO(SSO)
  • RBAC : ユーザー + グループ権限制御
    • AWS : IAMポリシー + IAMユーザー、IAMグループ
  • リソースポリシー : サブスクリプション + リソースグループ権限制御
    • AWS : IAMポリシー + IAMロール? 概念が違うから正確ではないかも。各リソースをグルーピングして、そのグルーピングを使って権限管理するイメージ。
  • サービスプリンシパル : APIによるリソース操作
    • AWS : IAMクレデンシャル

ストレージ

  • Azure Storage
    • Blob : 非構造化オブジェクトデータ
      • AWS : S3、EBS
      • コンテナ : S3バケット/オブジェクト
      • ブロックBLOB : ファイルをブロックとして構成
      • ページBLOB : ランダムアクセス向き
        • AWS : EBS
        • Azure Disk Encryption
          • AWS : KMS
      • 追加BLOB : ブロックの追加のみ
      • SSE
        • S3サーバーサイド暗号化
    • Table : NoSQL
      • AWS : DynamoDB
    • Queue : キュー
      • AWS : SQS
    • File : SMB、HTTP
      • AWS : EFS
  • クライアントツール
    • MS Azure Storage Explorer
      • 公式のCyberduck的なやつ
    • Visual Studio Server Explorer
  • アクセス管理
    • ストレージアカウントキー : ストレージアカウント上の全てのデータにアクセス可能
    • Shared Access Signature(SAS) : 接続できる領域を制御できる
  • Managed Disk
    • AWS : EBS
    • 今はAzureで仮想マシン起動するならこれ使う。
    • VHDエクスポート可
    • スナップショットは増分課金ではなく、取得時のディスク容量
    • 制限はあるけど、非管理ディスクからManaged Diskに変換可能

データストア

  • SQLDatabase
    • AWS : RDS
    • 性能調査のツールがある
      • DTU Calculator
    • アクティブジオレプリケーション : リージョン間のDBレプリケーション(非同期)
      • AWS : RDS マルチリージョンレプリケーション
    • 認証
      • SQL認証
      • AzureAD認証
    • FW
      • サーバーレベル : 全DBに適用
      • データベースレベル : DBごと
    • Query Performance Insight : クエリの実行時間とか
      • AWS : RDS拡張モニタリング
  • Azure SQL Data Warehouse : データウェアハウス
    • AWS : Redshift
    • FW : SQLDBと同じ
      • サーバーレベル : 全DBに適用
      • データベースレベル : DBごと
  • Azure Cosmos DB: グローバルレベルで利用可能なDB。世界的に展開しているサービスで利用。
    • AWS : 対応しているサービスなし?RDSのグローバルバージョンみたいな感じかな。 Dynamo DB グローバルテーブル
  • Azure Data Lake Store : データレイク
    • AWS : S3
    • データ無制限
    • HadoopなどのOSSに対応
    • 分析サービス
      • Azure HDInsight(Hive Storm Spark)
      • Azure Data Lake Analytics Service

環境作成

  • ARMテンプレート
    • AWS : Cfn
    • デプロイ方法
      • VisualStudio
      • VSCode
      • PowerShell、AzureCLI