このビデオでは、クラウド O&M で最も一般的なシナリオの 1 つであるクラウドリソースの作成に焦点を当てています。ビデオでは、自動化を使用してクラウド リソースを効率的かつ安全に作成または管理する方法を紹介します。ビデオには具体的な例が含まれています。
次のトランスクリプトを参照できます。
こんにちは、Alibaba Cloud オープン プラットフォーム自動化シリーズ Auto Talk へようこそ。Alibaba Cloud オープン プラットフォームの研究開発エンジニアの Bozong です。このエピソードでは、企業がクラウド管理プラットフォーム (CMP) と GitLab に基づいてリソースのプロビジョニングを自動化する方法を紹介します。企業は、リソースのプロビジョニングに 3 つの方法を使用します。最も一般的な最初の方法は、ビジネス スタッフがクラウド コンソールに直接ログオンして、リソースを手動で作成することです。2 番目の方法は、ビジネス スタッフがスクリプトを使用してクラウドリソースを作成することです。3 番目の方法は、ビジネス スタッフが企業のクラウド管理プラットフォームにログオンして、クラウドリソースを申請および作成することです。
企業のクラウドリソースを申請するプロセスには、いくつかの問題が存在します。これらの問題は、主に 3 つのカテゴリに分類されます。リスクの観点から、ECS インスタンスなどのクラウドリソースの作成中に、企業はテストされていないイメージを導入する可能性があり、未知のリスクにつながります。企業は、承認されていないクラウド サービスを使用する可能性もあり、アプリケーションに企業によって承認されていない依存関係が生じます。これにより、未知の追加リスクが発生します。
効率性に関しては、2022 年 9 月の時点で、ECS は 495 の x86 インスタンスタイプを提供しています。2023 年 6 月までに、x86 インスタンスタイプの数は 594 に増加します。コンソールでの選択肢が多いため、企業ユーザーは正しいインスタンスタイプを選択するのが困難になります。さらに、企業が運用担当者がビジネス担当者のリソース作成を支援する方法を採用している場合、配信チームのワークロードが増加し、迅速なビジネス開発が妨げられます。コストの観点から、開発者はクラウド サービスと仕様を任意に選択する可能性があり、コスト超過につながります。さらに、企業リソースの標準化されたコスト管理メカニズムがないため、企業によって作成されたリソースをリソースグループに分類したりタグ付けしたりすることができず、企業がリソースコストを効果的に制御することが困難になります。
このビデオで紹介するソリューションは、企業のリソース プロビジョニングにおける前述の課題に対処します。まず、ビジネス チームは準拠したクラウドリソースを取得できるため、リソースの配信が加速され、チーム全体の効率が向上します。次に、O&M チームは Terraform テンプレートを使用してクラウドリソースのタイプと仕様を定義し、これらのテンプレートをビジネス チームに提供します。ビジネス チームは Terraform を使用してクラウドリソースを作成し、クラウドリソースのセキュリティとコンプライアンスを確保します。3 番目に、このソリューションは GitLab のパイプライン マージ機能を使用してリソース プロビジョニング プロセスを合理化し、企業の観点からクラウドリソース リクエストの統一レビューを可能にします。多くの企業はマルチクラウド戦略を必要としています。GitLab と Terraform を活用した当社のソリューションは、企業のリソース プロビジョニングの自動化ニーズを満たします。2 つの典型的なシナリオについて説明します。
ビジネス チームにとって、クラウドに移行する新しいアプリケーションには一定レベルの俊敏性が必要です。このソリューションでは、ビジネス チームは最初に必要なリソース テンプレートを選択し、これらのテンプレートを使用してリソースをデプロイしてから、クラウドリソースにアプリケーションをデプロイします。企業にとって、コンプライアンス要件が優先されます。したがって、企業はコンプライアンス ベースラインを設定して、クラウドリソースの継続的なコンプライアンスを確保する必要があります。このソリューションでは、企業の管理者が Terraform テンプレートを定義し、これらのテンプレートをビジネス チームにアプリケーション用に提供します。ビジネス チームはテンプレートを使用してリソースをデプロイし、アプリケーションのデプロイに進みます。企業にとって、リソース プロビジョニング プロセスはここに示す図に従います。
新しいアプリケーションがクラウドに移行すると、ビジネス チームはクラウド アカウントを申請します。運用チームは、クラウド管理プラットフォームを通じてクラウド アカウントを確認および配信します。運用チームがビジネス クラウド アカウントを配信した後、ビジネス チームはこのクラウド アカウントを使用してアプリケーション リソースを申請します。運用チームは、クラウド管理プラットフォームを通じてアプリケーション リソースを確認および配信します。現在のソリューションは、ビジネス チームが配信されたクラウド アカウントでアプリケーション リソースをどのように申請するか、および運用チームがアプリケーション リソースをどのように配信するかに焦点を当てています。
例を示す前に、ソリューションの全体アーキテクチャの紹介が必要です。まず、ビジネス チームはクラウド管理プラットフォームを通じてリソースを申請する必要があります。申請後、管理チームが最初のレビューを行います。レビューに合格すると、クラウド管理プラットフォームは GitLab に変更ブランチを作成し、ビジネス担当者が申請したクラウドリソースの Terraform コードを自動的に生成します。プラットフォームはこのコードを変更ブランチに送信し、変更ブランチをメイン ブランチにマージするためのマージ リクエストを作成します。マージ リクエストの作成後、運用担当者が 2 回目のレビューを行います。2 回目のレビュー後、GitLab パイプラインは Terraform apply コマンドを実行してクラウドリソースを作成します。
以下では、クラウドリソース アプリケーションの実際の手順を示します。まず、ビジネス担当者はクラウド管理プラットフォームを通じてリソースを申請します。ここでは、ビジネス担当者はリソース名を指定できます。リソース名はアプリケーションの名前です。
次に、ビジネス担当者は OSS バケットの名前を入力できます。ビジネス担当者は申請の理由も提供できます。例: 新しいアプリケーションが起動されています。
アプリケーションに必要な OSS バケットを申請します。フォームでは、ビジネス担当者は OSS バケットのリージョンと [環境] を選択できます。 [環境] はアプリケーションをデプロイするために使用され、3 つのオプション (日次、プレリリース、本番) を使用できます。
クラウド管理プラットフォームのリソース アプリケーション チケット リストには、ユーザーが送信したリソース チケットが表示されます。ステータスは承認処理中と表示されます。これは、システムが管理担当者によるチケットの承認を待機していることを意味します。ここで、[[合格]] をクリックしてリソース チケットを承認します。
リソース チケットのステータスが変更開始に変更されました。GitLab パイプライン ページに切り替えると、CMP がリソース アプリケーション チケットに対応するマージ リクエストを作成していることがわかります。
CMP システムは、ユーザーがチケットを送信すると変更ブランチを作成します。システムは、リソース フォームと対応するリソース記述コードを変更ブランチにコミットします。次に、GitLab パイプラインは Terraform apply 操作を自動的に実行します。リソース チケットのステータスは事前チェック処理中に変更されます。事前チェック後、ステータスは実行待機中に変更され、GitLab パイプラインが Terraform apply 操作を完了したことを示します。ここで Terraform プラン ログをダウンロードして、リソース変更チケットが作成するリソースをプレビューできます。詳細を確認した後、管理担当者は CMP で [[実行]] をクリックしてクラウドリソースを作成できます。
GitLab ページでは、CMP が GitLab API を呼び出して GitLab パイプラインをトリガーし、Terraform apply 操作を実行していることがわかります。CMP に戻ると、チケットのステータスは実行済みに変更されます。ビジネス担当者は Terraform apply 操作の結果をダウンロードして、クラウドリソースの配信を完了できます。
Alibaba Cloud コンソールでは、CMP が GitLab パイプラインを通じて application-coffee-1 という名前の OSS バケットを作成し、アプリケーションに必要なクラウドリソースを配信していることがわかります。さらに、GitLab リポジトリに入ると、リソース変更ブランチがメイン ブランチにマージされていることがわかります。メイン ブランチの、以前に指定した cn-hangzhou 本番 [環境] フォルダの下に、リソース変更チケットに対応する Terraform コードが表示されます。これはメイン ブランチにマージされています。
これでこのエピソードは終わりです。クラウドの自動化について質問やアイデアがある場合は、以下の QR コードをスキャンして DingTalk グループに参加し、ご連絡ください。次のエピソードでお会いできるのを楽しみにしています。