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

20210122_AlibabaCloudパートナーサミット_Terraform_Cloud...

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

nezumisannn

January 22, 2021
Tweet

More Decks by nezumisannn

Other Decks in Technology

Transcript

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

    “ねずみさん家。” company = “beyond Co., Ltd.” job = “Site Reliability Engineer” twitter = “@yktr_sre” skills = [“Terraform”,”Packer”] }
  2. 会社紹介 社名   株式会社ビヨンド 代表   原岡 昌寛 所在地  大阪オフィス   大阪市浪速区湊町 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協会
  3. サービス概要 クラウド/サーバ事業 システム開発事業 WEBサービス事業 設計/構築 + 運用保守(24365の有人監視) Alibaba Cloud /

    AWS などのマルチクラウド サーバーサイド開発・ゲーム API開発 WEBシステム開発 予約システム「エジソン」 WEBサイト監視システム「アプミル」
  4. なぜやるのか • コスト/性能の最適化 ◦ クラウドサービスそれぞれの利用コスト /性能を比較しながら導入できる • DR対策 ◦ クラウド自体の障害への備え

    • クラウドロックインの回避 ◦ 特定のクラウドに依存しない構成を検討できる • 最適なサービスの利用 ◦ 利用したいものを幅広く選定できる
  5. 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
  6. 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] }
  7. Terraform Cloud 活用例 • Terraformの実行環境を提供(ローカルでの手動デプロイを制限できる) • ディレクトリ単位でコードの変更を検知できる(Automatic Run Triggering) •

    Terraformのモジュールを管理するレジストリを利用できる • tfstateの管理ができる Terraform CloudでGitOpsを使用したCI/CDパイプラインを構築する https://beyondjapan.com/blog/2020/04/terraform-cloud-gitops-cicd/