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

OSキャッシュの仕組み

大規模サービス技術入門のつづきです。 主にOSのキャッシュメモリについてです。 メモリとディスクの速度差は10万倍~100万倍 いかにディスクへのアクセスを減らすかがポイント OSは各プロセスにメモリ …

no image

heroku scheduler(cron的なもの)

herokuでアプリをデプロイしたあと定期的に走らせたいバッチなどがあるとき、cronを使うことを考えると思いますが、herokuではheroku Schedulerというアプリを使います。 hero …

no image

シェルスクリプトでのsshログインとメール送信

久々にシェルスクリプトをやったんでその復習を。 応用範囲は結構広そうです。 Contents1 ファイルの読みこみ方2 関数の定義、使い方3 SSHログイン4 ssh鍵認証つきのログイン5 メール送信 …

no image

mod_rewriteについて

本日はapacheのmod_rewriteについて。 例えばget句に郵便番号を付けて、住所を出力するWEBプログラムがあるとします。 この場合、そのままだと[crayon-61763f6374249 …

no image

scpコマンドを使ったサーバー間のファイルのやり取り

あるサーバーのファイルを別サーバーにコピーするとき、大昔はFTPを使っていましたが、現在FTPサーバー自体を立てることがあまりないため、SSHを使ったSCPコマンドでのファイル点を使いました。 Con …