Web サイトを中国で動かすのは、なかなか一筋縄ではいきません。Google、Facebook、Uber をはじめ、多くの大手テック企業が中国進出を試みて失敗したことは、ご存じかもしれません。失敗の理由はさまざまですが、これからお伝えする内容は、時間と費用を節約し、失敗を防ぐのに役立つはずです。
Github と AWS は中国では使えない
成功している Web アプリは、バージョン管理とホスティングのプラットフォームなしには成り立ちません。世界で最も人気のある2つのサービスである Github と AWS は、中国では使えません。「中国では使えない」とはどういう意味でしょうか。具体的には、たとえば中国国内のサーバーにプロジェクトをクローンしたいとします。通常は、次のようにします:
git clone repo_name.git
ところが中国では、コードのダウンロード速度は最大でも 10kb/s 程度しか出ず、実際には次のようなエラーが頻繁に発生します:
"fatal: unable to access '<your_repo>': Failed to connect to github.com port 443: Timed out"
つまり、中国国内のサーバーにプロジェクトをクローンするのは難しく、中国での開発体験は全体として非常に悪いものになります。
さらに
AWS(Amazon Web Service)、GCP(Google Cloud Platform)をはじめ、よく使われているクラウドプラットフォームも中国では使えません。AWS を使ったことがあれば、リージョンを切り替えて数分でサーバーを立ち上げられることをご存じでしょう。しかし中国では、AWS で行ったことを AWS China 上で改めて再現し、さらに ICPライセンスを申請する必要があります。
ちょっと待ってください、AWS China は AWS システムの単なる別リージョンではないのか、と思われるかもしれません。残念ながらそうではありません。中国では独自のシステムとして運用されており、2つしかないリージョン(北京と寧夏)も AWS が直接運用しているわけではなく、実際には中国国内の別々の2社によって運用されています。
ICPライセンスとは?
ICP(Internet Content Provider)ライセンスは、中国で Web サイトを公開するための許可です。ICPライセンスを持たないまま Web サイトをオンラインに公開しようとするとどうなるのか、気になる方も多いでしょう。その場合、ドメインにアクセスすると、ブラウザーに次のような画面が表示されます:
これは、誰も Web サイトを閲覧できないことを意味します。その裏側では、ICP備案が完了するまで、中国国内のすべてのサーバーで既定の 80 番ポートと 443 番ポートが遮断されているのです。
ほかにもある?
心苦しいのですが、まだあります。見逃したくないものをいくつか挙げておきます:
- 決済処理サービス:Stripe、Paypal、Square
- ソーシャルネットワーク:TikTok、Facebook、Instagram、Snapchat
- 動画共有プラットフォーム:Youtube、Vimeo
そのとおり、TikTok もリストに入っています。
TikTok は中国資本の会社では、と思われるかもしれません。そのとおりですが、中国のユーザーが使うのは Douyin と呼ばれるアプリで、TikTok は中国国外のユーザー向けです。この2つのアプリはよく似たユーザーインターフェイスを持ち、同じ会社が所有しています。
中国で使えないサービスをすべて挙げていたら、紙面がいくらあっても足りません。しかし、言いたいことはもうお分かりでしょう。要するに、使い慣れた技術の多くが、中国ではそのままでは使えないということです。
朗報
冒頭でお約束したとおり、使い慣れたツールで Web サイトを中国で公開するための手順を、順を追ってご案内します。手順と作業は次のとおりです:
1. 21YunBox に登録する
アカウントを取得するには、こちら(英語)をクリックしてください。
21YunBox とは何でしょうか。Netlify、Vercel、Heroku のようなサービスを使ったことがあれば、デプロイを簡単にしてくれるそのやり方が気に入っているはずです。21YunBox も同じことを実現し、ほかでは得られない中国での優れたパフォーマンスが得られるよう最適化されています。簡単に言えば、使い慣れた技術を中国国内で使えるようにするホスティングプラットフォームです。
ピンとこない場合は、こう考えてみてください。AWS 上の Ubuntu サーバーで Web サイトをホスティングする(つまり、サイトを公開するために docker、Nginx、システムライブラリなど多くのものを自分でインストールする)代わりに、こうしたプラットフォームは Web アプリやデータベースの実行に必要なものをあらかじめすべてインストールしてくれます。コードを書いて変更をコミットするだけで、数分のうちに Web サイトが公開されます。
2. コードを接続する
21YunBox コンソールで Github リポジトリを接続します。
ちょっと待ってください、さきほど Github は中国では使えないと言ったのでは、と思われるかもしれません。確かに、そのままでは使えません。しかし 21YunBox は、中国と海外を結ぶ専用ネットワークを内部で活用することで、Github を使えるようにしています。そのため、中国国内でも Github を通常どおり使え、git clone もライブラリの取得も高速です。お約束したとおり、21YunBox なら使い慣れた技術を中国国内で使えます。
3. 好きなツールで、作りたいサイトを構築する
使っているスタックを選び、数分で 21YunBox にデプロイしましょう:
静的サイトジェネレーター + ヘッドレス CMS + ホスティング・ソリューション:
- Gatsby + Sanity + 21YunBox をデプロイ
- NextJs + Strapi + 21YunBox をデプロイ
- NuxtJs + Contentful + 21YunBox をデプロイ
- React + Airtable + 21YunBox をデプロイ
バックエンドフレームワーク + データベース:
- ExpressJS + MongoDB をデプロイ
- Ruby on Rails + PostgreSQL をデプロイ
- Django + PostgreSQL をデプロイ
- Laravel + MySQL をデプロイ
お使いのスタックが見当たりませんか。詳しくはドキュメント(英語)をご覧いただくか、機能リクエスト(英語)をお送りください。
ここまでで、Web サイトを中国で公開するために何をすべきかが明確になったはずです。続く2つのステップでは、ルートドメインでサイトを合法的にホスティングするために必要なことを、もれなく押さえていきます。先に進みましょう。
4. 公開したサイトをテストする
ここまでの手順を数分で終えたなら、Web サイトはすでに中国で(21YunBox のサブドメイン上で)公開されているはずです。サイトが中国にある状態で、中国のコンテンツチームに渡してユーザー受け入れテストを実施したり、一部の初期ユーザーに開いてもらって中国での速度向上を確認したりできます。
次に行うのは、DNS(Domain Name Server)を設定して、トラフィックを中国の新しいサイトへ送ることです。先ほどお伝えしたとおり、ICPがなければサイトにはアクセスできません。この点も 21YunBox がカバーしていますので、次のステップをお読みください。
5. ICPライセンスを取得する
中国で登記された法人をお持ちであれば、必要なのは当社のガイドに従って必要書類を揃える(英語)ことだけです。あとはそれを当社にお送りください。当社と MIIT(中華人民共和国工業・情報化部)での処理には、通常10〜20営業日かかります。
手続きの途中では、この Web サイトを合法的に運営していることを確認するため、MIIT から2回の電話連絡があると見込んでおいてください。その後、ICP番号が発行されるので、それを Web サイトのフッターに掲載する必要があります。たとえば、次は Nike の Web サイトとその ICP番号です。
中国に法人がない場合はどうなりますか? その場合も、取りうる解決策は数多くあります。こちらから通話を予約(英語)していただければ、お電話でご質問にお答えします。