IaC デプロイメント用のプロジェクトの使用
IBM Cloud®プロジェクトは、アカウント間で関連リソースとデプロイメントを管理するために使用される、名前付き設定のコレクションです。 DevOps ベスト・プラクティスを使用して、チームがデプロイメントを構成、デプロイ、およびモニターできるようにします。 各プロジェクトには、潜在的に有害なリソースの変更、コンプライアンス、セキュリティー、およびコストをスキャンするためのツールと、構成のバージョン管理およびガバナンスを追跡するためのツールが含まれています。 これらは、 IaC とコンプライアンス優先のアプローチを使用して設計されており、プロジェクトが管理され、セキュアで、常に準拠していることを確認するのに役立ちます。
カタログから デプロイ可能なアーキテクチャーデプロイメント、スケーラビリティー、およびモジュール性を容易にするように設計された 1 つ以上のクラウド・リソースを結合する共通のアーキテクチャー・パターンをデプロイするためのクラウド自動化。 を選択した後、その構成を新規または既存のプロジェクトに追加し、エンタープライズのニーズに合わせて構成することができます。 構成を使用してリソースを特定の環境にデプロイする前に、コミット・チェック、脆弱性スキャン、およびコスト見積もりを実行することによってコードの検証が実行されます。これにより、デプロイ前に必要なすべての重要な情報がチームに提供されます。 また、検証が失敗した場合、チームは構成を更新し、検証が成功するまで検証を再実行することができます。 承認があれば、 IBM Cloud® Schematicsを使用してリソースをデプロイおよびモニターできます。 その後、デプロイ可能なアーキテクチャーに対する更新が使用可能になると、チームはプロジェクト内で通知を受け、スケジュールに従ってバージョンを更新できます。
プロジェクトの利点
プロジェクトは、大規模なデプロイメントの管理に役立ちます。 これらは、構成されたアーキテクチャーが常に有効で、セキュアで、準拠していることを確認するのに役立ちます。 単一のプロジェクトを異なるアカウントにデプロイできるため、プロジェクトでは、ユーザーがアカウント間で関連リソースをグループ化して、コラボレーション、組織、およびユーザー管理を向上させることができます。 IBM Cloud では、高可用性、スケーラビリティー、回復力、および事業継続性と災害復旧 (BC/DR) の要件を満たすように設計された複雑なクラウド・インフラストラクチャーを構築するのに役立つデプロイ可能なアーキテクチャーを使用して、プロジェクトを使用してリソースを作成することで、より効率的に開始できます。 プロジェクトは、以下のようなさまざまな理由で便利なツールです。
- デプロイ可能なアーキテクチャーのセット、それらの構成、および結果のリソースを単一のインターフェースに関連付けることができます。 これにより、コスト、状況、およびチーム・アクティビティーを同時に管理しながら、より安全で反復可能な方法でリソースを管理することができます。
- プロジェクトは、承認されたデプロイ可能なアーキテクチャーのみがリソースのデプロイに使用されるようにし、信頼できるプロファイルを利用して、鍵のローテーションを必要とせず、誤配置できないセキュアな許可を提供することで、セキュアなソリューション・サプライ・チェーンを提供します。
- プロジェクトは、構成変更が追跡され、承認され、自動化された検証およびコンプライアンス検査の対象となるようにすることで、インフラストラクチャー全体のガバナンスを提供します。
- プロジェクトは、プロジェクト・ユーザーに新規バージョンを通知し、プロジェクト・ユーザーが適時にデプロイされるようにすることで、セキュリティーとコンプライアンスの問題に確実に対処できるようにします。
- プロジェクトでは、複数のアカウントにわたってインフラストラクチャーをコードとして管理でき、プロジェクトに関連するすべてのインフラストラクチャーを単一の場所から管理できます。 これにより、アプリケーションが実動に移行する際に予期しないことを回避することで、開発およびテスト・インフラストラクチャーが実動インフラストラクチャーに合わせて調整されていることを容易にモニターできます。
- プロジェクトは、タグ付けおよびリソース・レポートによって、プロジェクトに関連付けられているすべてのリソースを確実にプロジェクトに戻すことができるようにすることで、アカウンティングおよび構成管理を支援します。 プロジェクトにタグを付けて、より高いレベルの組織を提供することもできます。
一般的なユース・ケースの探索
プロジェクトは、デプロイ可能なアーキテクチャーおよび結果のリソースから作成する構成を編成および保護するのに役立ちます。 大規模な組織またはエンタープライズの場合、 IBM Cloud プロジェクトを使用することにはいくつかの利点があります。 これらの一般的なユース・ケースを検討して、プロジェクトをビジネス・ニーズに適合させる方法を確認してください。
- シフト・レフトのコンプライアンスとガバナンス
- 共有インフラストラクチャーをデプロイして運用する際に、プロジェクトは、関連する構成とデプロイメントを単一の場所 (異なる環境にまたがっていても) に編成してバンドルするのに役立ちます。 プロジェクトは、デプロイ可能なアーキテクチャーがデプロイメントの時点で要求された準拠性を引き続き満たしていることを確認するために、デプロイメント前のセキュリティーおよび準拠性検査を実行します。 別のプロジェクト管理者または編集者が変更を検討して承認し、ガバナンスの追加レイヤーを提供する必要があります。
- アカウント間でのデプロイメントの自動化
- プロジェクトは任意のアカウントにデプロイできます。これにより、環境を別のアカウントに分離することがはるかに容易になります。 これにより、単一のビューから複数の環境にわたって構成を編成および管理することができます。 プロジェクトは自動化によって変更をデプロイするため、環境間で人的エラーや逸脱が発生する可能性が低くなります。 最も機密性の高いアカウントへのアクセスをロックダウンし、プロジェクトを使用して変更を行うことを要求することもできます。
- 継続的な保守および更新の追跡
- プロジェクトは、アーキテクチャーの更新を管理し、コンプライアンスを維持するのに役立ちます。 継続的なコンプライアンス・スキャンの実行に加えて、プロジェクトは、アーキテクチャー・バージョンの更新、検証の失敗、および必要なクラスターの更新について通知します。 プロジェクトはIBM CloudのEvent Notificationsサービスと統合されているため、プロジェクトの通知を Slack、PagerDuty,、その他のサードパーティ製ツールにルーティングできます。
- プライベート・カタログを使用したカスタム・アーキテクチャーの作成と共有
- デプロイ可能なアーキテクチャーは、モジュール式で柔軟性があるように構築されています。 カスタムのデプロイ可能なアーキテクチャーを作成し、そのアーキテクチャーを新規プロジェクトに追加することで、プライベート・カタログを使用してそれらをチームと共有することができます。 デプロイ可能なアーキテクチャーのカタログ・ページからコード・バンドルをダウンロードし、必要に応じてカスタマイズしてから、指定した任意のリポジトリーにアップロードすることができます。 カスタム・アーキテクチャーがデプロイされると、CI パイプラインおよび CD パイプラインは、準拠性の変更を検査し、アーキテクチャーをプライベート・カタログに直接共有できるようにします。 プライベート・カタログを使用すると、バージョンの更新を簡単に取り込み、チームにプッシュすることができます。
- インフラのライフサイクル管理
- プロジェクトは、インフラストラクチャーを最初から最後まで管理、追跡、および保守するのに役立ちます。 インフラストラクチャーのライフサイクルが変更されると、プロジェクトを使用して、不要になったプロジェクト・リソースを簡単にクリーンアップすることができます。 プロジェクトが完了し、不要になった場合は、プロジェクト全体およびすべての環境内のすべての関連リソースを削除できます。 また、プロジェクトとその構成を保持しながら、関連付けられたリソースを削除することによって、プロジェクトを一時停止することもできます。 これにより、後でプロジェクトを再開することが容易になります。
- レポート作成とコスト管理
- プロジェクトは、作成されたすべてのリソースに自動的にタグ付けし、プロジェクト内のリソース・インベントリーを提供することにより、コスト管理およびその他のタイプのレポート作成を支援します。 例えば、使用量レポートが生成されると、プロジェクト・タグが組み込まれるため、会計チームは追加の労力を必要とせずにコストをプロジェクトに割り振ることができます。 特定のタイプのアプリケーションまたはリソースのインベントリーを判別するなど、他のタイプの構成管理タスクも、プロジェクト・タグ付けおよびリソース・ビューによって実行できます。
基本概念
アカウント内のプロジェクトでの作業について学習するには、以下の概念とプロセスを確認してください。
構成
単一のプロジェクトは通常、 IBM Cloud内のデプロイ可能なアーキテクチャーと呼ばれる 1 つ以上のテンプレートの構成を管理します。 一緒に構成する入力値のセットとアーキテクチャーは、1 つの構成になります。 プロジェクトは、レビューと承認のワークフローを提供するだけでなく、各構成のコスト、コンプライアンス、およびバージョンの更新をカタログからモニターします。
通常、プロジェクトは各アーキテクチャーの複数の構成を保持します。 アーキテクチャーには、開発環境、テスト環境、および実稼働環境、あるいは 3 つの別個の領域 (すべてが実稼働環境にある) に対して個別の構成がある場合があります。
デプロイ可能なアーキテクチャー
プロジェクトは、デプロイ可能なアーキテクチャーのガバナンスと管理を提供します。これらのアーキテクチャーは、デプロイメントを管理するためのコード・アプローチとしてインフラストラクチャーを採用するように設計されたテンプレートです。 カスタム・デプロイ可能アーキテクチャーは、 任意のツールを使用して開発することができ、 IBM Cloud コンソールで プライベート・カタログに追加 できます。 プロジェクトで使用するためには、オンボーディングする製品のタイプとして「 Deployable Architecture 」を選択する必要があります。
プロジェクト・ツール
プロジェクトには、プロジェクト・ガバナンスをサポートするために、内部のバージョン管理された構成ストレージと検証パイプラインがあります。 また、プロジェクトは Schematics ワークスペースを利用して、各構成の Terraform 状態を保管し、自動化を実行します。 これらのワークスペースは、プロジェクトの作成時に指定した領域およびリソース・グループ内にあります。 Schematics ワークスペースにもプロジェクト名のタグが付けられているため、他のワークスペースの中からそのワークスペースを識別しやすくなっています。
これらのワークスペースを削除したり、直接変更したりしないでください。 これにより、プロジェクトが構成状態を追跡できなくなり、重複するリソースやその他の問題が発生する可能性があります。 ユーザーがワークスペースを変更できないようにするには、プロジェクト・サービスの管理者が、 Schematics サービスへのアクセス権限をユーザーに付与してはなりません。
トラステッド・プロファイル
トラステッド・プロファイルは、アプリケーションのアカウント間アクセスを許可します。 トラステッド・プロファイルは、操作のライフサイクル中にのみ存在する一時サービス ID API キーを生成する可能性があるため、プロジェクトは、デプロイする構成を許可するためのセキュアで準拠した方法としてそれらを使用します。 他の認証方式とは異なり、トラステッド・プロファイルは鍵のローテーションを必要としません。 デプロイ可能なアーキテクチャーをデプロイする、アカウント内のサービス ID の API キーを管理できる トラステッド・プロファイルを作成 します。
Secrets Manager
Secrets Managerを使用して、 IBM Cloud のデプロイ可能なアーキテクチャーで使用されるシークレットを作成し、集中管理することができます。 秘密は、API 鍵、SSH 鍵、データベース資格情報などの機密情報を保管するための簡単かつ準拠した方法です。 プロジェクト・ホーム・アカウント内のすべてのプロジェクトに使用できる Secrets Manager サービス・インスタンス をそのアカウント内に作成します。
Secrets Manager を使用して、プロジェクトがリソースをアカウントにデプロイすることを許可するために使用される API キーを保管することもできますが、他のオプションもあります。 詳しくは、 API キーまたはシークレットを使用したプロジェクトへのアーキテクチャーのデプロイの許可 を参照してください。
プロジェクト・コスト
プロジェクトに対する課金はありませんが、デプロイ可能なアーキテクチャーによって作成されたすべてのリソースに対してコストが発生する可能性があります。 これらのリソースは、 IBM Cloud内で通常どおり請求されます。 デプロイ可能なアーキテクチャーの構成をカスタマイズすると、使用可能なデータに基づいて開始コストが見積もられます。 プロジェクトのコスト見積もりについて詳しくは、 コスト見積もり を参照してください。
デプロイ可能なアーキテクチャーのカスタマイズ中に課金されることはありません。 デプロイ後に料金が発生し始めます。
注意が必要な項目
プロジェクトは、さまざまな自動化テストに合格し、承認を受け取り、新規バージョンがカタログから使用可能になったときに更新されることを確認することによって、構成をモニターします。 これらのいずれかの理由でプロジェクトがユーザーからの注意を必要とする場合、重要な操作情報が、注意が必要な項目としてプロジェクト・ダッシュボードに表示されます。 各タイプのアテンション通知に対処する方法について詳しくは、 「要アテンション項目の表示」 を参照してください。
プロジェクトは、注意が必要な通知を IBM Cloud® Event Notifications サービスに送信することをサポートしています。これにより、プロジェクトをフィルタリングして、Slack、E メール、およびその他のシステムに必要に応じて転送することができます。
プロジェクトの概要
プロジェクトの基本について学習したところで、 デプロイ可能なアーキテクチャーの構成とデプロイ を行って、 エンタープライズ・アカウント・アーキテクチャー のホワイト・ペーパーの作成と検討を開始し、ご使用のアカウントが IBM Cloud のベスト・プラクティスに従ってセットアップされていることを確認します。