Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OCI技術資料 : リソース・マネージャ(Resource Manager)概要

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

OCI技術資料 : リソース・マネージャ(Resource Manager)概要

OCIの技術説明資料 リソース・マネージャ(Resource Manager)の概要編 (Level 100) です。

Oracle Cloud Infrastructure リソース・マネージャ(Resource Manager)は、Terraform実行エンジンがOCI上に実装されたIaCを実現するOracleマネージドサービスで、OCIリソースのデプロイメントと操作を自動化できます。

#oci #OCI #Resource Manager #Terraform

More Decks by Oracle Cloud Infrastructure ソリューション・エンジニア

Other Decks in Technology

Transcript

  1. “IaC”とは Infrastructure as Code • Infrastructure as Codeはサーバーやネットワークなどのインフラ構成をプログラムのようなコードで記述し、そのコード を用いてインフラ構成の管理やプロビジョニングの自動化を行うこと •

    オンプレミスからクラウド、マルチクラウドやコンテナ化と、ITインフラの変遷が進んでく中で、ITインフラやサーバの構成の 変更の頻度は多くなった • 構成の変更にかかる手間などを解決するための手段の一つがIaC • コードやインフラの設定を記載、それを実行することで自動的に構成の変更などが可能になる VCN Subnet A variable "compartment_ocid" {} variable "region" {} Virtual Machine provider "oci" { region = "${var.region}" } resource "oci_core_virtual_network" "vcn1" { cidr_block = "10.0.0.0/16" dns_label = "vcn1" compartment_id = "${var.compartment_ocid}" display_name = "vcn1" } … 3 Copyright © 2026, Oracle and/or its affiliates Load Balancer Virtual Machine プロビジョニング Subnet B Database System
  2. IaCのメリット 大規模かつ変更が多いシステムを簡単に運用できる Terraformの特徴 • Repeatability(再現性) コードで記述されているので、何度でも再利用可能 • Idempotency(冪等性) コードを何度実行しても同じ結果を得られる •

    Agility(機敏性) 変更からプロビジョニングまで迅速な開発サイクルを回せる • Auditability(監査性) コードの変更を追跡できる 5 Copyright © 2026, Oracle and/or its affiliates お客様が得られるメリット • 生産性の向上 変更にかかる工数を減らし、スピーディに反映 • リスクの軽減 変更箇所を事前に確認でき、人的ミスを軽減 • 統合性の向上 複数のチームが協力して共通のインフラストラクチャを構築 • 複雑性の軽減 複数のリソースを集中管理し、環境の標準化を推進 • コンプライアンスの向上 変更の追跡ができ、ガバナンスを強化
  3. Terraform – 基本機能 Terraform は以下の基本的なリソース管理の機能を提供する(CRUD操作に近い) 機能 リソースの作成 内容 設定ファイルに基づいて、依存関係を考慮して リソースを作成する

    作成可能なリソースは Provider に依存する $ terraform apply 設定ファイルに基づいてリソースの変更(例えば、リソース名の変 更等)を行う 変更不可の場合には、リソースを削除のうえ作成するという挙 動になる $ terraform apply $ terraform destroy • オプション指定なしの場合には全削除、依存関係を考慮して 削除する オプション指定で特定のリソースのみ削除も可能 • 現在のリソースの状態を確認する $ terraform show • 各リソースの依存関係を確認する $ terraform graph • • • リソースの更新 リソースの削除 リソースの状態確認 リソースの依存関係確認 6 Copyright © 2026, Oracle and/or its affiliates コマンド • •
  4. Terraform – アーキテクチャ Cloud Terraform Core ② Terraform Plugins Provider

    Provisioners GO 言語 ① 設定ファイル State ファイル OR .tfstat e *.tf 7 ④ JSON Copyright © 2026, Oracle and/or its affiliates Client Library ③ HTTP(S) ① 管理するリソースの状態を State ファイル(terraform.tfstate) で管理 ② Terraform は 設定ファイルを読み込んで、 state ファイルとの状態を比較し、 どのリソースに対してどの順序でアクションを起こすか決定 ③ 実際のリソースに対するアクションは、REST API をラップした Provider で実 行される ④ 実行後にリソースの状態が State ファイルに保存される
  5. リソースマネージャとは OCIリソースのデプロイメントと操作を自動化するOracleマネージドサービス(無償) Terraform-as-a-Service • Terraform実行エンジンがOCI上に実装 • HCL(HashiCorp Configuration Language) で記述されたTerraformの標準ファイルを使用

    • 状態(State)をOCI上で集中管理 OCIネイティブに統合 • OCIの全てのリソースに対するCRUD処理 • OCIコンソール、API、IAM、AuditなどのOCI標準機 能が利用可能 • OCIのリソースとのインタラクション機能 (Discovery/ドリフト検出) 8 Copyright © 2026, Oracle and/or its affiliates Resource Manager
  6. スタンドアロンTerraform vs. OCI Resource Manager スタンドアロン Terraform の課題を解消するためのソリューションが OCI Resource

    Manager 課題 State ファイルの管理方法 • RMが管理するため、 ユーザは意識する必要なし OCI RM 9 • 誰がどのような操作でリソースの stateを変化させたかを追うことも 可能 Copyright © 2026, Oracle and/or its affiliates terraform 実行ユーザ の管理方法 • OCI の IAM と完全に統合され ているため、誰がどのような 権限でリソースに関する操作を 行うことができるかを管理可能 複数環境の管理方法 • Stack. と呼ばれる単位で 複数の Terraform 設定ファイルを 一括管理可能
  7. OCI Resource Manager の基本構造 スタック2 スタック1 … .tf ファイル Plan

    Apply Destroy ジョブ 1 ジョブ2 ジョブ3 ジョブ • スタックに対する操作 : Plan, Apply, Destroy ログ State ファイル スタック • OCI リソースのまとまり • 構成情報をTerraform設定ファイル(.tf)で 保持 Resource Manager Stateファイル • 状態を保持するファイル (.tfstate) • Resource Manager では状態ファイルを 自動的に生成して更新 • ファイルの手動編集は不可 • スタック毎の状態ロックをサポート 10 Copyright © 2026, Oracle and/or its affiliates
  8. リソースマネージャの構成要素:Terraform構成/スタック Terraform構成: HCL言語で定義された.tfファイル .tfファイルにOCIのリソースを記述する .tfファイル … resource oci_core_vcn this {

    dns_label = var.vcn_dns_label cidr_block = var.vcn_cidr compartment_id = var.compartment_ocid display_name = var.vcn_display_name } resource oci_core_internet_gateway this { compartment_id = var.compartment_ocid vcn_id = oci_core_vcn.this.id } … 11 Copyright © 2026, Oracle and/or its affiliates スタック: OCIのリソースがまとまった一連のTerraform構成 通常はフォルダやzipファイルでまとめられる 例:インスタンスをプロビジョニングする時のスタック スタック tf-compute provider.tf :認証情報のファイル availability-domains.tf :ADに関するファイル compute.tf :コンピュートに関するファイル output.tf :出力情報に関するファイル
  9. リソースマネージャの構成要素:ジョブ 計画・適用・破棄 計画(plan):インフラストラクチャの変更の表示 現在の状態ファイル(Stateファイル)と設定ファイルを比 較して、変更があれば表示させる 例:VCN1からVCN2に名前を変更 変更部分はログに出力される # oci_core_vcn.this will

    be updated in-place ~ resource "oci_core_vcn" "this" { … defined_tags ~ display_name スタック VCN1 Old 設定ファイル ①更新 Old Stateファイル New設定ファイル dns_label = "vcn" freeform_tags = {} Virtual Machine Load Balanc er Virtual Machine + リソースが作成されることを示す - リソースが破棄されることを示す ~ リソースがインプレースで更新されることを示す ③比較して差分表示 "VCN1" -> "VCN2" 12 = "VCN1"" -> ""VCN2" } Subnet A ②計画(plan) = {} Copyright © 2026, Oracle and/or its affiliates -/+ リソースが破棄および再作成されることを示す
  10. リソースマネージャの構成要素:ジョブ 計画・適用・破棄 適用(apply): スタックの変更計画に基づいてインフラストラクチャの変更 を実際に適用する Stateファイルも新しいものに書き換えられる 破棄(destroy): スタックにあるインフラストラクチャを削除する スタックのジョブ履歴および状態は、破棄ジョブの実行後 も残る

    スタック スタック "VCN1" -> "VCN2" New設定ファイル Old Stateファイル VCN2 Subnet A New Stateファイル ①適用(apply) Virtual Machine ②更新 Load Balanc er 更新 Virtual Machine ③ログに出力 New Stateファイル 13 Copyright © 2026, Oracle and/or its affiliates "VCN1" -> "VCN2" 空の Stateファイル Subnet A Virtual Machine Load Balanc er Virtual Machine
  11. OCI Resource Manager 基本の実行フロー – Terraformに類似 ① スタックを作成し Terraform構成ファイルを登録 ②

    Plan を実行して 変更されるリソースを確認 ①' 問題や変更があれば Terraform 構成ファイルを編集し スタックを更新 ③ Apply を実行 ④ Stateと実行ログを確認 ⑤ Destroy を実行し 作成したリソースを破棄 https://docs.cloud.oracle.com/iaas/Content/ResourceManager/Concepts/resourcemanager.htm#workflow 14 Copyright © 2026, Oracle and/or its affiliates
  12. ジョブの同時実行について 同時に並列実行できるジョブの数はサービス制限によって規定される • 通常のジョブ:concurrent-job-count • テナンシでリージョンごとに割り当てられているジョブの同時実行数の最大値のサービス制限 • 追加のジョブ(プレミアム・ジョブ):premium-job-submission-count • •

    • • 通常のジョブの制限値を超えてさらに多くの数のジョブを同時に実行したい場合に使用できる プレミアム・ジョブは premium-job-submission-count のサービス制限を引き上げることで有効化される(デフォルト値は0) ユーザーはジョブ実行時に通常のジョブとプレミアム・ジョブを意識して区別する必要はなく、 concurrent-job-count の制限値を超えた分のジョブ がプレミアム・ジョブとして実行される プレミアム・ジョブが実行されるとコンピュートの料金として課金される 実行用のシェイプはサービス側で自動選択される(例: 2026年8月時点でAshburnリージョンではA1シェイプのコアとメモリの課金が発生) プレミアム・ジョブ実行中のサービス制限 この例では21のジョブを同時に実行しており、20までのジョブが通常のジョブとして実行されて、追加で1つのジョブがプレミアム・ジョブとして実行されている。 制限の値は concurrent-job-count がUC環境のデフォルトの20、 premium-job-submission-count が3となっているので、この環境では合計で最大23のジョブを同時 実行することができる。 15 Copyright © 2026, Oracle and/or its affiliates
  13. スタックの作成:リソース・ディスカバリー機能 テナンシやコンパートメントにあるリソースからスタックを生成 デプロイされたリソースをTerraform 構成、状態ファイルとしてキャプチャする機能 • 手動管理インフラストラクチャからResource Manager制御インフラストラクチャに移行 • HCL構文を使用して Oracle

    Cloud Infrastructure リソースを表す方法の学習 • 別のテナンシーまたはコンパートメントで既存のインフラストラクチャを複製または再構築 ※作成されたスタックからそのままデプロイができるかは要検証 discovery_file Compartment provider.tf testVCN1 Subnet A Virtual Machine Load Balanc er Virtual Machine compute.tf コンパートメント内のリソースを スタックへ スタック load_balancer.tf var.tf 19 Copyright © 2026, Oracle and/or its affiliates
  14. ドリフト検出 障害が発生した時や手動で変更した時に生じる差分を表示 Resource Manager が最後に実行した状態(=state ファイルの情報) と、OCIの実際のリソースの状況の差分 = 構成ドリフト を検出する機能

    Stateファイルの構成 testVCN1 実際の構成 testVCN1 Subnet A Subnet B Virtual Machine Load Balanc er 20 Virtual Machine Copyright © 2026, Oracle and/or its affiliates Virtual Machine Load Balanc er Virtual Machine レポートに出力可能で、差分は色付きで表示される
  15. Oracle Cloud Infrastructure マニュアル・ドキュメント Oracle Cloud Infrastructure マニュアル (日本語 /

    英語) • https://docs.cloud.oracle.com/iaas/api/ - APIリファレンス • https://docs.cloud.oracle.com/ja-jp/iaas/Content/General/Reference/aqswhitepapers.htm - テクニカル・ホワイ ト・ペーパー • https://docs.cloud.oracle.com/iaas/releasenotes/ - リリースノート • https://docs.cloud.oracle.com/ja-jp/iaas/Content/knownissues.htm - 既知の問題(Known Issues) • https://docs.cloud.oracle.com/ja-jp/iaas/Content/General/Reference/graphicsfordiagrams.htm - OCIアイコン・ダ イアグラム集(PPT、SVG、Visio用) ※ 日本語版は翻訳のタイムラグのため情報が古い場合があります。最新情報は英語版をご確認ください 24 Copyright © 2026, Oracle and/or its affiliates
  16. Oracle Cloud Infrastructure トレーニング・技術フォーラム Oracle Cloud Infrastructure 活用資料集 • https://oracle-japan.github.io/ocidocs/

    チュートリアル - Oracle Cloud Infrastructureを使ってみよう • https://oracle-japan.github.io/ocitutorials/ Oracle Cloud ウェビナーシリーズ • https://www.oracle.com/goto/ocws-jp Oracle 主催 セミナー、ハンズオン・ワークショップ • https://www.oracle.com/search/events/_/N-2bu/ Oracle Cloud Infrastructure – General Forum (英語) • https://cloudcustomerconnect.oracle.com/resources/9c8fa8f96f/summary 25 Copyright © 2026, Oracle and/or its affiliates
  17. Our mission is to help people see data in new

    ways, discover insights, unlock endless possibilities.