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

yumのリポジトリについて

CentOSでは様々なパッケージが用意されていますが、標準で使えるもの以外にもさまざまなリポジトリがあります。 Contents1 リポジトリ一覧2 有効、無効や指定してのインストールについて リポジ …

no image

シンボリックリンクについて

えー見ることは多かったんですが、自分で使うことはなかったシンボリックリンクについて。 Contents1 シンボリックとは?2 使い方 シンボリックとは? 簡単にいうとショートカットみたいなものです。 …

no image

HTTPヘッダ・インジェクション+オープンリダイレクタ

Contents1 HTTPヘッダ・インジェクションとは?1.1 被害(ほぼクロスサイト・スクリプティング攻撃による脅威と同じ脅威)1.2 対策2 オープンリダイレクタとは?2.1 対策 HTTPヘッ …

no image

SQSのキュー登録とworkコマンドに関して

SQSでのキューの登録に関して以前やりましたが、再度扱うことがあったので、調査を。 リンク SQSについて Queueの登録と実際の処理に関して Contents1 キューの登録2 キューの監視 キュ …

no image

FastCGIに関して

nginxについて学習してきましたが、今回はphp-fpmについてです。 Contents1 そもそもの構成2 CGIのメカニズム3 FastCGI4 nginxでの設定に関して4.1 fastcgi …

アーカイブ