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

PHPのheroku(ヘロク)へのデプロイ

有名なPaasのサービスであるherokuをちょっといじったのでその時のメモなどを。 Contents1 アカウント開設2 Heroku | Cloud Application Platform3 デ …

no image

基本的なSSHの設定

一般的なサーバーのSSH対策に関して。素のままでいるとあっという間に不正アクセスの餌食になります。 ちなみにサーバーとしてSSHの設定をいじる場合は[crayon-675aa41bd0f4475697 …

no image

nohup(sshログアウトしてもコマンドは続く)+ StickyBit(誰もで書き込み自由)

インフラ系の小ネタです Contents1 nohup2 Sticky Bit(スティッキービット) nohup sshでログインしている時に長時間かかるような処理を実行中、ログアウトするとそのコマン …

no image

環境構築の手法について

2019年9月現在、PHPは7系(最新は7.3)を使うことが一般的ですが、たまにレガシー案件などでPHP5系を使ったりすることはあります。 まあ7系でも7.0じゃ動かないとか色々な制約あるんですけど・ …

no image

追跡ブランチからローカルブランチを作る方法~ (svn→gitの移行など)

SVNで運用されていたプロジェクトをgitに移行する機会があったのでその時のメモなどを。 思ってたよりは楽だったかな・・・ Contents1 準備2 実際の移行(git svn clone)3 gi …

アーカイブ