OpenShift.Run2023
Session [Azure Red Hat OpenShift を Terraform でコード化!]
© COPYRIGHT 2023 FIXER Inc.Azure Red Hat OpenShift をTerraform でコード化!株式会社FIXER 石井汰樹
View Slide
© COPYRIGHT 2023 FIXER Inc.2⚫ 自己紹介⚫ Infrastructure as Codeとは?⚫ Azure Red Hat OpenShiftをTerraformでコード化!⚫ AROをTerraformでコード化するときに大変だったこと目次
© COPYRIGHT 2023 FIXER Inc.3⚫ 石井 汰樹(いしい たいき)と申します⚫ 2000年生まれの滋賀出身のクラウドインフラエンジニアです(西暦の下2桁と自分の年齢が同じなので、年齢を忘れてもすぐ思い出せます)⚫ インフラ(クラウド)に触り始めて2年くらいです⚫ クラウドは9.9割Azure0.1割AWSの割合で触ってます⚫ コンテナやKubernetes周りの部分をよく触ってます⚫ OpenShiftに触り始めて1年くらいです自己紹介
© COPYRIGHT 2023 FIXER Inc.4Infrastructure as Code とは?IaC (Infrastructure as Code) は、手動のプロセスではなく、コードを使用してインフラストラクチャの管理とプロビジョニングを行うことを言います。出典: IaC (Infrastructure as Code) とは | Red Hathttps://www.redhat.com/ja/topics/automation/what-is-infrastructure-as-code-iacIaCNot IaCコードを調整して流すだけで完了😄手順書に従って、人間が手で作っていく
© COPYRIGHT 2023 FIXER Inc.5IaC にあるメリットとデメリットを個人の主観で書いてみました。■メリット➢ 同じインフラ構成を容易に複製できる➢ 似たようなインフラ構成も少しの修正で作成できる➢ 作業時のダブルチェックが不要➢ 作業時の待ち時間に別のことができる➢ 作業時にミスが減る■デメリット➢ コーディングスキルや専門知識が必要になる➢ コードを介さずにインフラを変更することができない➢ 手で構築するときには見えなかった詰まるポイントがあるInfrastructure as Code とは?
© COPYRIGHT 2023 FIXER Inc.6Infrastructure as Code とは?コスト進行度②① ③Not IaCの場合とIaCの場合のコストと進行度のイメージをグラフ化してみました。進行度がどの段階なのかを下記に記述しています。Not IaC IaC①まで 手順書の作成期間 コードの作成期間①から②まで レビュー期間 レビュー期間②から③まで 開発環境構築 開発環境構築③以降 本番環境構築 本番環境構築ポイント①IaCだと設定行為を実装するのにコストがかかるポイント②手順書だと作業ミスによる手戻りコストがかかる
© COPYRIGHT 2023 FIXER Inc.7簡単な用語解説Azure ・・・ Microsoft が提供するクラウドプラットフォームAzure Red Hat OpenShift (ARO) ・・・ Azure 上で提供される OpenShiftTerraform ・・・ オープンソースのIaCソフトウェアツール本セッションではコードの詳細は割愛しているので、「Terraformのコードを見たい」という人はTerraformのコードの全文と解説が弊社ブログにあります。https://tech-blog.cloud-config.jp/2022-12-15-create-aro-with-terraformAzure Red Hat OpenShiftをTerraformでコード化!
© COPYRIGHT 2023 FIXER Inc.8今回構築するAROはMicrosoft公式のチュートリアルで作成されるものとほぼ同じものを作成します。https://learn.microsoft.com/ja-jp/azure/openshift/tutorial-create-cluster上記のリンク内のクラスターを作成するという部分が今回コード化がされている部分です。右記の画像はチュートリアル全体をキャプチャしたもので、今回コード化したのは赤枠で囲った部分になります。(次スライドで拡大した画像を表示します)Azure Red Hat OpenShiftをTerraformでコード化!チュートリアルやってみた記事も書いてますhttps://tech-blog.cloud-config.jp/2021-12-28-tutorial-aro-cluster
© COPYRIGHT 2023 FIXER Inc.9先ほどのスライドの赤枠で囲った部分を拡大したものが右の画像になります。Azure CLIというコマンドラインツールであれば、右記のコマンドを実行して待つだけで簡単なんですが該当の部分を作成するのに数時間程度かかりました。Azure Red Hat OpenShiftをTerraformでコード化!
© COPYRIGHT 2023 FIXER Inc.10大変だったポイント1. 自動的にされている処理を明示的にコード化する必要がある今回沼にはまっていた部分です。(該当コードへのリンク)原因はARO用に用意されているリソースプロバイダーサービスプリンシパルにネットワーク共同作成者権限がなかったことでした。仮想ネットワークのIAMを確認してたら見慣れない名前のアプリがあったので、ようやく気付けました。2. デバッグに時間がかかるコードを実行してエラーが出るまでに5分くらい待つ必要があるので、何度も試しているとあっという間に時間が溶けます。3. 単純に書く分量が多いAROは多くのパラメータを持つリソースなので、コード内の変数が多く処理も長くなってしまいます。コードを再利用しやすいように実装を頑張って工夫していくと、こちらも時間が溶けていきます。AROをTerraformでコード化するときに大変だったこと
© COPYRIGHT 2023 FIXER Inc.11ご清聴ありがとうございました。
© COPYRIGHT 2023 FIXER Inc.