Slide 1

Slide 1 text

ディレクトリ構成を 考えてみる #Terraform meetup ONLINE 21.2.10 Taisei Ito

Slide 2

Slide 2 text

自己紹介 ● 伊藤 太斉(Taisei Ito) ○ @kaedemalu(Twitter, Github) ○ Future Corporation ■ Technology Innovation Group / DX Unit ○ コンサルタント&インフラエンジニア ○ #GCP # AWS #Terraform #Ansible ● Community ○ GCPUG Shonan Organizer ○ CloudNative Days Committee

Slide 3

Slide 3 text

私のこれまで 2019 2020 2021 1年3ヶ月 ● 既存プロジェクトの管理 ● 新規プロジェクトのリソース作成 ● テンプレートの作成

Slide 4

Slide 4 text

私のこれまで 2019 2020 2021 1年3ヶ月 5ヶ月

Slide 5

Slide 5 text

私のこれまで 2019 2020 2021 1年3ヶ月 5ヶ月 ● Terraformをメインとして構築 ● ディレクトリ設計 ○ Ansible、Packerも含む ● コードの規約

Slide 6

Slide 6 text

悩むディレクトリ構造

Slide 7

Slide 7 text

クラウドごと考えた設計が必要

Slide 8

Slide 8 text

なぜなら思想が違うから

Slide 9

Slide 9 text

お品書き ● GCPだったら ● AWSだったら ● まとめ ※Workspacesを利用する設計(Moduleは出てきません

Slide 10

Slide 10 text

GCP 1

Slide 11

Slide 11 text

GCPの構成 ● Organizationが最上位 ● その配下に ○ フォルダ ○ プロジェクト ● Organizationリソースも ある 引用:組織をGCPのリソース階層にマッピングする

Slide 12

Slide 12 text

ディレクトリ構成にするなら ● Organization ○ Workspacesを利用する ことのないリソース ● folder ○ 利用しないケースもある ○ Org、PJの紐付け ● Project ○ 環境断面をWorkspaces で切り替えできるコード 設計

Slide 13

Slide 13 text

考え方 ● ProjectでIAMまで管理する ○ グループなどはCloud Identityで管理 ● Organizationレベルでしか使えないサービスがある ○ ex.) Security Command Center ※Cloud Identity:Googleが提供するID管理サービス

Slide 14

Slide 14 text

AWS 2

Slide 15

Slide 15 text

AWSの構成 ● common ○ IAMなど環境に 関わらず使うもの ● service ○ 環境ごとのリソースを 配置する

Slide 16

Slide 16 text

考え方 ● アカウントの中で環境を切り替える工夫 ○ Workspacesでしっかり管理する(手で触らせない ● IAMなどは全体で利用するので共通として扱う

Slide 17

Slide 17 text

まとめ ● クラウド毎の思想は知ること大事 ● 似た環境、本番と検証などはできるだけWorkspaces ● 運用環境などは別途ディレクトリ切ることもあり ○ commonとは別のもの

Slide 18

Slide 18 text

フューチャーについて ● 大崎にあるITコンサル会社 ● 経営戦略から実装、運用までを全てこなす ● ベンダーニュートラルの考え方 ● 「ないものは作る」

Slide 19

Slide 19 text

こんな人がいます ● Real World HTTPの著者 ● Vue.jsのコミッター ● Apache Software Foundationのボードメンバー ● OSS「Vuls」の作成者

Slide 20

Slide 20 text

ブログも出しています

Slide 21

Slide 21 text

~ fin ~