Alibaba Cloud SAEを使ってVOICEVOXのAPIサーバーを作ってみたかった

初めまして、なりかくんと申します。普段は、Discord Botの作り方などを自身のブログ「なりかくんのブログ」にて執筆し公開しています。

今回、Qiita様のAdvent Calendar 2023で「Alibaba Cloud SAE (Serverless App Engine)」のサービスを見つけたため、何か出来ないかと思ったところ最近Discordでよく使われている読み上げBotの中身の一つであるコア部分（API）をAlibaba Cloud SAEで作れないかと思いました。

そこで、今回は「Alibaba Cloud SAEを使ってVOICEVOXのAPIサーバーを作ってみる」という記事を書いてみようと思います。
なお完全Alibaba Cloud SAE初心者のため、調べるところやアカウント登録など順番にやっていくのでその様子からすべてをこの記事に書いていこうと思います。
何かの参考になれば幸いです。なお、最終的に失敗しています。
では、やっていきます。

# Alibaba Cloudとは
まず最初にAlibaba Cloudってなぁに？と思った方が大勢いるかと思います。私も「Alibaba」ってどこの会社なんだろう。ってなるかもしれないです。（まあ聞いたことはあるので知ってますが。）
なので、簡単に説明します。

## アリババグループ
まず最初にAlibaba Cloudは中国の杭州に本社を置く、世界最大級のテクノロジー企業「アリババグループ」が運営しています。
アリババグループは、具体的に1999年にネット通販サイト「アリババドットコム」を作ってそこから大きくなりました。
その後、現在紹介しているクラウドサービスの「Alibaba Cloud」や金融機関「Ant Financial」、物流事業「Cainiao」など様々な事業を立ち上げている非常に大きな会社です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549951/a3fa7a85-845d-88aa-d009-0480a246511f.png)

ロゴを見てもらえれば、もしかしたら「Alibaba Cloudのロゴに見覚えがある！」という方がいるかもしれないですが、東京2020オリンピックのワールドワイドクラウドサービスパートナーとしてAlibaba Cloudが活躍していました。各国の放送などはAlibaba Cloudに支えられていたのかもしれないです。

https://www.weeklybcn.com/journal/news/detail/20210729_183987.html

また、アリババグループは日本市場にも進出していて、2009年に日本法人のアリババ株式会社が設立されています。
詳しくは、Googleなどで調べてもらえば沢山情報が出てくるかと思います。

# Alibaba Cloud SAEのいいところ
さて、前置きも長くなってしまいましたがここから、Alibaba Cloud SAEの私が個人的にいいなと思ったことろを紹介していこうと思います。あくまで個人の感想なので、間違っていたりしたらコメントなどで指摘いただければ幸いです。

## コストが安い
やっぱりサーバーレスのいいところであるCPUやメモリ使用量に応じて課金されるため、使用量が少なかったりまったく利用しないときは料金が発生せず結果的にコストを安く抑えることが出来るのがいいところです。

## フルマネージド型
サーバーレスのいいところの２つ目として、サーバー自体の管理を自分で行う必要が無くなります。サーバーソフトウェアのアップデートなどはすべてサーバー管理者側に任せれば大丈夫なわけです。
これで、開発に時間を割くことが出来ます。

## 様々な言語に対応している
Alibaba CloudのSAEは、以下の言語に対応しているみたいです。
- Java
- Python
- Node.js
- Go
- PHP
- Ruby
- C/C++

これだけ対応していればたいていのプログラムは書くことが出来ますね。（他の言語も使えるかもしれないです。）

また、SAEのいいところとして開発したコードをZIPファイルやイメージファイルなどにしておいて、SAEにデプロイするだけでアプリケーションを呼び出すことが出来ます。非常に楽ですね。

## 自動スケーリング
 これもサーバーレスのいいところです。自動でサーバースペックが足りなくなってきた際にサーバー台数を増減させてくれる機能です。
 突発的なアクセスなどの際にアクセス集中に耐えれるサーバーを作ることが出来ます。

 ## Kubernetesクラスター
 これは非常にでかいと思う点です。SAEは、Kubernetesクラスターで組まれた環境で動いているのでゼロダウンタイム（アクセスできない時間が無いこと）でデプロイすることが出来ます。
 普通のVMなどであれば、一度動いているものを止めてデプロイする必要があるのでダウンタイムが無いのは本当にありがたいです。

 # Alibaba Cloud SAEの料金
 では、次にAlibaba Cloud SAEの料金を簡単にまとめます。ネットで調べてもなかなか出てこなかったので、非常に困りました。
SAEの料金は、CPUとメモリの使用量に応じて分単位で課金されます。

