配置ストラテジの計画

ワークロードの定義およびデプロイ方法を決定します。Oracle Cloud Infrastructureには、コードでワークロード・インフラストラクチャを定義できる機能が用意されています。ワークロードの構成およびデプロイメント効率の維持に役立つ様々なツールを使用できます。

顧客およびデータに基づいたリージョンの選択

クラウド・アーキテクト、ネットワーク・アーキテクト

地域を選択するときは、リソースにアクセスするユーザーと、国または世界のどの地域からアクセスするかに注意してください。選択を行う際には、プライバシおよび規制の要件を考慮してください。

Infrastructure as Code Methodologyの導入

クラウド・アーキテクト、Infrastructure Architect、DevOpsアーキテクト

Oracle Cloud Infrastructure (OCI)でインフラストラクチャをコード手法として採用する場合、アプリケーション・インフラストラクチャ全体をコードの形式で定義できます。操作手順をコードとして実行し、イベント・ベースの通知に応じて実装できます。

次のサービスでは、コードを使用してインフラストラクチャを定義および管理できます。

  • Oracle Cloud Infrastructure Resource Manager

    リソース・マネージャでは、Terraformを使用してOCIリソースをプロビジョニングするプロセスを自動化し、infrastructure - as - codeモデルを使用してリソースをインストール、構成および管理できます。

  • Oracle Cloud Infrastructure Events

    イベントにより、テナンシのリソース変更に対するレスポンスが自動化されます。OCIサービスは、リソースの変更を示す構造化メッセージであるイベント・メッセージを発行します。テナンシ全体のリソースの状態変化に基づいて自動化を作成し、リソースが状態を変更したときに開発チームが自動的に対応できるようにすることができます。

  • Oracle Cloud Infrastructure Functions

    機能は、拡張性が高く完全に管理されたサーバーレス・プラットフォームを提供します。コードをデプロイした後、イベントを使用して、ファンクションとしてコーディングされた操作プロシージャをトリガーできます。

繰返し可能なワークフローを実装するためのTerraformの採用

DevOpsアーキテクト、Application Architect

Terraformは、Infrastructure as Codeモデルを介して、インフラストラクチャの管理、バージョニングおよび永続化をプログラムによって行うオープン・ソース・ツールです。Terraform構成は、インフラストラクチャを定義し、その状態を維持する宣言ファイル内のインフラストラクチャを調整します。
これらのファイルをチーム・メンバー間で共有し、コードとして扱い、編集、レビューおよびバージョニングできます。

Oracle Cloud Infrastructure (OCI) Terraformプロバイダを使用すると、Terraform CloudやOracle Cloud Infrastructure Resource ManagerなどのTerraformディストリビューションを使用するすべての場所でOCIリソースを管理できます。Oracle Cloudには、独自のTerraformプロバイダがあります。

OCIでTerraformを使用する場合は、次の点を考慮してください。

  • Oracle Cloud Infrastructure Resource Managerにファイルをデプロイすることで、Terraformをソース・コードのように扱います。ファイルを安全な場所に格納し、要件に基づいてアクセスを制限し、変更を定期的に監査できます。
  • OCIのVMコンピュート・インスタンスで実行している場合は、OCIプロバイダの認証としてインスタンス・プリンシパルを使用することを検討してください。
  • Oracle Cloud Infrastructure Object StorageまたはOracle Cloud Infrastructure Resource Managerのいずれかを使用して、Terraform状態ファイルを共有の集中管理された場所に保持します。

OCI Designer Toolkit(OKIT)の導入

DevOpsアーキテクト、Infrastructure Architect

Oracle Cloud Infrastructure (OCI) Designer and visualization toolKIT (OKIT)は、グラフィカルなWebベースのインタフェースを介してOCI環境を設計、デプロイおよび視覚化(イントロスペクト/問合せ)できるブラウザベースのツールです。

Webベースのインタフェースを使用すると、アーキテクトおよびデザイナは、インフラストラクチャのビジュアル表現を作成し、これを様々な形式でエクスポートできます。完了したら、設計を拡張して主要なプロパティ情報を追加し、設計したインフラストラクチャを多数のDevOpsフレームワークにエクスポートできます。

OKITを使用すると、Webインタフェース内に埋め込まれた単純な問合せ機能を介して既存のOCI環境をイントロスペクトし、移植可能な汎用JSONファイルを提供できます。JSONファイルを使用して、既存のシステムを視覚化したり、設計したOCIインフラストラクチャをzipファイルとして構築するために使用できる一連のTerraformまたはAnsibleスクリプトを生成できます。

OKITモデルでは、コンピュート・リソースのデプロイメントをさらに自動化するためにクラウドInitスクリプトの使用がサポートされています。OKITは、テナンシに対する認証にユーザーの個人キーを使用しているため、基本的にはローカルでの実行に最適な単一ユーザー・ツールです。Oracle Cloud Infrastructure Resource Managerを使用すると、設計を共有できます。OKIT設計をJSON形式でエクスポートし、バージョン管理できます。

シンプルで繰返し可能なアクションの自動化

DevOpsアーキテクト

繰返し可能なアクションをスクリプト化し、いくつかのタスクを編成するは、Oracle Cloud Infrastructure (OCI)コマンドライン・インタフェース(CLI)の使用を検討してください。OCI CLIを使用すると、自動化によって操作を合理化できます。
CLIには、コンソールと同じコア機能と追加のコマンドがあります。スクリプトの実行など、これらの機能の一部によって、OCIコンソールの機能が拡張されます。CLIは、MacOS、WindowsまたはサポートされているLinuxディストリビューションで実行されているPythonバージョン3.6以降をサポートしています。また、静的資格証明に依存するかわりにフェデレーテッド・アイデンティティを利用するように構成できます。

構成管理ツールの採用

DevOpsアーキテクト、Infrastructure Architect

プロビジョニング、オーケストレーションおよび構成管理に役立つように、Ansibleモジュールなどの管理ツールの採用を検討してください。
Ansibleモジュールを使用すると、クラウド・インフラストラクチャの構成とプロビジョニング、ソフトウェア・アセットのデプロイと更新、複雑な運用プロセスのオーケストレーションを自動化して、リスクを軽減し、ワークロードのデプロイメントと構成で俊敏性を実現できます。Ansibleプレイブックは、構成、デプロイメントおよび編成タスクを自動化します。

Oracle Cloud Infrastructure (OCI)では、クラウド・インフラストラクチャのプロビジョニングと構成、複雑な操作プロセスの編成、およびソフトウェア・アセットのデプロイメントと更新を自動化するためのAnsibleモジュールの使用がサポートされています。OCI Ansibleコレクションは、Ansible TowerおよびAWXをサポートしています。

ビルドおよびデプロイメント管理システムの採用

DevOpsアーキテクト

Ansible TowerやJenkinsなどのビルドおよびデプロイメント管理システムを使用して効率を向上させます。これらのシステムにより、手動プロセスによって発生するエラーが減少し、変更をデプロイするための労力が軽減されます。

変更のテストおよび検証

DevOpsアーキテクト

エラーを検出するには、常に変更を追跡、テストおよび検証します。

バージョン・コントロール・システムを使用して、コードの変更を追跡できます。デプロイメント管理システムを使用してテスト・プロセスを自動化することを検討してください。