1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Azure】手っ取り早くリソース触りたい方向けのハンズオン集

Posted at

はじめに

AWSに知見はあるけど、Azureは初めて触るという方向けです。

比較している内容について、:(コロン)を挟んで左辺がAzureサービス、右辺がAWSサービスとなってます。

Azureの公式サイトでも「AWS プロフェッショナルのための Azure」というタイトルでAWSとの比較をしてくれてはいるのですが・・・

本記事ではAzureリソースの理解を深めるため、必要に応じて(便利な言葉)そのリソースの解説やハンズオンとなるURLも貼付しています。

「とりあえず、触れてみないことには何も分からんよな!」という方の一助になれば幸いです。

ネットワーク

  • Azure VNET:Amazon VPC
  • サブネット:サブネット

⇒AzureもAWSも一緒だが、AWSは”サブネットに対してAZを指定”しますが、Azureはサブネットに対してAZを指定するのではなく、”仮想マシンを作成する際にAZを指定”します。

  • ルートテーブル:ルートテーブル

  • NATゲートウェイ:NATゲートウェイ

  • Azure Front Door:Amazon CloudFront

  • プライベートエンドポイント/サービスエンドポイント:VPCエンドポイント

※プライベートエンドポイントとサービスエンドポイントの違い

  • プライベートエンドポイント⇒Azure PaaS のパブリック IP アドレスに対する接続を最適化する
  • サービスエンドポイント⇒プライベート IP アドレスで Azure PaaS に接続する

  • Azure Firewall:AWS Network Firewall

※FirewallとApplication Gatewayの組合せについては以下が参考になります。

コンピューティング

  • 仮想マシン(Azure Virtual Machines):Amazon EC2

  • サービスコネクタ(Service Connector)

⇒AWSで該当するようなサービスなし。Azureコンピュートサービスと他のバッキングサービス間の接続を簡素化するAzureサービスとのこと。Container AppからContainer Registriesへの接続を簡素化してくれたりする。

  • Azure Load Balancer:Elastic Load Balancer

  • Application Gateway:Application Load Balancer(ALB)

⇒内部業務アプリケーションへのセキュアなアクセス制御、オンプレミスとクラウド間のハイブリッド構成、複数のバックエンドサービスへの高度なトラフィック振り分けが必要なシナリオに使う。インターネット向けの公開目的であればFront Doorの方がよさそう。

Application GatewayとContainer Appsの統合は以下。ついでにWAFも作れる。

※HTTPで接続する場合は、Container Appsの「イングレス>セキュリティで保護されていない接続」にチェックをいれる

⇒仮想マシン(VM)とApplication Gatewayを接続するチュートリアルは以下

  • Azure Automation :(一例だが)Lambda+Step Functions

コンテナ

  • Container Registries:Amazon ECR

  • コンテナーアプリ(Azure Container Apps):Amazon ECS(Fargate)

⇒中々に癖がある。コンテナ環境用のサブネット(Container Apps環境)が別途必要だったり、しかもその環境のサブネットマスクは/23以上必要だったり。まあ実態がAKS(Azure Kubernetes Service)ベースで、各Podに個別IPが必要ってところから多くのIPアドレスが必要なのかなと思います。

※操作するにあたり、(個人利用を除き)有償化してしまったDocker Desktopの代替として、Rancher Desktopを使用して以下のハンズオンを実施しました。

指定のVNET内にコンテナを作りたいときは以下を参照。

  • Azure Kubernetes Service(AKS):Amazon EKS

※プライベートクラスターを作成する

※Kubernetis APIを使用してノードに接続する

※内部ロードバランサとの統合

CI/CD

  • Azure DevOps(Azure pipelines):AWS Codeシリーズ

  • Azure Pipeline:Code Pipeline

※Kubernetesにデプロイする

ストレージ

ストレージアカウントの種類が多くて複雑・・・。

※Azure Storage Explorerは便利そう。Azure Storage アカウントに対してアップロード、ダウンロード、コピー等のファイル操作をGUIで行いたい場合に効果的。

  • Azure Blob Storage:Amazon S3

⇒命名規則が英数字小文字のみ24文字以内ってどうなの。

  • Azure Disk Storage:Amazon EBS
  • Azure Files:Amazon EFS

データベース

  • Azure Database for PostgreSQL:Amazon RDS for PostgreSQL

※プライベート アクセス接続方法はこちら(VNET内でのアクセスに利用)

  • Azure CosmosDB:Amazon DynamoDB
  • Azure Cache for Redis:Amazon ElastiCache

バックアップ

Azureのバックアップには色々種類があって分かりづらい。