日本リージョンでは、以下のような料金設定みたいです。
- CPU：1コア 1分あたり USD 0.0007055
- メモリ：1 GiB 1分あたり USD 0.0001764

まあこんなこと言われても値が小さすぎて分かりにくいと思うので、仮に1コア1GiBのコンテナを1時間実行した場合で考えます。

- CPU：1コア 60分 * 1コア/分 * USD 0.0007055/コア = USD 0.04233
- メモリ：1 GiB 60分 * 1 GiB/分 * USD 0.0001764/GiB = USD 0.10584

日本円に直すと、2023年12月12日の1ドル 145円程度の際にでは以下のようになります。

- CPU：1コア 1時間あたり = 6.16円
- メモリ：1 GiB 1時間あたり = 15.41円

両方足しても、21円程度です。非常に安いですよね。流石Alibaba Cloud SAEですね。

# 実際に触ってみる
では実際にAlibaba Cloud SAEのいい点や料金については触れたので、実際に手を動かしていこうと思います。
## アカウント登録
まず最初は、アカウント登録から始まります。今回は「個人用アカウント」を選びました。何が違うかはちょっと調べ不足ですね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549951/83180da3-e357-6d4d-4bb1-fe8ef56d5125.png)

次にメールアドレスやパスワードなどを決めて、認証をします。
認証は電話番号とメールの２種類から選ぶことが出来ました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549951/05906067-c105-5502-c073-194c0f759159.png)

そして、次に進むと同時に「電話番号無しでも行けるのか。」とか思ってたらしっかり携帯電話番号認証が出てきました。まあ、クラウドサービスって絶対あるよね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549951/7e3b28a3-b076-f0fb-ec72-2c9b581839f0.png)

と次に進むと、先ほどアカウントの種類を選んだのが良く分からなかったのがこちらでもう一度しっかり選ばせてくれました。
企業向けでは、「３ヵ月間の無料トライアル」があってそのトライアルでは 2C4G のサーバーが使えるみたいです。
個人向けでは、「１２ヶ月間の無料トライアル」があってそのトライアルに 1C1G のサーバーがあるみたいです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549951/5b3a3123-6d33-bfbb-7615-7aa0e174861d.png)

今回は、個人で進めていこうと思います。（企業にすると手続きがめんどくさそう）
選ぶと、「名前」と「住所」の入力がありました。入力して次に進むと支払い方法の選択です。
カードなどを登録するのはめんどくさかったので、PayPalを使いました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549951/cb425c8d-99db-a760-eee5-e76afb2d82d3.png)

登録が完了したら、「Success!」と表示されてちょっと歓迎されました。嬉しいですね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549951/ab34d8f6-715b-1fba-9af7-5980e40db4b8.png)

## SAEを有効化する
では、アカウントを作れたので次にSAEを有効化したいと思います。

以下のリンクのページで「今すぐ購入」をクリックすることで同意画面が表示されます。
https://www.alibabacloud.com/ja/product/severless-application-engine

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549951/297d7a7d-215e-bb18-e6b9-b65c7cce3462.png)

規約を読んで、チェックを入れてアクティベートしようとすると...

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549951/85dec831-32d4-f78c-91ef-53fad1dff555.png)

アカウントが一時停止されました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549951/cfa2a684-79c4-6831-5fc2-c716e44bbde9.png)

## アカウントが一時停止された
いきなりアカウントが一時停止されました。まあ、新規アカウントなので本人確認書類送れぐらいなのかな～と思って、とりあえずメールを見ました。
まあ、案の定しっかりメールは来てました。「お前の情報をもっとくれ。」とのことですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549951/005ee477-5016-9cbd-0371-6d1d5ad29350.png)

具体的に求められた情報は以下の情報です。
- お支払いしているカードの表面の写真
- 設定した支払い方法の取引履歴
- 身分証明書

最初、ほんとにびっくりしました。「めっちゃ情報求めるじゃん。」と。
カードの表面の情報は、クレジットカードの表面の情報ってことなんですけど、カード番号最初の６桁と最後の４桁を提出しろ、とのことでした。
支払い履歴は、PayPalを設定したので最新月のPayPal履歴をスクショ、身分証明はパスポートやIDカードから一つ選べ方式でした。

まあ、しっかり写真などを用意して送信しました。審査には２営業程かかるみたいです。
ってことで、一度この記事を書く手を止めます。おやすみなさい。。

# 審査落ちました
ってことで、審査落ちました。原因はわかりません。
この記事は没です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549951/b98d51eb-9982-81cf-c242-8155ef18b62f.png)

最後までお読みいただきありがとうございました。