工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial Internet of Things >> クラウドコンピューティング

Bare Metal Cloud 上の Terraform を使用したコードとしてのインフラストラクチャ

コードとしてのインフラストラクチャ (IaC) は、仮想化されたクラウド リソースを管理するプロセスを簡素化します。クラウドネイティブの専用サーバーの導入により、物理マシンを同じレベルの柔軟性で展開できるようになりました。

phoenixNAP のクラウドネイティブな専用サーバー プラットフォーム Bare Metal Cloud (BMC) は、IaC との互換性を考慮して設計されています。 BMC は、DevOps で最も広く使用されている IaC ツールの 1 つである HashiCorp Terraform と完全に統合されています。この統合により、ユーザーはカスタムビルドの Terraform プロバイダーを利用して、わずか数行のコードで BMC サーバーを数分でデプロイできます。

Infrastructure as Code を選ぶ理由

コードとしてのインフラストラクチャは、人間が判読できる構成ファイルを使用して、クラウド リソースの展開と管理のプロセスを自動化する方法です。スピードと俊敏性が重要な DevOps において極めて重要な役割を果たします。

IaC が導入される前は、システム管理者がすべてを手動で展開していました。すべてのサーバー、データベース、ロード バランサー、またはネットワークを手動で構成する必要がありました。チームは現在、さまざまな IaC エンジンを利用して、複数のプロバイダーにまたがる数百台のサーバーを数分で起動または破棄しています。

市場には多くの強力な IaC ツールがありますが、Terraform は IaC 分野で最も著名なプレーヤーの 1 つとして際立っています。

Terraform の基本

Terraform by HashiCorp は、DevOps チームがクラウドネイティブ リソースを安全にデプロイ、変更、およびバージョン管理できるようにするコード エンジンとしてのインフラストラクチャです。そのオープン ソース ツールは無料で使用できますが、ほとんどのチームは、コラボレーションとガバナンスを可能にする Terraform Cloud または Terraform Enterprise と共に使用することを選択しています。

Terraform でデプロイするために、開発者は HashiCorp 構成言語 (HCL) で記述された構成ファイルで必要なリソースを定義します。その後、Terraform はそのファイルを分析して実行計画を作成します。ユーザーが確認すると、構成ファイルで定義された内容を正確にプロビジョニングする計画を実行します。

Terraform は、インフラストラクチャの望ましい状態と既存の状態の違いを識別します。このメカニズムは、複数の環境間で一貫性を維持することが重要な DevOps パイプラインで重要な役割を果たします。

Terraform を使用した Bare Metal Cloud サーバーのデプロイ

Terraform は、そのソフトウェアをサポートするプロバイダーのリストを増やし続けています。プロバイダーは、ユーザーが構成ファイルで初期化するさまざまなサービス プロバイダーのカスタム ビルド プラグインです。

phoenixNAP には独自の Terraform プロバイダーである pnap があります。 Bare Metal Cloud ユーザーは、Web ベースの Bare Metal Cloud Portal を使用せずに、BMC サーバーを展開および管理するためにこれを使用できます。 phoenixNAP プロバイダーのソース コードとドキュメントは、Terraform プロバイダーの公式ページで入手できます。

Bare Metal Cloud での Terraform の使用例

Terraform を使用して BMC サーバーのデプロイを開始するには、BMC アカウントを作成し、Terraform をローカル システムまたはリモート サーバーにインストールします。 Terraform を実行する前に、必要な認証データを収集し、config.yaml に保存します。 ファイル。 clientId が必要です そしてclientSecret どちらも BMC アカウントで確認できます。

すべての設定が完了したら、目的の BMC リソースの定義を開始します。そのためには、Terraform 構成ファイルを作成し、pnap プロバイダー を使用することを宣言します。 :

terraform {
  required_providers {
    pnap = {
          source = "phoenixnap/pnap"
          version = "0.6.0"
    }
  }
}

provider "pnap" {
  # Configuration options
}

configuration options 用に予約されたセクション BMC インフラストラクチャの望ましい状態の説明を含める必要があります。

最も基本的な Bare Metal Cloud サーバー構成 s1.c1.small をデプロイするには 、 Phoenix データセンターで Ubuntu OS を使用:

