こんにちは!Y.Tです。
前回の記事では、OKITでOCI上の構成確認方法をご紹介しました。
今回はOKITを利用してOCIの環境に新規インスタンスの構築を計画するまでの方法をご紹介します。
目次:
2.リソースマネージャを利用したOCIへのインスタンス構築計画
1.OKITで追加可能なリソースとOCIへの適用方法
OKITで追加可能なリソース
OKITを利用し、OCI上に追加可能なリソースは以下になります。
コンピュート:インスタンス
コンテナ:コンパートメント、OKE クラスター
データベース:Autonomous Database、データベースシステム、MySQL データベース
ゲートウェイ:ダイナミックルーティングゲートウェイ、インターネットゲートウェイ、ローカルピアリング、NATゲートウェイ、サービスゲートウェイ
ネットワーキング:Customer Premise Equipment、IPSecコネクション、ロードバランサ、ネットワークセキュリティグループ、リモートピアリング、ルートテーブル、セキュリティリスト、サブネット、VCN
ストレージ:ブロックストレージ、ファイルストレージ、オブジェクトストレージ
構成テンプレート:Bastion Server、Load Balanced Nginx、Oke Cluster
上記の構成テンプレートは、それぞれ、以下のような構成になっています。

OCIへの適用方法
また、OKITから実際のOCI上へ新規にリソースを追加する方法は、以下の3種類あります。
・Terraformを利用する方法
・Ansibleを利用する方法
・OCI上のリソースマネージャに直接作成する方法
ここでは、リソースマネージャ、また、Terraformを利用し、OKITから新規にインスタンスを構築する方法を
ご紹介します。
2.リソースマネージャを利用したOCIへのインスタンス構築
リソースマネージャを利用する方法
今回は既存のVCN、サブネットにインスタンスを追加していきます。
1. はじめに、左上のメニューから「Query」を選択し、リージョンや今パートメントを指定し、現在の環境を表示
します。

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

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

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

・Connection Profile:DEFAULT
・Region(s):※OCIのリージョンを選択
・Compartment:※確認したい今パートメントを選択
・Create/Update:Create ※スタックの新規作成かアップデートか選択
・Stack Name:OKIT_TEST_Plan
・Plan/Apply:Plan
5. 今回は、「Plan」を選択したため、実際にコンピュートは構築されず、これまで指定したシステム構成に対応するスタックの作成が行われました。「Plan」が問題なく実行できることを確認してから「Apply」を選択、実行することで指定したリソースの構築も可能です。
~OKIT実行前~

~OKIT実行後~

3.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/
Terraformとは、HashiCorp社が提供するクラウド上のリソースを定義ファイルで指定した状態で生成、操作することが可能なインフラ構築や設定をコード化するためのツールです!
2. 次に、OKITからTerraformのテンプレートをインストールします。左メニューの「Terraform」から「LocalZip」を
選択し、保存します。
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
4.異なるテナントで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を利用すれば構成図から直接設定することができるため、視覚的にわかりやすく新規リソースを導入することが
できますね。
最後までお読みいただき、ありがとうございました。🙇