フォーム読み込み中
皆さまこんにちは、ソフトバンクの周です。
この記事では非エンジニアの方々でも使えるTerraform実行ポータルを作ってみましたのでご紹介させていただきます。
パブリッククラウドを取り扱う中で、同様の構成を顧客に素早く納品したい、ステージングやテスト用に同様の環境がほしい、などのご要望をしばしば耳にします。クラウドが当たり前になってきた昨今、QCD(品質、コスト、デリバリー)を高めることは組織の生産性を向上させるためには必要不可欠です。
一方、TerraformなどのIaC管理ツールを使用して自動化する場合、環境のキッティングであったり、ツールへの理解が求められます。
本記事では、Alibaba Cloudの各プロダクトを使用して、"実行者がキッティングなしでどなたでも簡単に環境をデプロイできる" Terraform実行ポータルの作り方をご紹介させていただきます。
本記事は"Alibaba Cloud サーバレスで作るTerraform実行ポータル"記事の前編になります。後編記事もあわせてご覧下さい。
Object Storage Service (OSS) は、Alibaba Cloud によって提供されている、安全で費用対効果が高く、耐久性に優れたクラウドストレージサービスです。 99.9999999999%のデータ耐久性 (設計上) と 99.995% のサービス可用性を提供できます。
Alibaba Cloud が提供するストレージサービスです。
Function Compute は、イベント駆動型のフルマネージドコンピューティングサービスです。Function Compute を使用すると、管理や O&M を考慮することなく、あらゆる種類のアプリケーションやサービスをすばやく構築できます。
Alibaba Cloud が提供するサーバーレスコンピューティングサービスです。
Container Registryは安全にイメージを管理し、グローバルのリージョン全体で安定したイメージビルドを作成し、簡単に権限を管理できます。イメージレジストリの作成とメンテナンスを簡素化し、複数リージョンでのイメージ管理をサポートします。
Alibaba Cloud が提供するコンテナレジストリサービスです。
完成したアプリケーションは以下になります。
デプロイしたい環境のアクセスキー、シークレットキーを入力することで任意のAlibabaアカウントに環境をデプロイすることができます。
またデプロイしたstateファイルはOSSバケットに保持しているおり、同じアクセスキーであれば、環境の削除も可能です。
実行後のキャプチャは以下になります。
まずはOSSの作成になります。OSSは3つの目的のために使用します。
本記事では用途別にそれぞれバケットを作成します。手順は下記の通りです。
※バケット名は任意です。リージョンやその他のパラメータも要件に合わせて変更してください。デフォルト値でも問題ありません。
※本記事では便宜上、「frontend-bucket-01」、「backend-bucket-02」、「state-bucket-03」とそれぞれ命名します。
続いて、Function Computeの構築をしていきます。
Function ComputeはフロントエンドからAPIコールされた際、terraformを実行するために使用します。仮想サーバではなくサーバレスを選択した理由は、1. サーバの設定や管理が不要、2. コスト面で優れているためです。
Fuction Computeでは1. 組み込みランタイム、2. カスタムランタイム、3. コンテナイメージの3つの実行環境が用意されています。本記事ではソースコードのポータビリティを考慮し、コンテナイメージとしてデプロイし作成していきます。
Function Computeでまずサービスを作成していきます。手順は下記の通りです。
※本記事では便宜上、backend-serviceと命名します。
※Log設定は必須ではありませんが、要件に応じて変更してください。
作成完了後、サービスの設定を変更していきます。
「ストレージ設定」から「OSSのマウント」を有効化します。使用するパスはそれぞれ下記の通りです。
「保存」ボタンを押下します。
続いて関数を作成していきます。
※その他の設定はデフォルトで構いません。
※関数を作成するため、一旦サンプルイメージを使用しています。記事後編で作成したDockerイメージをPush後、設定を変更します。
以上で、Function Computeの定義が完了しました。
続いて、Function Compute上で動かすためのDockerイメージを格納するコンテナレジストリを作成していきます。
<インスタンス作成>
※Enterprise Editionは高額なため、誤って選択しないようご注意ください。
<名前空間・リポジトリ作成>
以上で全てのインフラ構築が完了になります。後編からアプリケーションの作成とデプロイを記載していきますので、よければ合わせてご覧ください。
続きは、後編記事で掲載していますので、是非ご覧下さい。
Alibaba Cloudは中国国内でのクラウド利用はもちろん、日本-中国間のネットワークの不安定さの解消、中国サイバーセキュリティ法への対策など、中国進出に際する課題を解消できるパブリッククラウドサービスです。
条件に該当するページがございません