terraform構築手順〜EC2編〜 - 株式会社CoLabMix

terraform構築手順〜EC2編〜

開発部の「エイジ」です。

今回はterraformを使ってEC2を構築する手順を書きたいと思います。

 

terraformとは

公式

HashiCorpが手がける、インフラ構築や設定をコード(テンプレートファイル)を使って自動化するためのツールであり、 Infrastructure as Code を実現するOSSです。

 

terraformを使用することのメリット

AWS等のGUIで設定せずコードで一気に作成ができ、また消去も再利用もすることができ大変便利です。
まずはTerraformのインストールから行います。

 

Terraformインストール

 

Homebrew でインストールします。

Terraformのバージョン確認


 

AWSの環境構築

今回はAWS(EC2)をするにあたりiamユーザーを作ります。

IAM ユーザーを作る

AWS CLIを使うのでプログラムによるアクセスにも☑️してください。

管理権限をAdministratorAccessにしてください。

無事作成できたら次にAWS CLIをインストールします。

AWS CLI

AWS CLIの設定

先ほど制作したiamユーザーの情報を登録します。


一つづづ先ほど作成したiamユーザーから設定していきます。

 

Terraformを作成する。

 

これからEC2作成までを書いていきます。

まずはTerraformのコマンドを記します。

まずはTerraformを書き込むファイルを作成します。

※Terraformは拡張子が.tfのファイルを自動的にテンプレートとして認識してくれます。

 

下記のようにまずはプロバイダーとVPCを宣言します。

 

コマンドを実行します。


実際にAWS上で確かめると作成されています。

このようにAWS上からGUI操作せずにコードを書いてインフラを構築することができます。

このように宣言するresourceを指定して様々なものが作成されます。

それではEC2作成まで書き記します。

 

インスタンスのkey_nameについて

GUIで作るときはインスタンス作成時にsshキーを新規作成や既存のキーを使いAWSにアクセスしますが、
terraformで作成する場合は.tfvarsファイルから参照して公開鍵をインスタンスのkey_nameに貼り付けます。
私はterraform-awsという名前で鍵を作成しました。

terraform.tfvarsに外部ファイルの参照先を指定します.tfvarsもterraformコマンド実行時に読み込みがされます。

さらに.tfvarsはgithubに挙げないとこが大事です

これでTerraformコマンドを実行します。

 

これで無事EC2を作ることができました。

実際にsshログインしてみましょう。

参考

以上になります。お読みいただきありがとうございました。

 

 

このブログは株式会社CoLabMixによる技術ブログです。

GCP、AWSなどでのインフラ構築・運用や、クローリング・分析・検索などを主体とした開発を行なっています。

Ruby on RailsやDjango、Pythonなどの開発依頼などお気軽にお声がけください。

開発パートナーを増やしたいという企業と積極的に繋がっていきたいです。

お問い合わせやご依頼・ご相談など

    関連記事

    1. RedHatLinux8でのxfsdumpを使ったRDXへのフルバック…

    2. AWSのCloudFrontに署名付きURLを使って有効期限付きのWe…

    3. AWS Lambda でS3にファイルがアップロードされたのを検知する…

    4. Elasticsearch 6 を使ったデータ検証 その6( Aggr…

    5. Scrapyでデータ取得でクローリングで取得したURLから検索する(S…

    6. Tableau Hyper API使用例(CSVからHyperへ変換)…