すべてのプロダクト
Search
ドキュメントセンター

Terraform:自動化シナリオ - セキュリティとコンプライアンスに準拠した新しいアカウントを効率的に作成する

最終更新日:Mar 18, 2025

このビデオでは、クラウド環境運用における最も典型的なシナリオの 1 つであるアカウントの作成に焦点を当てています。このビデオでは、自動化を使用して新しいクラウドアカウントを効率的かつ安全に作成する方法を紹介します。ビデオには、ハンズオンデモンストレーションが含まれています。

次のトランスクリプトを参照できます。

こんにちは、Alibaba Cloud オープン プラットフォーム自動化シリーズ Auto Talk へようこそ。Alibaba Cloud オープン プラットフォーム チームのソリューションアーキテクト、Yao Fang です。このエピソードでは、自動化された方法を使用して新しいクラウドアカウントを効率的に作成する方法を紹介します。

まず、なぜ新しいアカウントを作成する必要があるのか​​について説明しましょう。ここでは、3 つの典型的なシナリオをまとめました。最初のシナリオは、ディザスタリカバリサイトのセットアップです。たとえば、お客様の中には、中国 (杭州) に事業を展開しているお客様もいます。ただし、中国 (杭州) リージョンの潜在的な不安定性を懸念している可能性があります。このリスクを軽減するために、中国 (上海) や中国 (北京) などの別のリージョンに事業を展開することを選択する場合があります。この場合、多くの場合、新しいアカウントを使用して中国 (上海) または中国 (北京) の事業を管理することを選択します。

2 番目のシナリオは、国内企業でよく見られるシナリオです。

規制上の制約により、多くの国内企業は海外に事業を拡大しています。ヨーロッパや米国などの国際市場に参入する場合、厳格なセキュリティとコンプライアンスの要件に準拠する必要があります。通常、これらの企業は、現地のセキュリティとコンプライアンスの基準を満たすために、新しいアカウントに海外事業を展開します。

3 番目のシナリオは、新しいビジネスの立ち上げです。たとえば、あなたの会社がゲーム会社で、新しいゲームを開発しているとします。ゲームが公開されたら、新しいアカウントにデプロイするのが最善です。このアプローチにより、担当者の権限管理が簡素化され、財務会計とコスト配分が改善されます。これらは、お客様の視点から観察されるシナリオです。次に、クラウドプロバイダーとして、お客様にマルチアカウントデプロイ戦略を採用することをお勧めする理由を見てみましょう。複数のアカウントを使用する主な利点は次の 4 つです。

最初の利点は、強力な分離です。単一のクラウドアカウントを使用する場合、すべてのリスクはそのアカウントに集中します。新しいアカウントを使用することを選択した場合、2 つのアカウント間には物理的な分離があります。この物理的な分離により、新しいアカウントの問題は既存のビジネスに影響を与えません。これにより、より明確なセキュリティ境界が確保されます。各アカウントは独自のセキュリティを管理し、リスクはより適切に分散されます。たとえば、テスト環境が侵害されても、本番環境には影響しません。

財務の観点からは、複数のアカウントを使用することで、さまざまな事業部門の請求の詳細をより明確に把握できます。最近、Alibaba Cloud はマルチアカウント戦略に関するホワイトペーパーをリリースしました。このドキュメントでは、企業がマルチアカウント設定を採用する必要がある理由と、お客様にこのアプローチをお勧めする理由について説明しています。このホワイトペーパーに興味がある場合は、ダウンロードするためのリンクを用意しています。

マルチアカウント設定の利点について説明しました。ここで疑問となるのは、アカウントの作成とアクティブ化のプロセスを改善するための効率的で自動化された方法があるかどうかです。それが今日皆さんと共有することです。アカウントファクトリーです。自動化を使用することで、新しいアカウントを効率的に作成できます。

