LoginSignup
2
2

IaC入門のメモ:Terraformを使ってみよう(Lambda関数の設定をエクスポートしたい)

Last updated at Posted at 2023-06-22

はじめに

座学では知っている物の、実体験をもってCloudFormationのテンプレ化をしてこなかったので、既存リソースをテンプレート化する所までを、「やってみた!」系のメモ書きです。

IaCで、各種大御所に対応してそうなTerraform関連から習得するために、関連するソフトを触っていきます。

セットアップ:Terraform & Terraformer

terraformer公式サイト

image.png

1.terraform インストール
2.terraformerのExeファイルを取得
3.環境変数にパスを通す

が、公式サイト記載の手順です。

セットアップ:Terraformのダウンロード

image.png

プラットフォーム毎に分かれていて「Windows」タブからダウンロードできます。

特にインストーラ等はなくZipを解凍するとExeファイルが出てくるだけなので、環境変数にパスを通す。

セットアップ:Terraformerのダウンロード

image.png

対象のクラウド毎にExeを分けてくれています。

環境変数でパスが通ったか確認

terraform -v
terraformer --version

image.png

初期化前に事前準備(terraform init の実行前にやること)

Providerのバージョン確認

terraformは追加アドオン(Provider)をダウンロードして利用する仕組みなので、現行バージョンを確認してきます。
(AWS用のアドオンのバージョン確認)

参考に載せさせて頂いた記事が、非常に参考になりました。

image.png

初期化用のJSONファイル(main.tf)作成

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.4.0"
    }
  }

  required_version = "1.5.1"
}

provider "aws" {
  region  = "ap-northeast-1"
}

前節で確認してきた

  • Teraformのバージョン
  • Providerのバージョン
    は、セットアップ時のバージョンを確認して変更する。

初期化の実行

実行カレントに、main.tf(スクショの実行環境では、Work直下にmain.tfを保存)を置いて、コマンドを実行する。

terraform init

image.png

公式ドキュメント

image.png

対象としたいリソースは、この辺りです。

ポリシー用意

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "lambda:List*",
                "lambda:Get*"
            ],
            "Resource": "*"
        }
    ]
}

Lambdaの読み取り専用のポリシーをアクセスキーに割り当てて実行してみます。

エクスポート

terraformer import aws --resources=lambda --regions=ap-northeast-1

image.png

Workが実行カレントで、配下に generated - aws - lambda のフォルダ階層が作成されて、各種 tfファイルが出力されました。

参考

AWSの相談・お困りごとありましたら、、、

AWSの活用方法や、お困りごとの相談、随時、お仕事の受付しております。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2