Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発表資料)

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio

Eche un vistazo a continuación

1 de 38 Anuncio

AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発表資料)

AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~
(HashiTalks: Japan 発表資料)

2022年8月25日(木)

NTTデータ
第一金融事業本部 郵政・政策金融事業部
服部 洋明

AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~
(HashiTalks: Japan 発表資料)

2022年8月25日(木)

NTTデータ
第一金融事業本部 郵政・政策金融事業部
服部 洋明

Anuncio
Anuncio

Más Contenido Relacionado

Similares a AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発表資料) (20)

Más de NTT DATA Technology & Innovation (20)

Anuncio

Más reciente (20)

AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発表資料)

  1. 1. © 2022 NTT DATA Corporation © 2022 NTT DATA Corporation AWSにおけるIaCを活かしたTerraformの使い方2選! 〜循環型IaCとマルチクラウドチックなDR環境〜 2022.8.25 NTT DATA Corporation Hiroaki Hattori
  2. 2. © 2022 NTT DATA Corporation 2 自己紹介 - profile - 名前 服部 洋明 - Hiroaki Hattori - 会社 株式会社NTTデータ - NTT DATA Corporation - 肩書 インフラエンジニア 趣味 サウナ、ゴルフ その他 金融機関向けシステムを中心とし、LinuxやWindowsServerなどサーバサイドの開発を経験。近年で は、AWSとDevopsに興味があり、CI/CDや基盤自動化に関する新たな手法を検討している。
  3. 3. © 2022 NTT DATA Corporation © 2022 NTT DATA Corporation 3 導入
  4. 4. © 2022 NTT DATA Corporation 4 セッションテーマについて AWSにおけるIaCを活かしたTerraformの使い方2選! 〜循環型IaCとマルチクラウドチックなDR環境〜 ①マルチクラウドチックなDR環境 ⇨マルチクラウドでは(多分)無いけど、マルチクラウドっぽいDR環境を用意する。 ②循環型IaC ⇨プロビジョンニングでリソース適用する手段に加えて新たな策を用意する。
  5. 5. © 2022 NTT DATA Corporation 5 本日のお話について Terraformの使い方の例を2つ紹介するもの。 環境はタイトル通り、AWSとTerraformが主です。 マルチクラウドをちょっとだけ意識 している人 ターゲット IaC使っているけど、 都度のリソースのプロビジョニング にひっかかりを感じている人 お話すること マルチクラウドチックなDR環境 プロビジョンングのひっかかりに向 けた使い方循環型IaC IaCでNTTデータのあるプロジェク トが陥ったこと お話しないこと ツールそのものの細かな紹介 具体的なソースコード
  6. 6. © 2022 NTT DATA Corporation © 2022 NTT DATA Corporation 6 マルチクラウドチックな環境
  7. 7. © 2022 NTT DATA Corporation 7 マルチクラウドで考えること ベストなリソースを選定するため、併用環境として考えられることが多い。 ・Aクラウドには〇〇に強いリソースがある。また、■■に強いリソースはBクラウ ドにある。だから組み合わせてマルチクラウドとする。 ・Aクラウドが利用不可となったときのために、Bクラウドを両現用やDR環境とし て使う。 Aクラウド Bクラウド 組み合わせ Aクラウド Bクラウド DR 認証基盤に障害が起き、 YoutubeやDiscordが 使えない。
  8. 8. © 2022 NTT DATA Corporation 8 マルチクラウドチックで考えること クラウド2つ使うので利用料に懸念があるというデメリットがある 理想的なマルチクラウドレベルまで冗長化できていないけど、 利用料を最小限にすることに舵をきってマルチクラウドっぽいことをする。 Aクラウド Bクラウド DR DNS フェールオーバー サービス
  9. 9. © 2022 NTT DATA Corporation マルチクラウドチックを考える GCPとAWSでマルチクラウドを行い、DNSはRoute53の構成を考える ECS Service Container Container Container Registory ELB DR
  10. 10. © 2022 NTT DATA Corporation 10 Terraformが活きる Terraformを使うわけだが、Cloudformationと比較する。 Terraform cfnとかのマネージド構成管理 環境 プロビショニング用の環境とし てサーバなどを用意 マネージド環境内で管理 特徴 適用環境(サーバなど)がいる ⇨適用内容をハンドリングでき るして、サービスを決めれる。 リポジトリの内容をクラウド側 管理の環境で適用する。
  11. 11. © 2022 NTT DATA Corporation Terraformを活かす GCPとAWSでTerraformだからこそ実現するマルチクラウドチックなDR環境をつくる ECS Service Container Container Container Registory ELB DR
  12. 12. © 2022 NTT DATA Corporation Terraformを活かす GCPとAWSでTerraformだからこそ実現するマルチクラウドチックなDR環境をつくる ECS Service Container Container Container Registory ELB DR DNSレコードをGCP 向けもDR向けもIaC化し ておく リソース一式をIaC化し て、適用しないでおく
  13. 13. © 2022 NTT DATA Corporation Terraformを活かす GCP向けがヘルスチェックNGのイベントがたったら、DR環境の出番!! GCP向けDNSレコード.tf AWS向けDNSレコード.tf ELBやECSなどのリソース.tf 通常時 GCP向けDNSレコード.tf AWS向けDNSレコード.tf ELBやECSなどのリソース.tf DR時 Terraform適用サーバ内で上書きして適用 適用しない GCP向け ヘルスチェック がNGになったら Terraform適用サーバ内で上書きして適用 適用
  14. 14. © 2022 NTT DATA Corporation Terraformを活かしてマルチクラウドチックに 眠っていたAWS環境がDR環境として起き上がるパイロットライト方式 ECS Service Container Container Container Registory ALB DR 無かったAWSリソースが作成され 受付可能となる。
  15. 15. © 2022 NTT DATA Corporation 15 マルチクラウドチックな環境 ヘルスチェックから起動までのAWSのイベントの動きはEventBridgeを使う Us-east-1 リージョン(バージニア) Ap-northeast-1 リージョン(東京) EventBridge Default event bus Event Rule CloudWatch Route53 EventBridge Default event bus Event Rule custom event bus SNS CodeBuild ヘルス チェック NG イベント発行 イベント転送 (リージョン跨ぎ) サービス実行 プロビジョニング 実行
  16. 16. © 2022 NTT DATA Corporation 16 マルチクラウドチックな環境 重要なコスト効果を考える サービス名 課金概要 スナップ ショット パイロット ライト スタンバイ系 ECS(fargate) 起動中のvcpuと使用量 ✔︎ CodeBuild ビルド中のインスタンス料金 ✔︎ CodeCommit 5GB以内無料 CodePipeline パイプライン1つまで無料 ECR プライベート500MBまで無料 EventBridge デフォルトイベント無料 カスタムイベントに1ドル ✔︎ CloudWatch 5GB以内無料 Route53 ヘルスチェックで有料 ✔︎✔︎ ALB 起動時間 ✔︎ スナップショットより固定1ドル/月+停止回数×1ドル高く、スタンバイ系より180ドル安い。
  17. 17. © 2022 NTT DATA Corporation 17 マルチクラウドチックな環境 どのような環境ならマルチクラウドチックにするのが有効なのか。 今回のパターンだと懸念されるのは以下。 ・クラウド間のDBのレプリケーションがない。 ・参照制約があるシステムでは向かない。 なので、以下のようなパターンだと有効? ・利用者へのレスポンスはとりあえず受け付けて、他との整合性チェックに関わる 部分はあとから処理する
  18. 18. © 2022 NTT DATA Corporation 18 マルチクラウドチックな環境 まとめ やはり台頭するマネージド構成管理ではない仕組みを活かすことでできる仕組み。 どこまでリッチなアーキテクチャにするかにもよるが、今回はコストを可能な限り 抑えた方法をご紹介。
  19. 19. © 2022 NTT DATA Corporation © 2022 NTT DATA Corporation 19 循環型IaC
  20. 20. © 2022 NTT DATA Corporation 20 IaC環境 IaC(infrastructure as Code)とは、手動のプロセスではなく、コードを使用してインフラストラクチャの管理 とプロビジョニングを行うこと Red Hat 「IaCとは」https://www.redhat.com/ja/topics/automation/what-is-infrastructure-as-code-iac Amazon VPC Public Subnet Private Subnet プロビジョニング
  21. 21. © 2022 NTT DATA Corporation 21 IaC環境 メリット・デメリット コスト削減 品質向上 習得コスト 簡単な設定でも 時間がかかる場合がある メリット デメリット
  22. 22. © 2022 NTT DATA Corporation 22 IaC環境 IaCによるプロビジョニングと、マネジメントコンソールによるいわば手動作成がある IaC Amazon VPC Public Subnet Private Subnet プロビジョニング 手動作成(GUI)
  23. 23. © 2022 NTT DATA Corporation 23 IaC環境 リソースの設定把握 IaC 手動作成(GUI) 種類別で参照する必要がある コードを見れば全体が一発 Route53 VPC EC2
  24. 24. © 2022 NTT DATA Corporation 24 IaC環境 似たリソースの複製 IaC 手動作成(GUI) いくら似ていても一つ一つ作成 コピペで作成できる EC2_1 EC2_2 EC2_3
  25. 25. © 2022 NTT DATA Corporation 25 IaC環境 リソースの作成・設定追加 IaC 手動作成(GUI) Amazon VPC Public Subnet Private Subnet プロビジョニング Amazon VPC Public Subnet Private Subnet 適用 コード化に時間がかかる GUIで比較的簡単に作れる
  26. 26. © 2022 NTT DATA Corporation 26 IaC環境 IaCと手動作成(GUI)の比較まとめ IaC 手動作成(GUI) いくら似ていても一つ一つ作成 コピペで作成できる 種類別で参照する必要がある コードを見れば全体が一発 コード化に時間がかかる GUIで比較的簡単に作れる 設定値把握 複製 作成・設定追加
  27. 27. © 2022 NTT DATA Corporation 27 IaC環境 IaCと手動作成(GUI) IaC 手動作成(GUI) いくら似ていても一つ一つ作成 コピペで作成できる 種類別で参照する必要がある コードを見れば全体が一発 コード化に時間がかかる GUIで比較的簡単に作れる 設定値把握 複製 作成・設定追加
  28. 28. © 2022 NTT DATA Corporation 28 NTTデータのあるシステムが陥ったこと インシデントレスポンスの事例 溜まったノウハウ 手順書 15年続くシステム プロビジョニング システム更改によって 導入したIaC
  29. 29. © 2022 NTT DATA Corporation 29 NTTデータのあるシステムが陥ったこと インシデントレスポンスの事例 溜まったノウハウ 手順書 IaC管理 15年続くシステム システム更改によって 導入したIaC
  30. 30. © 2022 NTT DATA Corporation 30 NTTデータのあるシステムが陥ったこと インシデントレスポンスの事例 溜まったノウハウ 手順書 IaC管理 15年続くシステム システム更改によって 導入したIaC !インシデント! コミュニティA コミュニティB コミュニティC
  31. 31. © 2022 NTT DATA Corporation 31 NTTデータのあるシステムが陥ったこと インシデントレスポンスの事例 溜まったノウハウ 手順書 IaC管理 15年続くシステム システム更改によって 導入したIaC !インシデント! コミュニティA コミュニティB コミュニティC !インシデント! !インシデント! このままいくと
  32. 32. © 2022 NTT DATA Corporation 32 NTTデータのあるシステムが陥ったこと インシデントレスポンスの事例 溜まったノウハウ 手順書 15年続くシステム コミュニティA コミュニティB コミュニティC IaCで作れるけど、作った後に対応できる状況になっていない
  33. 33. © 2022 NTT DATA Corporation 33 循環型IaC IaCを循環型にして手軽に作れる選択肢を残してあげる Amazon VPC Public Subnet Private Subnet プロビジョニング Amazon VPC Public Subnet Private Subnet 適用
  34. 34. © 2022 NTT DATA Corporation 34 循環型IaC IaCを循環型にして手軽に作れる選択肢を残してあげる Amazon VPC Public Subnet Private Subnet プロビジョニング Amazon VPC Public Subnet Private Subnet 適用 循環型IaCの仕組み IaCに取り込み 手順が楽な時は 手順で! プロビジョニングが楽な時は プロビジョニングで!
  35. 35. © 2022 NTT DATA Corporation 35 循環型IaC リソースからIaCを新規作成するときはTerraformerを利用する。 ※Github「Terraformer」 https://github.com/GoogleCloudPlatform/terraformer Internet GW プロビジョニング 適用 NAT GW 循環型IaCの仕組み Terraformer リソース識別子 mapping(json) IaCコード タグ 既存リソースにはないことを確認 ARN aws̲nat̲gateway natgateway
  36. 36. © 2022 NTT DATA Corporation 36 循環型IaC 保守フェーズでも持続して常にIaCのメリットを維持して、IaCと手動作成の好きな方でコード化と適用まで行 う Amazon VPC Public Subnet Private Subnet プロビジョニング Amazon VPC Public Subnet Private Subnet 適用 循環型IaCの仕組み IaCに取り込み 手順が楽な時は 手順で! プロビジョニングが楽な時は プロビジョニングで!
  37. 37. © 2022 NTT DATA Corporation 37 まとめ AWSにおけるIaCを活かしたTerraformの使い方2選! 〜循環型IaCとマルチクラウドチックなDR環境〜 ①マルチクラウドチックなDR環境 ⇨マルチクラウドでは(多分)無いけど、マルチクラウドっぽいDR環境を用意する。 ②循環型IaC ⇨プロビジョンニングでリソース適用する手段に加えて新たな策を用意する。
  38. 38. © 2022 NTT DATA Corporation © 2022 NTT DATA Corporation 記載されている会社名、商品名、またはサービス名は、各社の商標登録または商標です。

×