デプロイメント戦略の計画
.tfvars
ファイルまたはJSON構成を使用してOCIリソースのデプロイメントを簡素化できます。
たとえば、OCIランディング・ゾーンを使用すると、アイデンティティ、セキュリティ、ネットワーキング、可観測性、ガバナンスなどの重要なクラウド・サービスを含む、CISが強化されたテナンシおよびワークロード・インフラストラクチャを繰り返し1クリックでプロビジョニングできます。ワークロード・リソースは、特定のアプリケーションの上にデプロイできます。
顧客とデータに基づいたリージョンの選択
クラウド・アーキテクト、ネットワーク・アーキテクト、クラウド・オペレーション・マネージャー
Infrastructure as Codeの採用
Cloud Architect、DevOps Architect、Cloud Operations Manager
次の要素を使用すると、コードを使用してインフラストラクチャを定義および管理できます。
- Oracle Cloud Infrastructureランディング・ゾーン
OCIランディング・ゾーンは、すぐに使用できる設計、構成、および任意のOCIアーキテクチャおよびデプロイメント・モデルに使用できる宣言的なIaC Terraformモジュールを含む、OCIブループリントの完全なセットを提供します。
- Oracle Cloud Infrastructure Resource Manager
Resource Managerでは、Terraformを使用してOCIリソースのプロビジョニング・プロセスを自動化し、Infrastructure-as-Codeモデルを使用したリソースのインストール、構成および管理を支援します。
- Oracle Cloud Infrastructure Events
イベントにより、テナンシのリソース変更に対するレスポンスが自動化されます。OCIサービスは、イベント・メッセージを発行します。これは、リソースの変更を示す構造化メッセージです。テナンシ全体のリソースの状態変更に基づいて自動化を作成し、リソースがその状態を変更したときに開発チームが自動的に対応できるようにします。
- Oracle Cloud Infrastructure Functions
関数は、スケーラビリティの高いフルマネージド・サーバーレス・プラットフォームを提供します。コードをデプロイした後、イベントを使用して、ファンクションとしてコーディングされた操作プロシージャをトリガーできます。
Terraformを採用して繰返し可能なワークフローを実装
DevOps Architect、Application Architect、Cloud Operations Manager
これらのファイルは、チーム・メンバー間で共有し、コードとして扱い、編集、確認およびバージョニングできます。
OCI Terraformプロバイダを使用すると、Terraform CloudやOracle Cloud Infrastructure Resource Managerなど、Terraformディストリビューションを使用する任意の場所でOCIリソースを管理できます。On top of the OCI Terraform provider, you can leverage OCI Landing Zones Terraform modules that provide a declarative configurable approach with classic .tfvars
or JSON configuration files where no coding skills are needed.
OCIでTerraformを使用する場合は、次の点を考慮してください:
- Terraformはコードであり、制御バージョン・システムを使用して処理する必要があります。OCI Resource Managerでは、Gitリポジトリを活用してコードを実行できます。
- OCIのVMコンピュート・インスタンスで実行している場合は、OCIプロバイダの認証としてInstance Principalを使用することを検討してください。
- Terraformスタックとそのランタイムがアクセスできるセキュアな場所に、適切なレベルの粒度でTerraform状態ファイルを保持します。OCIリソースを拡張すると、Terraformスタックでリソースを分離および分割します。1つのスタック内のすべてのリソースが1つの状態ファイルになり、処理に時間がかかる可能性があるため、他のリソースでの重要な更新がブロックされる可能性があります。OCI Resource Managerを使用する場合、各スタックには独自の状態ファイルが含まれます。
- OCIランディング・ゾーンのブループリントは、OCIランディング・ゾーンTerraformモジュールで実行するように構築された構成です。これらのブループリントは、多くのベスト・プラクティスを実装するときにすぐに使用することも、独自のユースケースをサポートするように変更することもできます。JSON構成を使用して宣言的なアプローチを使用する場合、デプロイメントの実行にTerraformコーディング・スキルは必要ありません。
OCI Designer Toolkit (OKIT)の採用
DevOps Architect、Infrastructure Architect、Cloud Operations Manager
Webベースのインタフェースにより、アーキテクトと設計者はインフラストラクチャのビジュアル表現を構築し、これを複数の形式でエクスポートできます。完了したら、設計を拡張してキー・プロパティ情報を追加し、設計したインフラストラクチャを多数のDevOpsフレームワークにエクスポートできます。
OKITを使用すると、Webインタフェースに埋め込まれた単純な問合せ機能を使用して既存のOCI環境をイントロスペクトし、移植可能な汎用JSONファイルを提供できます。JSONファイルを使用すると、既存のシステムを視覚化したり、設計したOCIインフラストラクチャをzipファイルとして構築するために使用できるTerraformまたはAnsibleスクリプトのセットを生成できます。
OKITモデルでは、クラウドのInit
スクリプトを使用して、コンピュート・リソースのデプロイメントをさらに自動化できます。OKITは基本的に、テナンシに対する認証にユーザーの個人キーを使用しているため、ローカルでの実行に最適な単一ユーザー・ツールです。Oracle Cloud Infrastructure Resource Managerを使用すると、設計を共有できます。OKIT設計はJSON形式でエクスポートでき、バージョン管理が可能です。
シンプルで反復可能なアクションの自動化
DevOps Architect、Cloud Operations Manager
CLIには、コンソールと同じコア機能と追加のコマンドがあります。スクリプトの実行など、これらの機能の一部によって、OCIコンソールの機能が拡張されます。CLIは、MacOS、Windowsまたはサポート対象のLinuxディストリビューションで実行されるPythonバージョン3.6以上をサポートしています。また、静的資格証明に依存するのではなく、フェデレーテッド・アイデンティティを利用するように構成することもできます。
構成管理ツールの採用
DevOps Architect、Infrastructure Architect、Cloud Operations Manager
Ansibleモジュールを使用すると、クラウド・インフラストラクチャの構成とプロビジョニング、ソフトウェア・アセットのデプロイと更新、複雑な操作プロセスのオーケストレーションを自動化して、ワークロードのデプロイメントと構成によるリスクを軽減し、アジリティを実現できます。Ansibleプレイブックは、構成、デプロイメントおよび編成タスクを自動化します。
OCIは、クラウド・インフラストラクチャのプロビジョニングと構成、複雑な操作プロセスのオーケストレーション、ソフトウェア・アセットのデプロイメントと更新を自動化するために、Ansibleモジュールの使用をサポートしています。OCI Ansibleコレクションでは、Ansible TowerおよびAWXがサポートされています。
ビルドおよびデプロイメント管理システムの導入
DevOps Architect、Cloud Operations Manager