2024-06-10に更新

OCIでTerraformの実行

基本的には、Oracleの公式サイト(↓)に従って進める。
https://docs.oracle.com/ja-jp/iaas/developer-tutorials/tutorials/tf-provider/01-summary.htm
動作環境はOracle Linux8

1. 準備

1.1. asdfのインストール

バージョン管理のためにasdfをインストールした。
asdfのインストール方法は、公式ドキュメント参照(↓)
https://asdf-vm.com/ja-jp/guide/getting-started.html

ドキュメントを見ると、asdfの動作には$git$と$curl$が必要とのこと。
gitはインストールされていない環境だったので、まずはgitのインストール

# yum install git
~省略~

Installed:
  git-2.43.0-1.el8.x86_64         git-core-2.43.0-1.el8.x86_64         git-core-doc-2.43.0-1.el8.noarch         perl-Error-1:0.17025-2.el8.noarch         perl-Git-2.43.0-1.el8.noarch         perl-TermReadKey-2.37-7.el8.x86_64

Complete!

gitをインストールしたら、asdfをダウンロードする。

git clone https://github.com/asdf-vm/asdf.git /usr/local/asdf --branch v0.13.1

asdfをインストールする。今回の環境はOracleLinux8でbashを利用しているので
ドキュメントの該当の説明に従って.bashrcに追記

vi ~/.bashrc
#下記を追記。

. "/usr/local/asdf/asdf.sh"
. "/usr/local/asdf/completions/asdf.bash"

インストールされたことを確認する。

# asdf --version
v0.13.1-0586b37

【補足】
rootユーザ以外でもasfdを実行できるように、管理グループasdfを作成して、asdfコマンドの実行権限を付与する。

# groupadd asdf
# chgrp -R asdf /root/.asdf
# chmod -R g+rwXs /root/.asdf
# gpasswd -a <ユーザ名> asdf

1.2. Terraformのインストール

asdfのTerraformのプラグインをインストール

# asdf plugin add terraform

まずはインストール可能なTerraformのバージョンを確認する。

# asdf list all terraform

上記で見たバージョンから、インストールしたいバージョンを選択し、$.tool-version$ファイルに記載する。

$ vi .tool-versions
$ cat .tool-versions
terraform 1.8.5

記載したら、下記のコマンドでインストール実行

$ asdf install
~省略~
terraform_1.8.5_linux_amd64.zip: OK
Cleaning terraform previous binaries
Creating terraform bin directory
Extracting terraform archive

$ terraform -v
Terraform v1.8.5
on linux_amd64

$ which terraform
~/.asdf/shims/terraform   ←.tool-versionsの1段上のディレクトリに.asdfディレクトリが作成された

これでインストール完了。

2. Terraformの基本操作

2.1. プロバイダの設定の記述

インスタンスからoci clioを実行できる準備をする。これは↓を参照。今回は既にセッティング済みなのでスキップ。

[https://crieit.net/posts/OCI-AWS#7.OCI%20CLIの利用方法](https://crieit.net/posts/OCI-AWS#7.OCI%20CLIの利用方法)

もし、インスタンスプリンシパルではなくユーザ認証したければ↓を参照
https://docs.oracle.com/ja-jp/iaas/developer-tutorials/tutorials/tf-provider/01-summary.htm#prepare

プロバイダの設定を書く。プロバイダのtfファイル名$provider.tf$。
参考:https://docs.oracle.com/ja-jp/iaas/developer-tutorials/tutorials/tf-provider/01-summary.htm#create-scripts

cd ~/udemy-terraform
vi provider.tf
provider "oci" {
  tenancy_ocid = "ocid1.tenancy.oc1..aaaaaaaaayik22xsspv6rjejxrawza34sgxhx2cudriomk5vhnmdqkkrde2a"
  region = "ap-tokyo-1"
}

2.2. Teraformの基本コマンド

コマンド 内容
terraform init カレントディレクトリでTerraformを使う準備
terraform plan Terraformが構築するインフラを確認
terraform apply Terraformでインフラを構築
terraform destroy Tarraformで構築したインフラを削除
ツイッターでシェア
みんなに共有、忘れないようにメモ

kawai_mizugorou

社会人2年目.自分用のメモとして使ってます.

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント