Terraform HashiCorpによって開発されたコードプラットフォームとしてのインフラストラクチャです。 HashiCorp構成言語(HCL)に従って人間が読める形式でコードを記述し、それをデプロイしてクラウドのインフラストラクチャを取得するだけです。 Terraformは、Google、Amazon、Alibabaなどの多くのクラウドプロバイダーでサポートされています。
この記事では、 インストール 最新バージョンの テラフォーム Ubuntuで。 Ubuntu 20.04でテラフォームのインストールを実行していますが、すべてのLinuxプラットフォームで同じ手順を実行できます。
また、方法を学ぶ テラフォームを使用する シンプルで example ec2インスタンスを起動し、s3バケットを作成します。
Ubuntu20.04にterraformをインストールします
ダウンロード Terrafromの最新バージョン。 記事を書いている時点では、最新バージョンは0.14.3です。
$ wget https://releases.hashicorp.com/terraform/0.14.3/terraform_0.14.3_linux_amd64.zip
次に、ダウンロードファイルを解凍します。
$ sudo apt install zip -y
$ sudo unzip terraform_0.14.3_linux_amd64.zip
これにより、テラフォームファイルが出力されます。ファイルを/ usr / local / bin /に移動して、コマンドを実行します。
$ sudo mv terraform /usr/local/bin/
バージョンを確認する
$ terraform version
Terraformの使用方法
基本的な例でテラフォームの使い方を説明しましょう。
ec2インスタンスを起動してs3バケットを作成する
フォルダを作成して、その中のすべてを実行したいと思います。
$ mkdir aws && cd aws
作成する 構成ファイル 拡張子が「tf」のテラフォームの場合
vi configuration.tf
次に、次の情報を提供する必要があります。
- プロバイダー: Cloud プロバイダー、この場合はAWS
- アクセス、秘密鍵:AWSリソースへのアクセス
- リージョン:インフラストラクチャをプロビジョニングするリージョン。 私はオレゴンでそれをやっています。
コードの2番目のブロックで、AWSインスタンス、つまりamiを定義します(amazon EC2を確認してください) AMIロケーター )、インスタンスタイプ、およびタグ。
次のコードの最後の部分では、「bucket-launched-using-terrafrom-20210106」という名前のs3バケットが作成されます。 バケット名はAWS全体で一意である必要があることに注意してください。
次のコンテンツの貼り付けをファイルconfiguration.tfファイルにコピーします。 アクセス、秘密鍵、地域、独自のバケット名を提供します。
#Define keys and region
provider "aws" {
access_key = "YOUR-ACCESS-KEY"
secret_key = "YOUR-SECRET-KEY"
region = "us-west-2"
}
#Define ec2 instance
resource "aws_instance" "instance1" {
ami = "ami-089668cd321f3cf82"
instance_type = "t2.micro"
tags = {
Name = "ubuntu-20.04"
}
}
#Define s3 bucket
resource "aws_s3_bucket" "bucket1" {
bucket = "bucket-launched-using-terrafrom-20210106"
acl = "private" # or can be "public-read"
tags = {
Name = "Bucket"
Environment = "Production"
}
}
次に、コードを初期化、計画、および実行します。 テラフォームの初期化 必要な構成を行い、計画は実際に何が起こるかを見るようなものです。 また、構文エラーも検出されます。 そして、最後に適用するということは、コードをクラウドにデプロイすることを意味します。 次のコマンドを1つずつ実行していきましょう。
テラフォームを初期化すると、必要な構成が作成されます。 したがって、次のコマンドを実行します。
$ terraform init
計画は、実際に何が起こるかを見るようなものです。 また、構文エラーも検出されます。
$ terraform plan
適用することはあなたがすることを意味します 配備 クラウド内のコード。 コマンドを実行するだけで実行できます。
$ terraform apply
確認を求められます。 「yes」と入力してEnterキーを押すだけです。 数秒以内にインフラストラクチャの準備が整います。
これで、AWSコンソールにログインして、サービスec2に移動できます。 ec2が起動されていることがわかります。

同様に、s3に移動して、バケットを検索します。

インフラストラクチャを破壊する
あなたがしたい場合は 破壊する 上記のインフラストラクチャでは、「terraformdestroy」と入力するだけです。
$ terraform destroy
「はい」と言ってEnterキーを押すだけで確認を求められます。 上記で作成したec2インスタンスとs3バケットは、AWSアカウントから削除する必要があります。 AWSコンソールにログインして確認できます。
テラフォームを削除する
あなたがしたい場合は 削除する terraform / usr / local / bin /に保存されている「terraform」ファイルを削除するだけです。
$ sudo rm -f /usr/local/bin/terraform
また、terraformを初期化したディレクトリをクリーンアップすることもできます。 この場合、「aws」フォルダーのすべてのコンテンツを削除できます。
関連記事:
- Terraformを使用してS3にファイルをアップロードする方法
- AWSEC2をプロビジョニングする Cloud 実例
結論
この記事では、terraformのインストール、ec2インスタンスの起動、およびそれを使用したs3バケットの作成について説明しました。 また、テラフォームから作成されたインフラストラクチャを破壊する方法も示しました。