Terraform を使用してマルチクラウドを管理する方法を学びますか?

Terraform を使用してマルチクラウドを管理する方法を学びますか?

[51CTO.com クイック翻訳] マルチクラウド戦略は、企業の IT チームに多くの複雑さをもたらす可能性があります。 Puppet、Chef、Ansible などのいくつかのオープンソース エンドポイント管理ツールが役立ちますが、一般的なサーバー/クライアント関係ではなく、単一のエントリ ポイントを通じて複数のプロバイダーにサービスを展開できることが特に重要です。

[[252809]]

HashiCorp の Terraform は、あらゆるクラウド プロバイダーのインフラストラクチャに対して予測可能で再現可能な変更を加えるための単一のワークフローを管理者に提供する、オープン ソースの Infrastructure as Code (IaC) ツールです。仮想マシンと依存関係の管理が簡素化されるだけでなく、複数のプロバイダーにわたるサービスの展開も簡素化されます。 Terraform は、コードリリースと同様にチームがインフラストラクチャの変更を共有、再利用、デプロイ、ロールバックできるようにする IaC ツールです。

はじめる

AWS EC2 インスタンスと Google App Engine アプリケーションの両方を構成する基本的な Terraform 構成ファイルを見てみましょう。

  1. プロバイダー「aws」 {
  2. access_key = "アクセスキーはこちら"  
  3. secret_key = "秘密のキーはこちら"  
  4. リージョン = "us-east-1"  
  5. }
  6.   
  7. プロバイダー「google」 {
  8. 資格情報 = "${file(" account.json ")}"  
  9. プロジェクト = "私のプロジェクトID"  
  10. 地域 = "us-central1"  
  11. }
  12.   
  13. リソース「aws_instance」   "例" {
  14. アミ = "アミ-123456789"  
  15. インスタンスタイプ = "t2.micro"  
  16. }
  17.   
  18. リソース「google_project」   「私のプロジェクト」 {
  19. name = "私のプロジェクト"  
  20. project_id = "プロジェクトID"  
  21. 組織ID = "1234567"  
  22. }
  23.   
  24. リソース「google_app_engine_application」   "アプリ" {
  25. プロジェクト = "${google_project.my_project.project_id}"  
  26. location_id = "us-central"
  27. }

上記の構成では、2 つのプロバイダーと 3 つのリソースが定義されています。 Terraform では、プロバイダーとは、何らかの API (この場合は AWS と Google Cloud Platform (GCP)) と対話するサービスです。プロバイダー ディレクティブの最も直感的な使用法は、1 つ以上のクラウド プラットフォームを構成することですが、データベース ドライバー、ネットワーク プラットフォーム、バージョン管理システムなど、利用できるリソースは他にも多数あります。

プロバイダーを定義したら、そのプロバイダーのリソースを宣言できます。上記の例では、AWS EC2 インスタンス、GCP プロジェクト、Google App Engine アプリケーションの 3 つのリソースが定義されています。リソースとは、ストレージ、データベース、コンピューティングなど、クラウドによって提供されるツールまたはサービスです。ただし、リソースではローカル ファイルやランダム データ ジェネレーターも定義できます。

変化への適応

予期しないコストを回避するために、Terraform を使用するときはあらゆる予防措置を講じてください。

Terraform は、明確に定義された構成ファイルを使用してアプリケーション インフラストラクチャを構成できるだけでなく、変化する要件にも適応できます。この独自の機能により、管理者は作業やインフラストラクチャを増やすことなく構成ファイルを変更できるようになります。たとえば、上記の構成ファイルが次のように変更されたとします。

  1. プロバイダー「aws」 {
  2. access_key = "アクセスキーはこちら"  
  3. secret_key = "秘密のキーはこちら"  
  4. リージョン = "us-east-1"  
  5. }
  6.   
  7. リソース「aws_instance」   "例" {
  8. ami = "ami-123456789"  
  9. インスタンスタイプ = "t2.micro"  
  10. }

リソースを追加および削除すると、Terraform はこれらの変更を認識し、それに応じてインフラストラクチャを更新します。 Terraform は適用された構成ファイルの以前の状態を保持するため、AWS リソースの再構成を試みることなく、以前に構成された GCP リソースを削除することを認識します。これは、いつでも変更される可能性があるバージョン管理環境で特に役立ちます。

