Slide 1

Slide 1 text

(なるべく)無料で始める Terraformのインフラ構築体験 東京エレクトロン デバイス株式会社 阪本 安紀典

Slide 2

Slide 2 text

自己紹介 名前:阪本安紀典 所属:東京エレクトロン デバイス株式会社 HashiCorp製品担当 社内クラウドサービス環境の 構築・運用・保守

Slide 3

Slide 3 text

動機 東 京 〜 入 門 か ら 上 級 ま で ! を コ ー ド で 構 築 し よ JAWS-UG IaC Night AWS う 〜 勉強会に参加しても出てくるTerraformは Community版が多い… JAWS-UG東京 IaC Night 〜入門から上級まで!AWSをコードで構築しよ う〜 に参加 •懇親会で直接会話させてもらった方々もほとんどHCP Terraformをご存知なかった ならば知ってもらおう!!

Slide 4

Slide 4 text

Terraformの種類 今回はこれ 無 償 有 償 提 供 形 態 セルフ ホスト クラウド (SaaS) < Free Plan > < Standard Plan> < Plus Plan> ※OSS版

Slide 5

Slide 5 text

• アカウント ➢HCP Terraform(Free plan) ➢GitHub (Free plan) ➢Amazon Web Service • コードサンプル ➢Terraform のチュートリアルにあるコードを使用 準備するもの

Slide 6

Slide 6 text

今回紹介するワークフロー 認証 GitHub Token GitHub App 認証 AccessKey ARNなど

Slide 7

Slide 7 text

HCP Terraformの構成 Organization Workspace Provider / TF Config ステートファイル Worker 変 数 ステートレポジトリ 変数レポジトリ GUI, VCSへのネイティブ 連携 Projects で Workspace を グルーピング アクセスキー等の変数、 ステートファイルも 暗号化された状態で 安全に保管 Worker が Terraform コマンドの 実行環境を提供 Projects Projects Workspace 各レポジトリ Worker Provider / TF Config ステート 変 数 Workspace 各レポジトリ Worker Provider / TF Config ステート 変 数 backend Workspace毎に 特定のGitレポジトリと 連携(VCS連携)

Slide 8

Slide 8 text

HCP Terraform上での変数の取り扱い • セットで登録 → Workspace(作業ディレクトリ)と関連付け • Sensitiveオプション

Slide 9

Slide 9 text

GitHubの登録 このリンクからGitHub側の設定画面を表示可能 1. GitHub側の画面と 2画面開きながら設定 2. Name, Client ID, Client Secret はGitHub側の画 面に表示されたものを コピペ

Slide 10

Slide 10 text

Workspaceの作成 ↓ 1. 連携するGitHubプロ ジェクトを選んで… 2. Workspace名などを 入力すれば作成完了

Slide 11

Slide 11 text

Plan / Apply • 実行トリガー ➢GUI ➢連携プロジェクトへのPush • デフォルトではApply手前で 承認が求められる • Apply後はWorkspaceに ステートファイルが 保存される →

Slide 12

Slide 12 text

通知 1. 標準で通知機能が搭載 2. イベントを絞り込んで 通知先を変えることも 可能

Slide 13

Slide 13 text

任せられるところは任せてみては? コードの編集履歴 Plan / Apply 実行履歴 ステートファイルの管理 変数・シークレットの管理 アクションに応じた通知機能 Terraformのバージョン管理

Slide 14

Slide 14 text

ブログ • (なるべく)無料で始めるTerraformのインフラ構築体験 (Level.1 初期設定とインフラのコード化 ※今後も記事は追加予定です。

Slide 15

Slide 15 text

おわり HCP Terraformが Terraformを利用する場合の新たな選択肢として 覚えていただいたけたら幸いです