Terraformは、HashiCorpによって開発されたコードプラットフォームとしてのインフラストラクチャです。 HashiCorp構成言語(HCL)に従って人間が読める形式でコードを記述し、それをデプロイしてクラウドのインフラストラクチャを取得するだけです。 Terraformは、Google、Amazon、Alibabaなどの多くのクラウドプロバイダーでサポートされています。
この記事では、インストールします terraformの最新バージョン Ubuntuで。 Ubuntu 20.04でテラフォームのインストールを実行していますが、すべてのLinuxプラットフォームで同じ手順を実行できます。
また、テラフォームの使用の方法も学びましょう 簡単な例では、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
次に、次の情報を提供する必要があります。
- プロバイダー:クラウドプロバイダー、この場合はAWS
- アクセス、シークレットキー:AWSリソースへのアクセス
- 地域:インフラストラクチャをプロビジョニングする地域。オレゴンでやっています。
コードの2番目のブロックで、AWSインスタンス、つまりami(amazon EC2 AMI Locatorを確認)、インスタンスタイプ、タグを定義します。
次のコードの最後の部分では、「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クラウドインスタンスをプロビジョニングする
結論
この記事では、terraformのインストール、ec2インスタンスの起動、およびそれを使用したs3バケットの作成について説明しました。また、テラフォームから作成されたインフラストラクチャを破壊することも示しました。