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

20210122_AlibabaCloudパートナーサミット_Terraform_Cloudを活用するマルチクラウドオートメーション.pdf

 20210122_AlibabaCloudパートナーサミット_Terraform_Cloudを活用するマルチクラウドオートメーション.pdf

2e2c49f6f3fa33b8f5aad5841774c211?s=128

nezumisannn

January 22, 2021
Tweet

More Decks by nezumisannn

Other Decks in Technology

Transcript

  1. Terraform Cloudを活用する マルチクラウドオートメーション Alibaba Cloud パートナーサミット 2021/01/22 株式会社ビヨンド 寺岡 佑樹

  2. 自己紹介 resource “my_profile” “nezumisannn” { name = “Yuki.Teraoka” nickname =

    “ねずみさん家。” company = “beyond Co., Ltd.” job = “Site Reliability Engineer” twitter = “@yktr_sre” skills = [“Terraform”,”Packer”] }
  3. 会社紹介 社名   株式会社ビヨンド 代表   原岡 昌寛 所在地  大阪オフィス   大阪市浪速区湊町 2-2-45 オンテックス難波ビル 10F      横浜オフィス   横浜市中区本町 6-52 本町アンバービル 3-D

         四国オフィス   徳島県三好市池田町マチ 2475(旧政海旅館内)      カナダオフィス   Venture X Canada, 4230 Sherwoodtowne Boulevard, Mississauga, Ontario L4Z 2G6 設立   2007年4月4日 資本金  9,000,000円 従業員  39名 所属   CESA(一般財団法人コンピュータエンターテインメント協会)      日本MSP協会
  4. サービス概要 クラウド/サーバ事業 システム開発事業 WEBサービス事業 設計/構築 + 運用保守(24365の有人監視) Alibaba Cloud /

    AWS などのマルチクラウド サーバーサイド開発・ゲーム API開発 WEBシステム開発 予約システム「エジソン」 WEBサイト監視システム「アプミル」
  5. マルチクラウド is 何? • パブリッククラウドにおける構築アプローチの一つ • 複数のクラウドベンダーが提供するサービスを組み合わせて構築する • 1クラウドサービスに依存しない最適な構成を目指すことが可能

  6. なぜやるのか • コスト/性能の最適化 ◦ クラウドサービスそれぞれの利用コスト /性能を比較しながら導入できる • DR対策 ◦ クラウド自体の障害への備え

    • クラウドロックインの回避 ◦ 特定のクラウドに依存しない構成を検討できる • 最適なサービスの利用 ◦ 利用したいものを幅広く選定できる
  7. アプローチ例 • 日本向けサービスはAWSを利用 • 中国向けサービスにAlibaba Cloudを利用 ◦ 日中間のネットワーク接続 ◦ ICPライセンス関連

  8. 見えてくる課題感 • 構成の複雑化 ◦ 構成が複数クラウドに跨がるため運用負荷があがる • 学習コストの増加 ◦ 複数クラウドを理解していなければ運用が破綻する •

    標準化が難しい ◦ クラウドごとに開発・テスト・デプロイ手法が変わってしまう
  9. 課題に対する対応策 • 構成の複雑化 ◦ Terraformを用いて統一された言語でインフラを構成管理する (IaC) • 学習コストの増加 ◦ 気合いでなんとかする

    • 標準化が難しい ◦ Terraform Cloudでデプロイフローを共通化する
  10. Terraform • Hashicorpによって開発されているツール • マルチプロバイダー ◦ Alibaba Cloud / AWS

    / GCP / Azureなど数々のクラウドサービスの構築を自動化できる ◦ HCL(Hashicorp Configuration Language)と呼ばれる独自言語で記述する • Alibaba Cloud向けのドキュメントやモジュールも豊富 ◦ https://jp.alibabacloud.com/help/doc-detail/91285.htm# ◦ https://github.com/terraform-alicloud-modules
  11. Terraform Cloud • チームでのTerraformの実行を補助するアプリケーション • アプリケーション開発と同じくインフラにもCI/CDのフローを構築できる

  12. Terraform 記述例 • Alibaba CloudもAWSも構文は同じ • Terraformのみ習得すればどちらのクラウドサービスも操作できる resource "aws_instance" "instance"

    { ami = "ami-0f310fced6141e627" instance_type = "m5.large" subnet_id = aws_subnet.subnet.id vpc_security_group_ids = [aws_security_group.security_group.id] root_block_device { volume_type = "gp2" volume_size = 40 } tags = { Name = "test-instance" } } resource "alicloud_instance" "instance" { image_id = "ubuntu_18_04_64_20G_alibase_20190624.vhd" instance_name = "test-instance" instance_type = "ecs.n4.large" system_disk_category = "cloud_efficiency" system_disk_size = 40 vswitch_id = alicloud_vswitch.vswitch.id security_groups = [alicloud_security_group.security_group.id] }
  13. Terraform Cloud 活用例 • Terraformの実行環境を提供(ローカルでの手動デプロイを制限できる) • ディレクトリ単位でコードの変更を検知できる(Automatic Run Triggering) •

    Terraformのモジュールを管理するレジストリを利用できる • tfstateの管理ができる Terraform CloudでGitOpsを使用したCI/CDパイプラインを構築する https://beyondjapan.com/blog/2020/04/terraform-cloud-gitops-cicd/
  14. まとめ • マルチクラウドはメリットもあるがデメリットも存在する • 複数のクラウド環境に対する構築及び運用を一元化したほうが良い • Terraform + Terraform Cloudを利用しよう

  15. 終わり