diff --git a/en/terraform-guide.md b/en/terraform-guide.md
index b2ce0d5..a8ad2b7 100644
--- a/en/terraform-guide.md
+++ b/en/terraform-guide.md
@@ -1,24 +1,24 @@
-## Third Party User Guide > Terraform User Guide
+## Third-Party User Guide > Terraform User Guide
This document describes how to use NHN Cloud with Terraform.
## Terraform
-Terraform is an open-source tool that lets you easily build and safely change infrastructure, and also efficiently manage configuration of infrastructure. The main features of Terraform are as follows:
+Terraform is an open source tool that makes it easy to build infrastructure, safely modify it, and efficiently manage infrastructure configuration. Terraform's key features are as follows.
* **Infrastructure as Code**
- * You can increase the productivity and transparency by defining infrastructure as code.
- * You can easily share the defined code for efficient collaboration.
+ * By defining infrastructure as code, you can increase productivity and transparency.
+ * You can easily share the defined code, enabling efficient collaboration.
* **Execution Plan**
- * By separating change planning and change execution, you can reduce the potential for mistakes when making changes.
+ * By separating the change plan from change application, you can reduce mistakes that may occur when applying changes.
* **Resource Graph**
- * You can see in advance how minor changes will affect the entire infrastructure.
- * By creating a dependency graph, you can make a plan based on the graph and see how your infrastructure changes when you apply the plan.
+ * You can preview how minor changes will impact the entire infrastructure.
+ * You can create a dependency graph, make plans based on this graph, and verify the changed infrastructure state when applying the plan.
* **Change Automation**
- * You can automate the process so that infrastructure with the same configuration can be built and changed in multiple locations.
- * You can save time to build infrastructure and reduce mistakes.
+ * You can automate the creation and modification of infrastructure with the same configuration across multiple locations.
+ * You can save time building infrastructure and reduce mistakes.
+
-
#### Supported Resources
* Compute
@@ -53,7 +53,6 @@ Terraform is an open-source tool that lets you easily build and safely change in
* nhncloud_kubernetes_cluster_resize_v1
* nhncloud_kubernetes_nodegroup_upgrade_v1
-
#### Supported Data Sources
* nhncloud_images_image_v2
@@ -70,17 +69,19 @@ Terraform is an open-source tool that lets you easily build and safely change in
* nhncloud_kubernetes_cluster_v1
* nhncloud_kubernetes_nodegroup_v1
+
### Note
-* **The version of the Terraform used in the examples below is 1.0.0.**
-* **The name and number of the components including the version can be changed, so make sure you check the information before use.**
+* **The Terraform version used in the examples below is 1.0.0.**
+* **Component names and numbers, including versions, may change, so please verify before using.**
+
-## Terraform Installation
-Go to [Download Terraform](https://www.terraform.io/downloads.html) and download the file suitable for the operating system of your local PC. Decompress the file to an appropriate path and add the path to your environment setting, and the installation is complete.
+## Install Terraform
+Download the file that matches your local PC's operating system from the [Terraform download page](https://www.terraform.io/downloads.html). Extract the file, place it in your desired location, and add that path to your environment settings to complete the installation.
-See the following example for Linux(Ubuntu/Debian) installation.
+The following is an example of installing on Linux (Ubuntu/Debian).
```
$ wget -O - https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
@@ -90,13 +91,14 @@ $ terraform -v
Terraform v1.14.2
```
+
-## Terraform Initialization
+## Initialize Terraform
Before using Terraform, create a provider configuration file as follows.
-The name of the provider file can be set randomly. This example uses `provider.tf` as the filename.
+You can set the provider file name arbitrarily; in this example, we use `provider.tf`.
-For provider version, please write it based on the [NHN Cloud Terraform Registry](https://registry.terraform.io/providers/nhn-cloud/nhncloud/latest)'s `VERSION` information.
+Write the provider version by referring to the `VERSION` information in the [NHN Cloud Terraform Registry](https://registry.terraform.io/providers/nhn-cloud/nhncloud/latest).
```
# Define required providers
@@ -122,20 +124,20 @@ provider "nhncloud" {
* **user_name**
* Use the NHN Cloud ID.
* **tenant_id**
- * From **Compute > Instance > Management** on NHN Cloud console, click **Set API Endpoint** to check the Tenant ID.
+ * Check the tenant ID by clicking the API Endpoint Settings button in the NHN Cloud console under Compute > Instance > Management.
* **password**
- * Use **API Password** that you saved in **Set API Endpoint**.
- * Regarding how to set API passwords, see **User Guide > Compute > Instance > API Preparations**.
+ * Use the API password saved in the API Endpoint Settings dialog box.
+ * Refer to User Guide > Compute > Instance > Preparing for API Use for instructions on setting the API password.
* **auth_url**
- * Specify the address of the NHN Cloud identification service.
- * From **Compute > Instance > Management** on NHN Cloud console, click **Set API Endpoint** to check Identity URL.
+ * Specify the NHN Cloud identity service address.
+ * Check the identity service URL by clicking the API Endpoint Settings button in the NHN Cloud console under Compute > Instance > Management.
* **region**
- * Enter the region to manage NHN Cloud resources.
+ * Enter the region information for managing NHN Cloud resources.
* **KR1**: Korea (Pangyo) Region
* **KR2**: Korea (Pyeongchon) Region
* **JP1**: Japan (Tokyo) Region
-On the path where the provider configuration file is located, use the `init` command to initialize Terraform.
+Initialize Terraform using the `init` command in the directory where the provider configuration file is located.
```
$ ls
@@ -143,3 +145,60 @@ provider.tf
$ terraform init
```
+
+## Data Sources
+
+Instance type IDs, image IDs, and other information needed for writing tf files can be obtained from the console or by using data sources provided by Terraform. Data sources are written inside tf files, and the obtained information cannot be modified and can only be referenced. NHN Cloud regularly updates images, so image names may change. Specify the exact image name you want to use by referring to the console.
+
+Data sources are referenced as `{data source resource type}.{data source name}`. In the example below, image information obtained as `nhncloud_images_image_v2.ubuntu_2004_20201222` is referenced.
+
+```
+data "nhncloud_images_image_v2" "ubuntu_2004_20201222" {
+ name = "Ubuntu Server 20.04.1 LTS (2020.12.22)"
+ most_recent = true
+}
+```
+
+You can reference other data sources within data sources.
+
+```
+data "nhncloud_blockstorage_volume_v2" "volume_00"{
+ name = "ssd_volume1"
+ status = "available"
+}
+
+data "nhncloud_blockstorage_snapshot_v2" "my_snapshot" {
+ name = "my-snapshot"
+ volume_id = data.nhncloud_blockstorage_volume_v2.volume_00.id
+ status = "available"
+ most_recent = true
+}
+```
+
+
+
+
+
+## Basic Terraform Usage
+
+Building infrastructure with Terraform typically follows the lifecycle below.
+
+1. Write tf files
+2. Verify the build plan
+3. Create resources
+4. Modify resources
+5. Delete resources
+
+First, write the infrastructure configuration to be built in a tf file. Verify the build plan based on the written tf file using the `plan` command as shown below.
+
+```
+$ terraform plan
+```
+
+If the build plan is correct, use the `apply` command to create, modify, or delete resources.
+
+```
+$ terraform apply
+```
+
+The following sections explain these steps in more detail with examples.
\ No newline at end of file
diff --git a/ja/terraform-guide.md b/ja/terraform-guide.md
index 25e2673..d0ddd0f 100644
--- a/ja/terraform-guide.md
+++ b/ja/terraform-guide.md
@@ -1,31 +1,30 @@
-## サードパーティー使用ガイド > Terraform使用ガイド
-この文書はTerraformでNHN Cloudを使用する方法を説明します。
+## Third Party User Guide > Terraformユーザーガイド
+このドキュメントは、TerraformでNHN Cloudを使用する方法について説明します。
## Terraform
-Terraformはインフラを簡単に構築し、安全に変更し、効率的にインフラの形状を管理できるオープンソースのツールです。Terraformの主な特徴は次のとおりです。
+Terraformは、インフラストラクチャを簡単に構築し、安全に変更でき、効率的にインフラストラクチャの構成を管理できるオープンソースツールです。Terraformの主な特徴は次のとおりです。
* **Infrastructure as Code**
- * インフラをコードで定義して生産性と透明性を高めることができます。
- * 定義したコードを簡単に共有でき、効率的に協業できます。
+ * インフラストラクチャをコードで定義することで、生産性と透明性を高めることができます。
+ * 定義したコードを簡単に共有できるため、効率的に協業できます。
* **Execution Plan**
- * 変更計画と変更適用を分離して変更内容を適用する時に発生しうる失敗をへらすことができます。
+ * 変更計画と変更適用を分離して、変更内容の適用時に発生する可能性のあるミスを減らすことができます。
* **Resource Graph**
- * 些細な変更がインフラ全体にどんな影響を与えるかを事前に確認できます。
- *従属性グラフを作成し、このグラフを元に計画を立て、この計画を適用した時に変更されるインフラの状態を確認できます。
+ * 小さな変更がインフラストラクチャ全体にどのような影響を与えるかを事前に確認できます。
+ * 依存関係グラフを作成してこのグラフに基づいて計画を立案し、この計画を適用したときに変更されるインフラストラクチャの状態を確認できます。
* **Change Automation**
- * 複数の場所に同じ構成のインフラを構築し、変更できるように自動化できます。
- * インフラを構築するのにかかる時間を節約することができ、失敗も減らすことができます。
+ * 複数の場所に同じ構成のインフラストラクチャを構築して変更するための自動化ができます。
+ * インフラストラクチャ構築にかかる時間を節約でき、ミスも減らすことができます。
-
-#### Resourcesサポート
+#### リソースサポート
* Compute
* nhncloud_compute_instance_v2
* nhncloud_compute_volume_attach_v2
- * nhncloud_compute_keypair_v2
+ * nhncloud_compute_keypair_v2
* Network
* nhncloud_lb_loadbalancer_v2
* nhncloud_lb_listener_v2
@@ -38,7 +37,7 @@ Terraformはインフラを簡単に構築し、安全に変更し、効率的
* nhncloud_networking_vpc_v2
* nhncloud_networking_vpcsubnet_v2
* nhncloud_networking_routingtable_v2
- * nhncloud_networking_routingtable_attach_gateway_v2
+ * nhncloud_networking_routingtable_attach_gateway_v2
* nhncloud_networking_secgroup_v2
* nhncloud_networking_secgroup_rule_v2
* nhncloud_keymanager_secret_v1
@@ -53,9 +52,8 @@ Terraformはインフラを簡単に構築し、安全に変更し、効率的
* nhncloud_kubernetes_nodegroup_v1
* nhncloud_kubernetes_cluster_resize_v1
* nhncloud_kubernetes_nodegroup_upgrade_v1
-
-
-#### Data sourcesサポート
+
+#### データソースサポート
* nhncloud_images_image_v2
* nhncloud_blockstorage_volume_v2
@@ -71,18 +69,19 @@ Terraformはインフラを簡単に構築し、安全に変更し、効率的
* nhncloud_kubernetes_cluster_v1
* nhncloud_kubernetes_nodegroup_v1
+
-### 注意
+### 知っておくこと
-* **下記例のすべてのデータは実際の情報ではありません。必ず正確な情報に修正して使用します。**
-* **下記の例はすべてTerraform 0.12.24を利用しました。**
+* **以下の例に使用されているTerraformバージョンは1.0.0です。**
+* **バージョンを含むコンポーネントの名前と数字は変更される可能性があるため、確認した後に使用してください。**
-## Terraformインストール
-[Terraformダウンロードページ](https://www.terraform.io/downloads.html)でローカルPCのOSに合ったファイルをダウンロードします。ファイルの圧縮を解凍し、任意の場所に入れた後、次の環境設定に該当パスを追加するとインストールが完了します。
+## Terraform インストール
+[Terraformダウンロードページ](https://www.terraform.io/downloads.html)からローカルPCのオペレーティングシステムに合ったファイルをダウンロードします。ファイルを解凍して任意のパスに配置してから、環境設定にそのパスを追加すればインストールが完了します。
-次はLinux(Ubuntu/Debian)のインストール例です。
+次はLinux(Ubuntu/Debian)インストール例です。
```
$ wget -O - https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
@@ -93,75 +92,13 @@ Terraform v1.14.2
```
-
-
-### Local provider設定
-
-Local provider設定を通じてTerraform NHN Cloud providerを使用できます。
-
-Local providerを探すためのディレクトリ構造を作成した後、ダウンロードしたバイナリファイルをプラグインのパスに追加します。バイナリファイルには実行権限が必要です。
-
-以下はOSごとのプラグイン基本パスです。より詳しい基本パスの説明は[Terraformサイト](https://developer.hashicorp.com/terraform/cli/config/config-file#provider-installation)の`Implied Local Mirror Directories
-`項目を参照してください。
-
-* **Linux / macOS** : `${HOME}/.terraform.d/plugins/terraform.local/local/nhncloud/${version}/${platforms}`
-* **Windows** : `%APPDATA%/terraform.d/plugins/terraform.local/local/nhncloud/${version}/${platforms}`
-
-プラグイン基本パス構成ルールについての説明です。
-
-* **version**
- * providerのバージョンです。
-* **platforms**
- * パッケージがあるプラットフォームを説明するオブジェクトの配列で、OS識別キーワードとCPUアーキテクチャ識別キーワードで構成されています。
- * **darwin_adm64** : macOS / AMD64
- * **darwin_arm64** : macOS / Apple silicon
- * **linux_amd64** : Linux / AMD64
- * **windows_amd64** : Windows / AMD64
-
-以下は、バイナリダウンロード後、**OS/アーキテクチャ**ごとのプラグイン設定例です。
-
-**プラグインを設定する際は1.0.2バージョンを使用することを推奨します。**
-
-`macOS / AMD64`プラグインの設定例です。
-
-```
-$ mkdir -p $HOME/.terraform.d/plugins/terraform.local/local/nhncloud/1.0.2/darwin_amd64
-$ cp terraform-provider-nhncloud_v1.0.2 $HOME/.terraform.d/plugins/terraform.local/local/nhncloud/1.0.2/darwin_amd64
-$ chmod +x $HOME/.terraform.d/plugins/terraform.local/local/nhncloud/1.0.2/darwin_amd64/terraform-provider-nhncloud_v1.0.2
-```
-
-`macOS / Apple silicon`プラグインの設定例です。
-
-```
-$ mkdir -p $HOME/.terraform.d/plugins/terraform.local/local/nhncloud/1.0.2/darwin_arm64
-$ cp terraform-provider-nhncloud_v1.0.2 $HOME/.terraform.d/plugins/terraform.local/local/nhncloud/1.0.2/darwin_arm64
-$ chmod +x $HOME/.terraform.d/plugins/terraform.local/local/nhncloud/1.0.2/darwin_arm64/terraform-provider-nhncloud_v1.0.2
-```
-
-`Linux / AMD64`プラグインの設定例です。
-
-```
-$ mkdir -p $HOME/.terraform.d/plugins/terraform.local/local/nhncloud/1.0.2/linux_amd64
-$ cp terraform-provider-nhncloud_v1.0.2 $HOME/.terraform.d/plugins/terraform.local/local/nhncloud/1.0.2/linux_amd64
-$ chmod +x $HOME/.terraform.d/plugins/terraform.local/local/nhncloud/1.0.2/linux_amd64/terraform-provider-nhncloud_v1.0.2
-```
-
-`Windows / AMD64`プラグインの設定例です。
-
-```
-$ mkdir -p %APPDATA%/terraform.d/plugins/terraform.local/local/nhncloud/1.0.2/windows_amd64
-$ cp terraform-provider-nhncloud_v1.0.2 $HOME/.terraform.d/plugins/terraform.local/local/nhncloud/1.0.2/windows_amd64
-$ copy terraform-provider-nhncloud_v1.0.2 %APPDATA%/terraform.d/plugins/terraform.local/local/nhncloud/1.0.2/windows_amd64
-```
-
-
-## Terraformの初期化
+## Terraform 初期化
Terraformを使用する前に、次のようにプロバイダー設定ファイルを作成します。
-プロバイダーファイルの名前は任意で設定可能で、この例では`provider.tf`を使用します。
+プロバイダーファイル名は任意に設定でき、この例では`provider.tf`を使用します。
-providerバージョンは[NHN Cloud Terraform Registry](https://registry.terraform.io/providers/nhn-cloud/nhncloud/latest)の `VERSION` 情報を参考にして作成します。
+プロバイダーバージョンは[NHN Cloud Terraform Registry](https://registry.terraform.io/providers/nhn-cloud/nhncloud/latest)の`VERSION`情報を参考にして記述します。
```
# Define required providers
@@ -184,24 +121,23 @@ provider "nhncloud" {
}
```
-
* **user_name**
* NHN Cloud IDを使用します。
* **tenant_id**
- * NHN Cloudコンソールの**Compute > Instance > 管理**メニューで**APIエンドポイント設定**ボタンを押してテナントIDを確認します。
+ * NHN Cloudコンソールの**Compute > Instance > 管理**メニューで**APIエンドポイント設定**ボタンをクリックしてテナントIDを確認します。
* **password**
- * **API Endpoint設定**ウィンドウで保存した**APIパスワード**を使用します。
- * APIパスワードの設定方法は**ユーザーガイド > Compute > Instance > API使用準備**を参照します。
+ * **APIエンドポイント設定**ダイアログボックスで保存した**API パスワード**を使用します。
+ * APIパスワード設定方法は**ユーザーガイド > Compute > Instance > API使用準備**を参照します。
* **auth_url**
- * NHN Cloud身元サービスアドレスを明示します。
- * NHN Cloudコンソールの**Compute > Instance > 管理**メニューで**APIエンドポイント設定**ボタンをクリックして身元サービス(identity) URLを確認します。
+ * NHN Cloud IDサービスアドレスを明示します。
+ * NHN Cloudコンソールの**Compute > Instance > 管理**メニューで**APIエンドポイント設定**ボタンをクリックしてIDサービス(identity)URLを確認します。
* **region**
* NHN Cloudリソースを管理するリージョン情報を入力します。
- * **KR1**:韓国(パンギョ)リージョン
- * **KR2**:韓国(ピョンチョン)リージョン
- * **JP1**:日本(東京)リージョン
+ * **KR1**: 韓国(パンギョ)リージョン
+ * **KR2**: 韓国(ピョンチョン)リージョン
+ * **JP1**: 日本(東京)リージョン
-プロバイダー設定ファイルがあるパスで`init`コマンドを利用してTerraformを初期化します。
+プロバイダー設定ファイルがあるパスで`init`コマンドを使用してTerraformを初期化します。
```
$ ls
@@ -209,3 +145,60 @@ provider.tf
$ terraform init
```
+
+## データソース
+
+tfファイル作成に必要なインスタンスタイプID、イメージIDなどはコンソールで確認するか、Terraformが提供するデータソースを使用して取得できます。データソースはtfファイル内に記述され、取得した情報は修正できず、参照のみが可能です。NHN Cloudは定期的にイメージを更新するため、イメージ名が変更される場合があります。使用する正確なイメージ名はコンソールを参照して明示します。
+
+データソースは`{データソースリソースタイプ}.{データソース名}`で参照します。以下の例では`nhncloud_images_image_v2.ubuntu_2004_20201222`で取得したイメージ情報を参照します。
+
+```
+data "nhncloud_images_image_v2" "ubuntu_2004_20201222" {
+ name = "Ubuntu Server 20.04.1 LTS (2020.12.22)"
+ most_recent = true
+}
+```
+
+データソース内で他のデータソースを参照できます。
+
+```
+data "nhncloud_blockstorage_volume_v2" "volume_00"{
+ name = "ssd_volume1"
+ status = "available"
+}
+
+data "nhncloud_blockstorage_snapshot_v2" "my_snapshot" {
+ name = "my-snapshot"
+ volume_id = data.nhncloud_blockstorage_volume_v2.volume_00.id
+ status = "available"
+ most_recent = true
+}
+```
+
+
+
+
+
+## Terraform 基本的な使用方法
+
+Terraformを使用したインフラストラクチャ構築は通常、以下のようなライフサイクル(ライフサイクル)を持ちます。
+
+1. tfファイル作成
+2. 構築計画確認
+3. リソース作成
+4. リソース修正
+5. リソース削除
+
+まず、構築するインフラストラクチャ構成をtfファイルに記述します。記述されたtfファイルに基づく構築計画は以下のように`plan`コマンドで確認します。
+
+```
+$ terraform plan
+```
+
+構築計画に問題がなければ、`apply`コマンドを使用してリソースを作成、修正、削除します。
+
+```
+$ terraform apply
+```
+
+次のセクションでは、これらのステップをさらに詳しく例とともに説明します。
\ No newline at end of file