では、アカウントファクトリーとは何でしょうか? 私がどのように説明するかというと、アカウントを提供する前に、運用管理者はアカウント内で基本的な構成を処理する必要があります。たとえば、アクセス設定、アカウントの連絡先、メッセージ通知、ネットワーク構成はすべてコンソールで設定する必要があります。ただし、手動のコンソール操作の最大の問題は、再利用できず、エラーが発生しやすいことです。アカウントファクトリーは、この問題に効果的に対処します。

どのように問題を解決するのでしょうか? 基本的に、アカウント構成のベースラインを確立します。このベースラインを維持することで、新しいアカウントを作成したら、ベースラインをアカウントに直接適用できます。これにより、すべてのアカウントで一貫性が確保されます。このアプローチがないと、構成に一貫性がなくなる可能性があります。たとえば、アカウント A には特定の設定が存在するが、アカウント B には存在しない場合があります。

要約すると、アカウントファクトリーは 2 つの主要なタスクを実行するのに役立ちます。リソースディレクトリなどのサービスを使用すると、検証済みの新しいアカウントをすばやく作成できます。リソースディレクトリがない場合、従来のプロセスでは、新しいアカウントを登録し、企業の検証を手動で完了する必要がありました。このプロセスには、最短で 1 週間、最長で 2 ~ 3 週間、またはそれ以上かかる場合があります。ビジネスを迅速に展開したい企業にとって、このタイムラインは受け入れられません。

アカウントを作成した後も、アクセス設定の構成、IdP の構成、ユーザーの作成、ロールの作成を行う必要があります。これらの構成をコンソールで手動で行う場合、プロセスに時間がかかり、エラーが発生しやすくなります。したがって、アカウントファクトリーでは、これらのタスクをベストプラクティスに変換し、テンプレートを作成して、新しいアカウントにすばやくマッピングできるようにします。

アカウントファクトリーの概念について説明したので、その機能をどのように活用できるかを考えてみましょう。今日は 2 つのアプローチを紹介します。

最初のアプローチは、Alibaba Cloud コンソールから直接アクセスできる Cloud Governance Center を使用することです。ただし、前提条件があります。企業検証済みのアカウントが必要です。既存のビジネスを実行していない空のアカウントを使用することをお勧めします。このアカウントは、主に管理アカウントとして機能する必要があります。

アカウントファクトリーは、いくつかの主要な機能を提供します。1 つ目はベースラインです。前述したように、ベースラインには、アカウントの保護ルール、アクセス設定、RAM ユーザーのパスワード強度要件、連絡先情報などの構成が含まれます。これらをまとめてアカウントベースラインと呼びます。このベースラインの管理は非常に重要です。

2 番目の機能は、新しいアカウントをすばやく作成し、ベースラインを適用できることです。Alibaba Cloud に既存のアカウントをすでに持っている企業は、既存のアカウントにもベースラインを適用できます。これにより、すべてのアカウントで一貫性が確保されます。たとえば、10 個または 20 個のアカウントを管理する場合、すべて同じベースラインになります。

2 番目のアプローチは、より強力な自動化機能を備えた企業向けです。API や Terraform などのツールを使用して、アカウントファクトリーソリューションを実装できます。ここで紹介する図では、オープンソースの Jenkins を使用していますが、企業は GitLab などの他のパイプラインツールを使用することもできます。Terraform コードを記述し、パイプラインにコミットして実行するだけです。プロセスが完了したら、Jenkins の実行結果を示す左下の画像を参照できます。プロセスはステップに分割されています。まず、Jenkins は新しいアカウントを作成し、実行中にログ出力を見て実行されているアクションを確認できます。

次に、Jenkins は IdP、ロール、ネットワークの作成に進みます。企業の特定のニーズに基づいてコードを調整できます。たとえば、VPC を作成するだけでなく、ECS インスタンスやデータベースなどのコンピューティングリソースをプロビジョニングする必要がある場合は、追加のモジュールを含めるように Terraform コードを拡張およびカスタマイズできます。この柔軟性により、特定の要件を満たすことができます。

