Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20210210 Terraform meetup ONLINE

02f940926caaa16d4657150117fc6438?s=47 Taisei Ito
February 10, 2021

20210210 Terraform meetup ONLINE

02f940926caaa16d4657150117fc6438?s=128

Taisei Ito

February 10, 2021
Tweet

Transcript

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

  2. 自己紹介 • 伊藤 太斉(Taisei Ito) ◦ @kaedemalu(Twitter, Github) ◦ Future

    Corporation ▪ Technology Innovation Group / DX Unit ◦ コンサルタント&インフラエンジニア ◦ #GCP # AWS #Terraform #Ansible • Community ◦ GCPUG Shonan Organizer ◦ CloudNative Days Committee
  3. 私のこれまで 2019 2020 2021 1年3ヶ月 • 既存プロジェクトの管理 • 新規プロジェクトのリソース作成 •

    テンプレートの作成
  4. 私のこれまで 2019 2020 2021 1年3ヶ月 5ヶ月

  5. 私のこれまで 2019 2020 2021 1年3ヶ月 5ヶ月 • Terraformをメインとして構築 • ディレクトリ設計

    ◦ Ansible、Packerも含む • コードの規約
  6. 悩むディレクトリ構造

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

  8. なぜなら思想が違うから

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

  10. GCP 1

  11. GCPの構成 • Organizationが最上位 • その配下に ◦ フォルダ ◦ プロジェクト •

    Organizationリソースも ある 引用:組織をGCPのリソース階層にマッピングする
  12. ディレクトリ構成にするなら • Organization ◦ Workspacesを利用する ことのないリソース • folder ◦ 利用しないケースもある

    ◦ Org、PJの紐付け • Project ◦ 環境断面をWorkspaces で切り替えできるコード 設計
  13. 考え方 • ProjectでIAMまで管理する ◦ グループなどはCloud Identityで管理 • Organizationレベルでしか使えないサービスがある ◦ ex.)

    Security Command Center ※Cloud Identity:Googleが提供するID管理サービス
  14. AWS 2

  15. AWSの構成 • common ◦ IAMなど環境に 関わらず使うもの • service ◦ 環境ごとのリソースを

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

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

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

  19. こんな人がいます • Real World HTTPの著者 • Vue.jsのコミッター • Apache Software

    Foundationのボードメンバー • OSS「Vuls」の作成者
  20. ブログも出しています

  21. ~ fin ~