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

BEELT AWSのリソースをコード管理した話

BEENOS
June 10, 2019
400

BEELT AWSのリソースをコード管理した話

BEENOS

June 10, 2019
Tweet

Transcript

  1. BEELT
    BEENOS LT会 #1 サービス基盤

    View full-size slide

  2. 本日の発表
    AWSのリソースをコード管理した話

    View full-size slide

  3. 資料の内容
    EC Tech Group #1 で発表した内容です

    View full-size slide

  4. 発表者
    氏名:加治 博章
    所属:技術推進開発部(通称:MAD)
    (Modern Architecture Development Devision)
    SNS:@Anorlondo448

    View full-size slide

  5. 弊社のサービス
    日本の通販サイトの商品を世界の皆様にお届けします。

    View full-size slide

  6. 利用しているAWSサービス

    View full-size slide

  7. 本日の発表
    AWSのリソースをコード管理した話

    View full-size slide

  8. ECサイトに求められること
    (インフラエンジニア視
    - サイトの安定性
    - 新規機能のリリーススピード

    View full-size slide

  9. コード管理しない場合
    - 構築スピードは早いかもしれない
    - 手順をどう管理するか?

    View full-size slide

  10. コード管理しない場合
    - 手順書やメモを正しくupdateし続けられるか?
    構築手順書_20xx.xlsx
    構築手順書(1).xlsx
    構築手順書_最新.xlsx

    View full-size slide

  11. コード管理しない場合
    - アップデートの早いクラウドで
    - 同じ構成のものを全く同じように作れるか?

    View full-size slide

  12. - 手順書でなく、共通の言語(コード)で管理
    - Githubで変更管理できる
    - 誰でも何度でも同じものが作れる
    コード管理(IaC)のメリット

    View full-size slide

  13. コード管理のメリット
    - 構成管理ツール(Git)でインフラの変更管理
    - 冪等性/再現性による環境の維持
    - 再利用性による新規環境の構築スピード

    View full-size slide

  14. - Infrastructure as Code
    - コンピュータリソースをコードで管理する
    コード管理(IaC)とは

    View full-size slide

  15. https://www.terraform.io/
    コード管理ツール

    View full-size slide

  16. 選んだ理由
    - 学習コストの低さ
    - plan/apply の2つで大抵できる
    - dry-runが簡単だった

    View full-size slide

  17. 宣言的記述
    - 「構築手順」でなく、
    - 「こうなって欲しい」という状態を書く

    View full-size slide

  18. 宣言的記述(例)
    resource "aws_vpc" "main" {
    cidr_block = "10.20.0.0/16"
    tags = {
    Name = "sample-vpc"
    }
    }

    View full-size slide

  19. -
    環境ごとの差異を無くせる
    -
    切り戻しが簡単
    メリット(安定性)

    View full-size slide

  20. メリット(スピード)
    -
    コードが蓄積される

    View full-size slide

  21. 静的サイト(HTTPS)の
    コンテンツを配置する環境は
    1時間未満で構築可能
    メリット(スピード)

    View full-size slide

  22. -
    サーバレスやコンテナ関連
    - Lambda/API Gateway
    - ECS/EKS
    課題①

    View full-size slide

  23. - CloudFormation
    - Apex
    - AWS SAM
    (Serverless Application Model)
    terraform以外のツール

    View full-size slide

  24. -
    複数人で開発する際のCI/CD
    課題②

    View full-size slide

  25. - 構成管理ツール(Git)でインフラの変更管理
    - 冪等性/再現性による環境の維持
    - 再利用性による新規環境の構築スピード
    コード管理で得られた効果

    View full-size slide

  26. 皆さん、
    どのようにリソース管理してますか?
    終わりに

    View full-size slide

  27. 次回
    - terraformで管理者権限をふっとばした話
    - 謎の「SLRManagement」にRDSのSGを消された話
    - etc...

    View full-size slide

  28. ご清聴有難うございました!

    View full-size slide