もちろん、今日はスライドについて話すだけではありません。コードもいくつかお見せします。Terraform を使用してアカウントファクトリーを実装します。このコードを実行する前に、その機能について簡単に説明します。まず、新しいアカウントを作成します。次に、そのアカウント内で IdP を構成します。次に、ユーザーとロールを作成し、ロールに権限を付与し、VPC と vSwitch を作成します。ただし、このプログラムを試してみるには、企業検証済みのアカウントを用意する必要があります。なぜなら、そのようなアカウントだけがこのスクリプトを実行できるからです。それが私のプレゼンテーションの要点です。それでは、コードを詳しく見て、どのように実行されるかを見てみましょう。

まず、コードの構造を見てみましょう。コードには 2 つのメインフォルダがあります。1 つは module フォルダです。module フォルダ内では、いくつかの一般的な Terraform モジュールを定義します。1 つ目は IdP モジュールで、アカウント内での IdP の作成をカプセル化します。2 つ目は network モジュールで、VPC や vSwitch などのリソースを作成し、コードの再利用性を向上させるために 1 つのモジュールにグループ化します。RAM ロールに関連する操作を処理する role モジュールもあります。

次に、先ほど説明したアカウントファクトリーがあります。これはいくつかのステップで機能します。たとえば、最初のステップはアカウントを作成することです。対応する Terraform コードはここにあります。複数のリソースブロックが含まれており、これらはアカウントを作成するために必要なロジックを実行します。

アカウントを作成した後、IdP を構成しますか? 同様に、ロールを作成し、それらのロールに権限を割り当てるための対応するコードがあります。

それでは、実行後の結果を見てみましょう。これが私のアカウントです。このアカウントはすでに企業検証を完了しています。検証が完了したら、リソースディレクトリを作成できます。これが私たちのリソースディレクトリです。その中には、アカウントファクトリーと呼ばれるフォルダがあります。このフォルダの下に新しいアカウントを作成します。次に、アカウントを入力して、構成が完了しているかどうかを確認します。今はアカウントは存在しませんよね? プログラムを実行してみましょう。

スクリプトはすでに書いてあります。Jenkins などのパイプラインツールを使用している場合、ノードごとにタスクをスケジュールして実行します。ただし、ローカルでタスクを実行しているため、すべてを連結するスクリプトを作成する必要があります。プログラムが実行中です。まず、アカウントを作成し、次に IdP を作成し、続いてユーザーとロールの作成、権限の割り当て、VPC と vSwitch の作成を行います。

完了です。それでは、コンソールを確認してみましょう。

このアカウントは以前は存在しませんでしたよね? タイムスタンプを確認してみましょう。たった今作成されましたよね? これが、たった今作成した新しいアカウントです。それでは、中に入ってベースライン構成を確認してみましょう。

まず、RAM ユーザーを見てみましょう。IdP を設定しました。SSO では、たった今作成した IdP を確認できます。タイムスタンプを確認してください。ほんの数分前に作成されました。次に、ユーザーとロールがあります。次に、VPC ページで、VPC と vSwitch を見つけることができます。この VPC はたった今作成されました。タイムスタンプを確認できます。8 月 7 日午前 11 時 39 分 37 秒です。スクリプトを実行した時刻と一致します。

そして、この VPC の下に、vSwitch も作成されていますよね? この例からわかるように、新しいビジネスが公開される場合は、たった今説明したスクリプトを実行して新しいクラウドアカウントを作成するだけです。このクラウドアカウント内では、RAM ユーザー、ロール、ネットワーキングなど、さらに多くのことを構成できます。私のデモンストレーションは比較的単純でした。実際には、もっと多くのことを構成できます。たとえば、メッセージの連絡先を設定したり、特定のクラウドサービスをアクティブ化したりできます。できることはたくさんあります。このようなスクリプトを使用することで、自動操作の効率を大幅に向上させることができます。

本日のセッションの内容は以上です。説明した内容について質問がある場合、またはクラウドの自動化に関するアイデアがある場合は、画面下部の QR コードをスキャンして DingTalk グループに参加し、ご連絡ください。フィードバックをお待ちしております。次のエピソードでお会いしましょう。