Azure バックアップ ソリューションで利用する Recovery Services コンテナーとバックアップ コンテナーのバックアップ対象の違いについては、以下を参照いただけると良いです。

  • Recovery Services コンテナー:AWS Backup

  • バックアップコンテナー:AWS Backup

セキュリティ

  • Azure WAF:AWS WAF

⇒WAF そのものがリソースとして存在しているわけではなく、Azure Application Gateway や Azure Front Door などに含まれる一つの機能として存在しています。

例えば、Container Appsと統合したい場合は、Container Appsを内部イングレスに設定したあと、Azure Application Gateway経由でWAFと統合します。

または、Azure Front Door+WAFでもContainer Appsと統合できます。

Application GatewayおよびFront DoorとContainer Appsの組合せにWAFをアタッチする場合は以下も参考になります。

⇒WAFのログはアタッチしているリソース(Application Gatewayなど)の設定から「診断設定」を選択してログ出力を有効化する必要がある。

  • Key Vault:AWS Certificate Manager(証明書管理)、AWS KMS、AWS SecretManager

⇒外部からの証明書をインポート可能。

また、パートナー CA によって発行された Key Vault に証明書を追加することが可能(有料)。

または、自己証明書を無料で作成できる。

  • Azure App Service:AWS Certificate Manager(証明書作成)
  • Azure Container Apps:AWS Certificate Manager(証明書作成)

⇒上記2つのサービスは、サービス側からSSL/TSL証明書を発行できるが、検証目的でドメイン登録(Aレコード、CNAMEレコード、TXTレコードなど)は必須となる。

マネージドID

  • マネージドID(システム割り当て)※Azureリソースに紐づいて作成される認証
  • マネージドID(ユーザ割り当て)※単独のAzureリソースとして作成する認証

⇒AWSに「マネージドID」という概念はない。以下のURLを参照頂ければと。

メール送信

・Azure Communication Services(Email Communication Service):Amazon SES

Azure公式ドキュメント

1:Communication Services リソースを作成する

2:Email Communication Service リソースの作成と管理

3:電子メール通信サービスに Azure マネージド ドメインを追加する

※カスタムドメインを使用する場合の追加方法は以下

4:Azure Communication Services を使用してメールを送信する

制限について

メール送信数に上限(カスタムドメインの場合、1分につき30通、60分につき100通)がありますが、Azureサポートリクエストから送信ボリュームの増加を要求可能とのことです。

監視

  • Azure Monitor:Amazon CloudWatch

⇒Azureでは仮想マシン作成時にアラートルールを設定できる。便利だった。

  • 分析情報(Azure VM Insights):CloudWatch AgentやCloudWatch Insightsなど複数のサービス

⇒VMのメモリ使用率などVM 上で実行されているソフトウェアとプロセスを監視する。

  • ログ検索アラートルール:CloudWatchメトリクスフィルター

⇒AWSではメトリクスフィルター上でアラートとなるワードを指定すれば良かったが、Azureだとクエリ文を書く必要がある。正直面倒だなあと思ってしまった。

例)

**Syslog

| where SeverityLevel in ("err", "error","crit", "alert", "emerg")

| where TimeGenerated > ago(24h)

| project TimeGenerated, Computer, SeverityLevel, Facility, SyslogMessage

| sort by TimeGenerated desc**

  • メトリックアラートルール:CloudWatchアラーム

ログ

  • Log Analytics:Amazon CloudWatch Logs

  • データ収集ルール:CloudWatch Agent+ログ収集設定

  • ログ診断設定:Amazon Data Firehose + サブスクリプションフィルター

⇒ログの格納先をLog AnalyticsやBlob Storageなどに保存できる。準リアルタイム性あり。

Blobストレージへの保存は最大90分かかるらしいけど、実際はそんなかからない。数分程度。

通知

  • アクショングループ:Amazon SNS

名前解決

  • AzureプライベートDNSゾーン:Route 53 Private Hosted Zone

権限管理

  • Azure ロールベースのアクセス制御 (Azure RBAC):AWS IAM
  • リソースプロバイダー

⇒AWSには無い概念。Azureリソースを作成・管理するためのサービスAPIであり、特定の Azure サービスの機能を利用する(有効化する)ために必要な機能です。

  • カスタムポリシー定義:AWS Config+SCP(カスタムポリシー定義は予防的措置も実施してくれるので)

アカウント管理

  • AzureとAWSのアカウント管理について考え方が大きく異なります。

理解を深めるために、以下の記事が参考になりました。

【おまけ】Azure CLIについて

  • Windows に Azure CLI をインストールする

  • Azure CLI を使用して Azure に対する認証を行う

  • Azure CLI を使用して対話形式で Azure にサインインする

draw.ioについて

  • draw.ioにAzureのアイコンを追加する

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?