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な感じ。一通り、さらっと読む。
- 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機能あり
- Traffic Manager : DNSベースのトラフィック分散サービス
- DNS
- Aure DNS : DNSサービス
- AWS : Route53
- Aure DNS : DNSサービス
- ネットワーク監視
- Network Watcher : ネットワークリソースの監視
- AWS : CloudWatch、VPCフローログ
- VPN診断
- パケットキャプチャ
- Network Watcher : ネットワークリソースの監視
- セキュリティ
- NSG : ネットワークアクセス制御
- AWS : NACL
- サブネットとNICにアタッチ可能
- ステートレス
- AzureMonitor : NSGのイベントログ
- AWS : VPCフローログ
- SecurityCenter
- AWS : GuardDuty
- 防御、検知、可視化
- IPS、IDS機能
- サードパーティの製品との連携も可能
- Fortinet、Barracuda
- Endpoint Protection : セキュリティソフト
- AWS : AWS標準のものはなさそう
- NSG : ネットワークアクセス制御
- VPN
- VPNGateway : Azure側のVPNゲートウェイ
- AWS : VGW
- AWSと違い冗長化の考慮やIPの確保が必要
- ExpressRoute : 専用線
- AWS : DirectConnect
- VPNGateway : Azure側のVPNゲートウェイ
仮想マシン
- 仮想マシン
- AWS : EC2
- 可用性セット : 仮想マシン障害時の復旧
- AWS :オートリカバリー
- マシンログ : ログインログ、スクリーンショット
- AWS : AWSコンソールスクリーンショット、インスタンスコンソール出力
- 負荷監視 : CPU使用率
- AWS : CloudWatch メトリクス
- シャットダウン
- 停止 : OSシャットダウン、一時ディスクデータ継続、仮想マシンの課金継続
- 停止済み(割り当て解除) : 仮想マシンの課金停止、一時ディスクデータ削除
- AWS: AWSでは、OSからのシャットダウンでも、インスタンス停止でもAzureの停止済み(割り当て解除)と同じ
- バックアップ
- AzureBackup : スケジュールとVSS対応
- AWS : スナップショット、AMI
- AzureBackup : スケジュールとVSS対応
PaaS
- AzureAppService
- WebApp : WEBサイト、WEBアプリケーション基盤
- AWS : ElasticBeanStalk
- Kudu : WebApp内でのログを確認できる。これは便利そう。
- Mobile Apps : モバイルアプリケーション基盤
- AWS : Mobile Hub
- API Apps : APIの作成
- AWS : APIGateway?
- Logic Apps : ワークフロー
- AWS : StepFunction
- WebApp : WEBサイト、WEBアプリケーション基盤
権限制御
- 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
- Blob : 非構造化オブジェクトデータ
- クライアントツール
- MS Azure Storage Explorer
- 公式のCyberduck的なやつ
- Visual Studio Server Explorer
- MS Azure Storage 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 グローバルテーブル
- AWS :
- 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