skillup

技術ブログ

サーバー・ネットワーク

Terraform入門(シンプルなEC2の構築)

投稿日:

前回の記事でcloudformationとterraformの比較や紹介をしましたが、terraformがとっつきやすかったため、簡単なサンプルとメモを。

インストール

実行手順

基本知識

プロバイダー

使用されるサービスのことです。今回だとAWSやそのアカウント自体のことです。他にはAzureなど。

プロバイダーは下記のようなファイルや記述をいれておくか、awscliをインストールしておけば後述する terraform init コマンドで読み込ませることができます。

変数の値の設定

variable 〜で変数設定が可能です。

リソースの設定

実際に設定するサービスをresourceと定義します。

resource "aws_instance" "web"{} のようにリソースの種類、リソース名で定義をします。

具体的なリソースの種類の名前は公式ドキュメントを参考に。

https://www.terraform.io/docs/providers/aws/index.html

コマンド

terraform init

上記コマンドでawsのアカウントを読み込ませることが可能です。

そのあと下記のようにインフラのコードを記述し、 terraform plan で実行準備を行い、 terraform apply で反映させればOKです。

terraform plan

構文チェックと新しく追加された実行計画を表示します。

具体的には下記のような表示が出力されます。

terraform apply

実際に環境を構築します。上記だとAWS上でEC2のインスタンスを構築します。コンソール画面を見てますと実際にEC2が立ち上がるのがわかると思います。

他に terraform show 現段階のインフラ環境の確認や terraform destroy 環境の破壊などもあります。

次回以降さらなるVPCなどの環境構築などを書いていこうと思います。

参考リンク

Terraformでawsのec2インスタンスを立ち上げる

AWSでTerraformに入門

https://github.com/umanari145/IaC

-サーバー・ネットワーク
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

inotifyによる検知

以前、pynotifyというpythonの検知プログラムを書きましたが、元々はinotifyというLinux上のパッケージのライブラリが元になっています。 以前調べたリンク 監視検知処理に関して 実務 …

no image

PHPMailerに関して(PHPのメール送信)

PHPのMailライブラリに関して。 今までmb_send_mailとかで誤魔化してましたが、以下のようにライブラリで送るケースのサンプル。 https://github.com/umanari145 …

no image

ロードアベレージ監視シェルスクリプト

ロードアベレージの監視シェルスクリプトについて Contents1 使用コマンド1.1 uptime1.2 /proc/cpuinfo1.3 bc2 ソース3 他参考リンク 使用コマンド uptime …

no image

インメモリデータベース redis

インメモリデータベースのredis(レディース)について。 キャッシュとして以前はmemcachedを使っていましたが、いろいろ多機能ということでredisをちょっと触ってみようかと。 Content …

no image

監視検知処理に関して

実務で監視のスクリプトを書くことがあったんでメモしときます。 監視検知とは例えばあるディレクリに変化(ファイルの作成・更新・削除など)があった時に、それをトリガーにして何らかの処理を行うと言う仕組みに …