課題

Terraform の最大の利点の 1 つは、同時に最大のリスクも伴います。非常に使いやすいため、ユーザーが慎重に検討しないと、多大なコストを負担することになる可能性があるのです。ユーザーは 1 つのコマンドで、構成済みのプロバイダーに任意のプロファイルを適用できるため、多数のリソースを任意の数のクラウド プロバイダーにデプロイできます。 Terraform は、計画の読み出しと確認メカニズムを通じてこれを防ぐのに役立ちますが、事故が発生する可能性もあります。予期しないコストを回避するために、Terraform を使用するときはあらゆる予防措置を講じてください。

さらに、Terraform は構成されたインフラストラクチャの状態を保存できるため、構成された環境に加えられた変更に適応できます。これにより、インフラストラクチャの作成、変更、削除のための高速なメカニズムが提供されますが、ツールは実行のたびにクラウド リソースをチェックするわけではないため、複数のマシンからインフラストラクチャに変更を加えるときに共有状態のオーバーヘッドが発生します。

元のタイトル: Terraform を使用したマルチクラウド管理の方法を学ぶ、著者: Zachary Flower

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。

<<:  ZStack 3.1プライベートクラウドは、IPv6をサポートする最初のものであり、洗練されたクラウドプラットフォームの開発を続けています。

>>:  Docker による動的ツール: 見落とされがちなベストプラクティス

推薦する

トレンドに囚われた

喬さんは今でも、大学時代に同級生と靴の投機をした経験を思い出すと、「値段が上がれば売る。上がらなけれ...

スポーツマーケティングインサイトレポート

ところで、オリンピックがもうすぐ始まりますが、観客がいないので、雰囲気がかなり薄れています。一昨日の...

新人ウェブマスターの告白:Baidu を取り戻す方法

Baidu を再び利用できるようにする方法は、すべてのウェブマスター、特に新しいウェブマスターにとっ...

タッチポイントマーケティングは興味深いが、その中でのウェブサイトの役割はさらに興味深い。

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますこうしたユ...

ソーシャルメディアアーキテクチャのどの垂直分野がMeilishuoを再現できますか?

Meilishuoは、Weiboなどのソーシャルメディアを女性向けオンラインショッピングの分野に垂直...

セルフメディアはマーケティングに新たな変化をもたらすでしょうか?

「自メディア」という言葉は、WeChat大衆プラットフォームの登場後に生まれたようです。当時、程玲鋒...

コンテナは運用と保守に不可欠な機能となっています。それらがどのようにして生まれたのか知っていますか?

運用・保守業界は2019年に大きな変化を遂げました。多くの新技術の登場に加え、もともと概念段階にあっ...

異常なウェブサイトのスナップショットを正しく表示する

ウェブマスターの大多数は、自分のウェブサイトのスナップショットを非常に気にしています。個々のウェブマ...

クラウド コンピューティングのバックアップはデータ センターのバックアップとどう違うのでしょうか?

バックアップは企業にとって良い戦略です。企業は、自然災害や人為的ミスが発生した場合でも業務を正常に継...

タオバオで悪質な購入者6万人を摘発:さまざまな手段を使って脅迫

リーガルネットワーク記者 陳東勝 リーガルネットワーク特派員 李翔商品を探す - 商品の写真を撮る ...

HTML5 は最終的に APP に取って代わるのでしょうか?モバイルインターネットは今や「左派と右派の戦い」

すべてが再び起こっている。これは、「The Gods Must Be Crazy」のモバイル インタ...

模倣は相手から学ぶことにも有効である

模倣は私たちの生来の本能です。人々が模倣の機能を拡大し続けるにつれて、インターネットでの模倣も私たち...

バックエンド テクノロジーを 5 分で学ぶ: 1 つの記事でクラウド コンピューティングとは何かを説明します。

クラウドコンピューティングとはすでに 10 年前には、クラウド コンピューティング関連の職種が市場に...

SEOの詳細が成功と失敗を決定づける: ウェブサイトのドメイン名について

SEO 最適化とプロモーションの大まかな方向性は、コンテンツと外部リンクの組み合わせに過ぎないことは...