resource "pnap_server" "My-First-BMC-Server" {
    hostname = "your-hostname"
    os = "ubuntu/bionic"
    type = "s1.c1.small"
    location = "PHX"
    ssh_keys = [
       "ssh-rsa..."
    ]
    #action = "powered-on"
}

引数名 action は、サーバーで実行できる電源操作を示し、再起動、リセット、電源オン、電源オフ、シャットダウンが含まれます。すべての引数名には対応する値が含まれている必要がありますが、アクション引数を定義する必要はありません。

この Bare Metal Cloud インスタンスをデプロイするには、terraform init を実行します Terraform に初期化プロセスを開始するよう指示する CLI コマンド。

Terraform 構成は、.tf のファイルに保存する必要があります。 拡大。 Terraform はドメイン固有の言語を使用して構成を定義しますが、ユーザーは構成ファイルを JSON で記述することもできます。その場合、ファイル拡張子は .tf.json である必要があります .

すべての Terraform 構成ファイルは再利用可能です 、スケーラブルバージョン管理可能 BMC プロビジョニング スキームでのチーム コラボレーションが容易になります。

1 つまたは数百のサーバーをデプロイする必要がある場合でも、Terraform と BMC がそれを実現します。構成ファイルで定義できるサーバーの数に制限はありません。 phoenixNAP と一緒に他のプロバイダーを使用することもできます。

複雑な設定を簡単に管理するために、Terraform には モジュール と呼ばれる機能があります。 — 環境のアーキテクチャを抽象的な方法で定義できるコンテナ。モジュールは、1 つ以上のインフラストラクチャ オブジェクトを含む他のモジュールを呼び出すことができるコードの再利用可能なチャンクです。

Terraform Cloud を使用した BMC 構成のコラボレーション

Terraform 構成の作成とプロビジョニングの方法を習得したら、DevOps チーム全体が新しい BMC リソースのデプロイと既存の BMC リソースの変更により効率的に作業できるようにする方法を設定する必要があります。

Terraform 構成をバージョン管理システムに保存し、Terraform Cloud から無料でリモートで実行できます。これにより、誤って構成されたリソースをデプロイする可能性を減らし、監視を改善し、すべての変更がクラウドから確実に実行されるようにします。

Terraform Cloud のリモート状態ストレージを活用することもできます。 Terraform 状態ファイルは、Terraform 構成を現実世界にデプロイされたリソースにマップします。 Terraform Cloud を使用して状態ファイルを保存すると、チームは常に同じページにいることが保証されます。

Terraform のもう 1 つの大きな利点は、すべての構成ファイルを再利用できることです。これにより、同じ環境を複数回複製することが非常に簡単になります。複数の環境で一貫性を維持することにより、チームは高品質のコードをより迅速かつ安全に本番環境に提供できます。

インフラストラクチャを自動化

この記事では、Terraform の柔軟性を活用して Bare Metal Cloud リソースをプログラムで操作する方法の概要を説明しました。 phoenixNAP Terraform プロバイダーと Terraform Cloud を使用することで、わずか数行のコードで複数の BMC インスタンスを迅速にデプロイ、構成、廃止できます。

インフラストラクチャ プロビジョニングに対するこの自動化されたアプローチにより、DevOps ワークフローの速度と俊敏性が向上します。 BMC を Terraform Cloud と組み合わせることで、チームは、専用サーバーが手動でプロビジョニングされるのを待つ時間を無駄にするのではなく、ソフトウェアの構築に集中できます。


クラウドコンピューティング

  1. パフォーマンスと効率のためのクラウドインフラストラクチャを構築する
  2. ITプロフェッショナルが地図作成スキルを必要とする理由
  3. オンプレミスインフラストラクチャは廃止されていますか?
  4. Weekly Packet:Cloudy with a Chance of Innovation
  5. Infrastructure-as-Codeの長所と短所
  6. DevOpsサービスでクラウドを使用する利点
  7. Code Ready Containers:クラウドでのプロセス自動化ツール入門
  8. クラウドコンピューティングインフラストラクチャ;基本を理解する
  9. AWSチートシート:試験ガイド付き
  10. プレスブレーキで板金を曲げる
  11. Canonical による MAAS (Metal-as-a-Service) を使用した Bare Metal Cloud でのサーバー プロビジョニングの自動化