OKITを利用したOCI環境への新規リソースの構築

 2021.03.22  株式会社テリロジー 技術統括部

こんにちは!Y.Tです。
前回の記事では、OKITでOCI上の構成確認方法をご紹介しました。
今回はOKITを利用してOCIの環境に新規インスタンスの構築を計画するまでの方法をご紹介します。

OKITで追加可能なリソースとOCIへの適用方法

OKITで追加可能なリソース

OKITを利用し、OCI上に追加可能なリソースは以下になります。

  • コンピュート:インスタンス
  • コンテナ:コンパートメント、OKE クラスター
  • データベース:Autonomous Database、データベースシステム、MySQL データベース
  • ゲートウェイ:ダイナミックルーティングゲートウェイ、インターネットゲートウェイ、ローカルピアリング、NATゲートウェイ、サービスゲートウェイ
  • ネットワーキング:Customer Premise Equipment、IPSecコネクション、ロードバランサ、ネットワークセキュリティグループ、リモートピアリング、ルートテーブル、セキュリティリスト、サブネット、VCN
  • ストレージ:ブロックストレージ、ファイルストレージ、オブジェクトストレージ
  • 構成テンプレート:Bastion Server、Load Balanced Nginx、Oke Cluster

上記の構成テンプレートは、それぞれ、以下のような構成になっています。

OKITで追加可能なリソースとOCIへの適用方法

OCIへの適用方法

また、OKITから実際のOCI上へ新規にリソースを追加する方法は、以下の3種類あります。

  • Terraformを利用する方法
  • Ansibleを利用する方法
  • OCI上のリソースマネージャに直接作成する方法

ここでは、リソースマネージャ、また、Terraformを利用し、OKITから新規にインスタンスを構築する方法を ご紹介します。

リソースマネージャを利用したOCIへのインスタンス構築

リソースマネージャを利用する方法

今回は既存のVCN、サブネットにインスタンスを追加していきます。

1. はじめに、左上のメニューから「Query」を選択し、リージョンや今パートメントを指定し、現在の環境を表示します。

リソースマネージャを利用したOCIへのインスタンス構築 画像1

2. 既存のコンパートメント、Public Subnetに左メニューのインスタンスをドラッグ&ドロップして配置します。

リソースマネージャを利用したOCIへのインスタンス構築 画像2

3. インスタンスのシェイプを変更するため、右メニューから「Properties」を選択し、配置したインスタンスをクリックします。このプロパティ内で、インスタンス名やOS、シェイプなどを設定できるようになっています。

リソースマネージャを利用したOCIへのインスタンス構築 画像3

4. 設定完了後、左上のメニューから「ResorceManager」を選択し、以下のように設定していきます。

リソースマネージャを利用したOCIへのインスタンス構築 画像4

  • Connection Profile:DEFAULT
  • Region(s):※OCIのリージョンを選択
  • Compartment:※確認したい今パートメントを選択
  • Create/Update:Create ※スタックの新規作成かアップデートか選択
  • Stack Name:OKIT_TEST_Plan
  • Plan/Apply:Plan

5. 今回は、「Plan」を選択したため、実際にコンピュートは構築されず、これまで指定したシステム構成に対応するスタックの作成が行われました。「Plan」が問題なく実行できることを確認してから「Apply」を選択、実行することで指定したリソースの構築も可能です。

~OKIT実行前~
~OKIT実行前~
~OKIT実行後~
~OKIT実行後~

Terraformを利用したOCIへのインスタンス構築計画

Terraformを利用する方法

1. はじめに、terraform公式ダウンロードページから、terraformを利用する端末のOS用のパッケージをダウンロードします。今回はUbuntuでTerraformを利用できるようにします。
ダウンロードしたzipである「terraform_0.14.8_linux_amd64.zip」を解凍し、コマンドとして利用できるように パスを通します。

$ sudo unzip terraform_0.14.8_linux_amd64.zip -d /usr/local/bin/
Tips!

Terraformとは、HashiCorp社が提供するクラウド上のリソースを定義ファイルで指定した状態で生成、操作することが可能なインフラ構築や設定をコード化するためのツールです!

2. 次に、OKITからTerraformのテンプレートをインストールします。左メニューの「Terraform」から「LocalZip」を 選択し、保存します。

Tips!

Terraform、Ansibleともに構成テンプレートをZip形式でローカル環境にダウンロードする他、Gitリポジトリに エクスポートすることもできます!

3. インストールしたZipファイルをTerraformをインストールした端末に移動し、以下のコマンドで「terraform.tfvars」を編集します。

$ sudo vi terraform.tfvars tenancy_ocid = "<テナンシーOCID>" user_ocid = "<ユーザOCID>" fingerprint = "<フィンガープリント>" private_key_path = "~/.oci/oci_api_key.pem" region = "<リージョン名>" compartment_ocid = "<コンパートメントOCID>"

4. ファイル編集後、terraformの init で作業ディレクトリを初期化し、plan で実行計画をたてることができます。

$ terraform init $ terraform plan

異なるテナントでOKITを利用する場合

OKITで閲覧するテナントを変更する場合は、/.ociの中のconfig内の各種OCIDやフィンガープリント値を 書き換えた後、以下のコマンドでDockerを一度停止し、再ビルドすることで異なるテナントのOCI環境がOKITで 確認可能になります。

$ sudo docker ps $ sudo docker stop okit $ sudo docker ps -a $ cd oci-designer-toolkit $ sudo docker build --tag okit --file ./containers/docker/Dockerfile --force-rm . $ sudo docker run -d --rm -p 80:80 --volume ~/okit/user/templates:/okit/templates --volume ~/.oci:/root/.oci --name okit okit

まとめ

今回はOKITからOCIに接続、またTerraformからOCIへ接続し、リソースの適用計画を設定していきました。 OKITを利用すれば構成図から直接設定することができるため、視覚的にわかりやすく新規リソースを導入することが できますね。
最後までお読みいただき、ありがとうございました。🙇


RECENT POST「OCIサービス紹介」の最新記事


OCIサービス紹介

テリロジーが提供しているOCIの4つのサービス

OCIサービス紹介

Oracle FunctionsのスクリプトをAPIGW経由で確認 Part1

OCIサービス紹介

Oracle FunctionsのスクリプトをAPIGW経由で確認 Part2

OCIサービス紹介

OCIのDNSサービス

OKITを利用したOCI環境への新規リソースの構築