GNU/Linux >> Linux の 問題 >  >> Linux

Terraformとは何ですか?AWSEC2にインストールして使用する方法

Terraformは、「Infrastructure as Code(IaC)」ツールです。安全で繰り返し可能なインフラストラクチャを構築、管理、変更するために使用されます 方法。

これは、人間が読める自動展開のために、HashiCorp構成言語(HCL)と呼ばれる構成言語で環境を管理するために使用されます。

Terraformを使用して、AWS、GCPなどの複数のクラウド上のインフラストラクチャを管理できます。 Terraformは、リソース構成の信頼できる情報源である状態ファイルを作成します。これは、リソースが作成されるたびに、この状態ファイルが作成中のリソースの状態で更新されることを意味します。

この記事では、UbuntuにTerraformをインストールし、それを使用してAWSクラウドにVPCを作成する手順を説明します。

Terraformの詳細については、ここをクリックしてください。

前提条件

  1. AWSアカウント(アカウントがない場合は作成します)。
  2. EC2インスタンス(EC2インスタンスの作成方法については、ここをクリックしてください)
  3. サーバーへのルートアクセス。
  4. AWSIAMユーザーの「access_key」と「secret_key」。 (AWSで「access_key」と「secret_key」を使用してIAMユーザーを作成する方法については、ここをクリックしてください)

何をするか

  1. Terraformをインストールする
  2. Terraform構成ファイルを作成します。
  3. Terraform構成ファイルを使用してVPCを作成する
  4. Terraformを使用して作成されたVPCを削除します

Terraformをインストール

Terraformのインストールは非常に簡単で簡単です。ここから、システムに適したパッケージを見つけることができます。

ファイルをダウンロードする前に、次のコマンドを使用して、システムで使用できない場合は「wget」および「unzip」パッケージをインストールしましょう。

apt-get update -y
apt-get install wget unzip -y

パッケージをダウンロードできる「/opt/」の下に専用のディレクトリ「terraform」を作成しましょう

cd / opt /
mkdir terraform
cd terraform /

「wget」コマンドを使用してterraformパッケージをダウンロードし、解凍します。

wget https://releases.hashicorp.com/terraform/0.12.18/terraform_0.12.18_linux_amd64.zip
unzip terraform_0.12.18_linux_amd64.zip
ls -lt

ダウンロードしたパッケージを解凍すると、バイナリの「テラフォーム」が表示されます。このバイナリを/usr/ local /bin/に移動します。

インストールが成功したかどうかを確認するには、terraformコマンドを使用しますが、バージョンを確認します。

mv terraform / usr / local / bin /
terraform -v

Terraform構成ファイルの書き込み

テラフォーム構成ファイルを作成できる専用ディレクトリを作成します

mkdir terraform
cd terraform /

任意のエディターを使用し、次の構成をコピーして貼り付けて、variables.tf、terraform.tfvars、およびmain.tfを作成します

AWSへのVPCの作成を担当する「main.tf」を作成します。次の構成では、VPC、インターネットゲートウェイ、ルートテーブル、アベイラビリティーゾーン、セキュリティグループが作成されます。このmain.tfは、variables.tfとterraform.tfvarsから変数の値を読み取ります。

vim main.tf

provider "aws" {
      region     = "${var.region}"
      access_key = "${var.access_key}"
      secret_key = "${var.secret_key}"
}
resource "aws_vpc" "vpc" {
     cidr_block = "10.0.0.0/16"
}
resource "aws_internet_gateway" "gateway" {
     vpc_id = "${aws_vpc.vpc.id}"
}
resource "aws_route" "route" {
     route_table_id         = "${aws_vpc.vpc.main_route_table_id}"
     destination_cidr_block = "0.0.0.0/0"
     gateway_id             = "${aws_internet_gateway.gateway.id}"
}
data "aws_availability_zones" "available" {}
resource "aws_subnet" "main" {
    count                   = "${length(data.aws_availability_zones.available.names)}"
    vpc_id                  = "${aws_vpc.vpc.id}"
    cidr_block              = "10.0.${count.index}.0/24"
    map_public_ip_on_launch = true
    availability_zone       = "${element(data.aws_availability_zones.available.names, count.index)}"
}
resource "aws_security_group" "default" {
     name        = "http-https-allow"
     description = "Allow incoming HTTP and HTTPS and Connections"
     vpc_id      = "${aws_vpc.vpc.id}"
     ingress {
         from_port = 80
         to_port = 80
         protocol = "tcp"
         cidr_blocks = ["0.0.0.0/0"]
    }
     ingress {
         from_port = 443
         to_port = 443
         protocol = "tcp"
         cidr_blocks = ["0.0.0.0/0"]
    }
}

変数の宣言を含む「variables.tf」を作成します。

vim変数.tf

variable "access_key" {
     description = "Access key to AWS console"
}
variable "secret_key" {
     description = "Secret key to AWS console"
}
variable "region" {
     description = "Region of AWS VPC"
}

上記のファイルで定義された変数の定義を含む「terraform.tfvars」を作成します。

vim terraform.tfvars

region = "eu-west-3"
access_key = "AKIAQ6GAIA5XDX32PVJ6"
secret_key = "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"

これで、3つのファイル、つまり、variables.tf、terraform.tfvars、main.tfが必要になります

Terraform構成ファイルを使用してVPCを作成する

最初に使用するコマンドは「terraforminit」です。このコマンドは、構成内で使用されるプロバイダーのプラグインをダウンロードしてインストールします。私たちの場合はawsです。

terraform init

使用する2番目のコマンドは「terraformplan」です。このコマンドは、インフラストラクチャで行われる変更を確認するために使用されます。

テラフォームプラン

'terraform apply'コマンドは、main.tfファイルに記載されているawsにリソースを作成します。リソースを作成するための入力を入力するように求められます。

テラフォームが適用されます

AWS VPCコンソールに移動して、VPCが作成されているかどうかを確認できます。

Terraformを使用して作成されたVPCを削除します

main.tfファイルに記載されている構成を使用して作成した必要なリソースがさらにわかっている場合は、「terraformdestroy」コマンドを使用してそれらのリソースをすべて削除できます。

>

テラフォーム破壊

結論

この記事では、Terraformをインストールする手順を説明しました。また、VPCを作成するために必要な構成と、それに関連する他のいくつかのリソースも確認しました。これで、変数の宣言と定義にも精通しました。


Linux
  1. LinuxでのChownコマンドとは何ですか?その使用方法

  2. cURLコマンドとは何ですか?その使用方法は?

  3. LinuxでFlatpakをインストールして使用する方法

  1. chroot jailとは何ですか?その使用方法は?

  2. LinuxでTracerouteをインストールして使用する方法

  3. Build-Essential-Ubuntu とは何ですか? インストール方法と使用方法は?

  1. KaliLinuxにtelnetをインストールして使用する方法

  2. CentOS8にTerraformをインストールして使用する方法

  3. Terraformを使用してAWSEC2インスタンスを起動する方法