はじめに

完了

Microsoft Azure では、Linux 仮想マシン (VM) 用リソースのプロビジョニングと、既存の Linux ベースのワークロードの移行の両方について、複数の方法がサポートされています。

サンプル シナリオ

あなたは、既存のオンプレミス Linux ベース ワークロードを Azure に移行するために、金融サービス会社に雇用されているとします。 あなたはプロジェクトに必要なサービスとして、サービスとしてのインフラストラクチャ (IaaS) とサービスとしてのプラットフォーム (PaaS) を選択し、デプロイに必要なリソースの計画を完了しました。 次に、Linux を実行している Azure VM をプロビジョニングするときに、シンプルさと効率性の最適なバランスを提供するデプロイ手法を選択する必要があります。 選択肢には、Azure portal、Azure CLI、Terraform テンプレート、Bicep テンプレートが含まれます。

主要なデプロイ方法を確認する

使用するデプロイ方法を選択するときは、各選択肢で何を提供する必要があるかを考慮することが必要です。

Azure portal

Azure リソースをプロビジョニングする最も簡単な方法は、Azure portal を使用することです。 Azure portal は、コマンド ライン ツールに代えて使用できる、便利な Web ベースの統合コンソールです。 ブラウザーベースのグラフィカル インターフェイスは、必要な情報をユーザーに求め、ヒントを提供し、役立つメッセージを表示することで、リソースのデプロイと管理のタスクを支援するように設計されています。

Azure CLI

Azure CLI は、Azure サブスクリプションへのアクセスとそのリソースの管理に使用できる、クロスプラットフォームのコマンド ライン ツールです。 Azure CLI コマンドは、Windows コマンド プロンプト ウィンドウや Linux シェル セッションなどのコンソール インターフェイスから対話形式で実行できます。 また、Bash シェル コマンドと GNU ユーティリティを使用してプロセスを自動化するスクリプトに Azure CLI を組み込むこともできます。

Terraform

Terraform はオープンソースのマルチプラットフォーム IaC (コードとしてのインフラストラクチャ) ツールであり、マルチベンダーのパブリック クラウドやプライベート クラウドなど、さまざまな環境のプロビジョニングと構成に使用できます。 リソース管理のための "命令型アプローチ" を提供する Azure CLI とは異なり、Terraform は "宣言型" のアプローチに従います。

命令型アプローチには、スクリプトを記述することや一連のコマンドを実行することが含まれます。 目的の結果を生成するために実行する手順を明示的に指定します。 命令型デプロイを使用する場合は、依存関係、エラー処理、リソースの更新をユーザー側で管理する必要があります。 宣言型のアプローチでは、目的の結果を実装する手順ではなく、それを説明する定義を記述する必要がありますが、その結果を達成するための最適な方法はツールによって決まります。 そのために、環境の現在の状態を調べ、それをターゲットの状態と比較し、それらを同一にするために必要な変更を実装します。

注意

Red Hat Ansible は、Terraform 機能を補完するために使用できるもう 1 つの一般的なオープンソース ツールです。 ただし、Ansible を使用するとクラウド リソースのプロビジョニングが容易になり、構成管理とアプリケーションのデプロイの両方がサポートされます。

Bicep

Bicep は、Terraform とは別の宣言型プロビジョニング方法を提供します。 対象は Azure リソースのみですが、Microsoft クラウドベースのテクノロジに共通するいくつかの統合および操作性の機能を利用できます。

Note

Bicep と Terraform の総合的な比較については、Learn ドキュメント「Terraform と Bicep の比較」を参照してください。

Azure では、宣言型プロビジョニング用に次の 2 種類のテンプレートがサポートされています。

  • Azure Resource Manager テンプレート: このテンプレートは、JavaScript Object Notation (JSON) オープン標準のファイル形式を使用しています。

  • Bicep テンプレート: このテンプレートはドメイン固有言語 (DSL) に依存しています。DSL は、テンプレート作成エクスペリエンスを簡素化し、結果として得られる機能を強化するために Microsoft によって最近開発されました。

これらの両方のテンプレートを使用して、実質的にあらゆる Azure リソースをデプロイできます。 これらのテンプレートは、バージョン管理システムとデプロイ パイプラインに簡単に統合することもでき、結果として自動化と信頼性が向上します。 ただし、Azure Resource Manager テンプレートと比較して、Bicep テンプレートには、より簡潔な構文や組み込みの依存関係管理など、いくつかの追加の利点があります。

学習内容

このモジュールでは、Azure で Linux VM をプロビジョニングするための最適なデプロイ方法を選択します。 その選択は、デプロイ計画フェーズ中に確立された条件によって異なります。

主な目標

このモジュールを終了すると、選択した任意のデプロイ手法を使用して、Linux を実行している Azure VM をプロビジョニングできるようになります。 また、各方法に最も適したユース ケースについて理解を深めることもできます。