Cloud Foundryをパグクラに１時間ででぷろいする！

#Cloud Foundryをパグクラに１時間ででぷろいする！

前回は実施にCloud Foundryを触ることをご紹介しましたが実際にどう使うのかというお話。これにはベンダーマネージドのサービスを使う方法もありますが高額な環境をDEV/TEST/PRODで揃えるとそれなりの金額になります。また現状、ほとんどのCloud FoundryはVMwareの上で動いておりポータビリティーやスケール、耐障害性などのコンテナのメリットをフルに享受出来ないという難点やBOSHという学習コストの高い言語を扱う必要があります。結局、ライセンス費用やコンサル費用を考えると規模感が...。そこで今回はパブクラのKubernetes(EKS, AKS, GKE)上にCloud Foundry環境を簡単にデプロイ出来るソリューションについてご紹介します。Service BrokerAPI経由でクラウド側のサービスとも連携出来ます。（段々コーポレート色が強くなりますがお察しください汗）

##Amazon EKSの場合
いくつか方法をご紹介しますがまずは一番簡単なAWSのクイックスタートを使う方法。こちらのURLにアクセスしてぽちぽちと入力するだけで１時間ほどでCloud Foundryの環境を構築可能です。
[https://aws.amazon.com/quickstart/architecture/suse-cloud-application-platform/](https://aws.amazon.com/quickstart/architecture/suse-cloud-application-platform/)

![aws1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/636313/db2dff15-f144-3a58-6c89-d2a34e51cbe7.png)

デプロイガイドを開いてクリックして開始します。Step 3. Launch the Quick Startまでスクロールダウン。必要な条件等もこのドキュメントにまとまっております。前提条件としてはawsのI AMアカウントがあること。全リージョン対応ではないのでご了承ください（個人的にはNorth virginia使ってますが東京も対応してます）。


![aws2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/636313/5a74a3df-c16c-2626-feaf-cfe069ca80e8.png)


既存のVPC使うのでなければ左側の青いクリックしてCloud Formationを起動

![aws3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/636313/a0592cf1-50bc-4996-0db4-cca4a22c3b61.png)

新規作成でよければそのままデフォルトで次へ
![aws4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/636313/50b312fa-6fc5-b7ce-5d19-881562c92e2e.png)

あとはテンプレートをぽちぽちと入力するだけ。事前に設定が必要なのはRoute53の設定（ドメイン取得とHosted zone ID）、あとSSH key。それ以外は各環境ポリシーに合わせて入力を。あと変えるのはクラスタ数やGUIの利用可否くらいかと思います。

![aws5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/636313/5c528605-32d9-886d-667b-f75d02e710fc.png)

開始すると裏でスタックが勝手に作られていくのであとはコーヒーでも飲んで待つ（外人ってこういう表現好きですよねｗ）と大体40-50分くらいで完了します（たまにエラーで止まります多いのはI AM権限関係のエラー）

![aws6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/636313/4644904a-273f-3c14-92af-e69b14941ed5.png)

完了したら親スタックのOutputに必要なEndpointの情報やGUI(Stratos)のURLが確認出来ます。パスワードはSecret managerを探してください。

##Azure AKSの場合

次にAzureのマーケットプレイスからデプロイする方法。こちらもテンプレート化されており必要な情報を入力していくだけでCloud Foundryの世界を始めることが出来ます。

![azure1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/636313/c09562f0-78d0-1624-de25-6ed3bdb3fc47.png)


[https://azuremarketplace.microsoft.com/en-us/marketplace/apps/suse.cap-deploy-byos?](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/suse.cap-deploy-byos?)

上記のリンクをたどりマーケットプレイスからクリック

![azure2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/636313/e47eed8b-e6d2-fc38-0314-657c15813612.png)

新規で作成するかプリセットされたコンフィグを使うか選択して開始します

![azure3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/636313/3f018a4b-303d-1028-a9fd-ed2bf86cf7bd.png)

インスタンス、ディスク、ネットワーク、管理など項目ごとに情報を入力して作成します
（以下、冗長になるので省略させて頂きます）

##EKS/AKS/GKEにデプロイ

導入の容易性を考慮して二つのパターンをご紹介しましたが最新バージョンや大規模導入、GKEの場合にはTerraformを活用して導入が可能です。こちらのgithubにテンプレがありますので興味があればご活用ください。手順に関してもマニュアルをリンクしておきます。
[https://github.com/SUSE/cap-terraform](https://github.com/SUSE/cap-terraform)
[https://documentation.suse.com/suse-cap/](https://documentation.suse.com/suse-cap/)

今回はパグリッククラウド上でのCloud Foundry構築についてお伝えしました。次回はなぜCloud FoundryをKubernetes上で実行するのが良いのかをご紹介します。

Happy Coding!