フォーム読み込み中
前回のブログ「コンテナってなに?Alibaba Cloud、AWS、Azure、Google Cloud のコンテナサービスを比べてみました」にて、コンテナ技術の紹介や4大パブリッククラウド(Alibaba Cloud、AWS、Azure、Google Cloud)のコンテナサービスの料金や特徴を比較してきました。
今回は実際に各クラウドサービスのコンテナサービスを触って、コンテナにインターネット向け一般公開のテストサイトを立ち上げる手順を通して、その特徴を紹介していきたいと思います。
前編では、AWSとAlibaba Cloudのコンテナサービスを紹介しました。後編では、Azure と、Google Cloud のコンテナサービスについて紹介します。
4大クラウドそれぞれについて、httpd オフィシャルイメージを利用したデプロイ方法の操作手順を紹介し、コンソールのわかりやすいさや特徴を比較してみます。
4つのサービスを1つの記事では紹介しきれないため、前編と後編に分けて、前回のブログで前編として、 Alibaba Cloud、AWSを紹介しましたので、今回の後編では Azure、Google Cloudを紹介します。
Azure のコンテナサービス製品名は Container Instances です。コンテナオーケストレーションサービス(Azure Kubernetes Service)を提供しているものの、Container Instances はクラスターを作成しなくても単体で動かせる特徴があります。
Container Instances の公式サイト
https://azure.microsoft.com/en-us/services/container-instances/
さて、 Container Instances を作成しましょう。
1.コンソールにログイン後に、トップの検索欄から Container Instances 製品を選択します。
2.[コンテナインスタンスの作成]をクリックします。
3.プロジェクト詳細で「サブスクリプション」、「リソースグループ」を指定します。
4.コンテナ詳細で下記のように選択し、「次:ネットワーク」をクリックします。
5.デフォルトのまま、「次:詳細」をクリックします。
6.デフォルトのまま、「次:タグ」をクリックします。
7.デフォルトのまま、「次:確認および作成」をクリックします。
8.「検証に成功しました」が表示されたら、「作成」をクリックします。
9.「デプロイが進行中」画面に遷移し、完了までしばらく待ちます。
10.デプロイ完了後に、「リソースに移動」をクリックします。
11.コンテナの管理画面が表示されます。
12.管理画面に表示される「IPアドレス(Public)」にアクセスすると、テストサイトが表示されます。
Google Cloud のコンテナサービスは Cloud Run となります。今回比較する4クラウドのコンテナサービスにおいて、唯一直接 Docker Hub からパブリックイメージを取得(pull)する機能がありませんので、用意したイメージを事前に Google Container Registry に保存(push)する必要があります。
Cloud Run の公式サイト
https://cloud.google.com/run
では、Google Cloud のコンテナ作成をはじめましょう。
1.Googleの公式ドキュメント「Cloud SDK のインストール 」を参照して、 OS プラットフォームに応じて、gcloud SDK パッケージをダウンロードします。
2.(以下 Mac での手順例となります)ダウンロードしたパッケージを解凍し、bin フォルダに移動します。
3.下記コマンドを実行し、開かれるブラウザで Google Cloud のアカウントにログインして Cloud SDK の認証を行います。
#./gcloud auth login
4.下記コマンドで Google Container Registry へのアクセス権限を付与します。
#./gcloud auth configure-docker
5.下記コマンドで Docker Hub から httpd2.4.10 のイメージをローカルにダウンロードし、Google Container Registry にアップロードします。
#docker pull httpd:2.4.10 #docker tag httpd:2.4.10 asia.gcr.io/<プロジェクトID>/httpd:2.4.10 #docker push asia.gcr.io/<プロジェクトID>/httpd:2.4.10
6.トップの検索欄から Cloud Run 製品を選択します。
7.「CREATE SERVICE」をクリックします。
8.「Container image URL」右側の「SELECT」をクリックし、先程アップロードした「httpd:2.4.10」を指定します。
9.「Service name」が自動入力されますので、「Region」を「Tokyo」に指定します。
重要:「Authentication」を「Allow unauthenticated invocations」に選択します。選択しない場合、インターネットからアクセスできません。
10.「Container, Variables, & Secrets, Connections, Security」をクリックし、サブメニューを展開します。
「Container port」がデフォルト「8080」になっていますので、「80」に変更し、「CREATE」をクリックします。
11.作成完了までしばらく待ちます。
12.作成完了後、「Service name」右側に公開用 URL が表示されます。
13.公開用 URL にアクセスすると、テストサイトが表示されます。
今回は、Azure と Google Cloud のコンテナサービスを利用した httpd オフィシャルイメージのデプロイ方法を紹介しました。どちらもクラスター作成がいらず、単体で利用可能のため、素早く構築できました。特に Cloud Run の場合、わずか15秒で起動完了したことに驚きました。
Azure Container Instances の作成は Alibaba Cloud ECI、AWS Fargate と類似部分が多く、前編の経験がありましたので、特に迷うことがなく、スムーズに作成起動とテスト確認ができました。
一方、Google Cloud の Cloud Run は少しクセが感じられ、他3クラウドのコンテナサービスとの違いが目立ちます。よいところは、設定の簡潔さと起動の速さになります。コンテナ設定項目が1ページに収容されて、画面スクロールで全項目を確認できます。コンテナの起動速さはもともと売りポイントですが、Cloud Run の起動速度は4クラウドの中でも抜群です。
なお、他3クラウドならできるものの、Docker Hub のイメージを利用できない点がかなり不便だと感じます。また、慣れたら問題ないですが、とりあえずコンテナを動かしてみたい初心者の場合、「インターネット公開設定」と「デフォルトポート」のところは要注意です。設定が間違ってもコンテナ起動できますが、想定通りに動作しない可能性があります。私の初回検証では、両方に引っかかってしまいました。
Cloud Run の特徴はそこだけではありません、4クラウドの中で唯一コンテナの公開に、パブリック IP アドレスの代わりに固有の URL が自動的に発行されます。どの方式が優れるかは利用シーンによりますが、もし将来両方提供し、利用者が選択できたらいいかなと思います。
Alibaba Cloud | AWS | Azure | Google Cloud | |
---|---|---|---|---|
コンテナ製品名 | ECI | Fargate | Container Instances | Cloud Run |
コンソールのわかりやすさ | 〇 | ◎ | 〇 | ◎ |
直感的に操作可否 | 〇 | ◎ | ◎ | 〇 |
起動まで所要時間 | 約36s | 約60s | 約55s | 約15s |
作成ステップ数 | 3 | 4 | 5 | 1 |
最小設定項目数 | 3 | 1 | 3 | 2 |
特徴 | ・起動が速い | ・ガイドモードあり | ・起動が遅い | ・起動が最速 |
コンテナサービスを実際に使ってみるテーマの後編として、Azure と Google Cloud を検証しました。
Alibaba CloudとAWSについては、「Alibaba Cloud、AWS、Azure、Google Cloud のコンテナサービスを実際に使ってみました(前編)」を参照していただければ幸いです。
ソフトバンクはAWS アドバンストティアサービスパートナーです
「はじめてのAWS導入」から大規模なサービス基盤や基幹システムの構築まで、お客さまのご要望にあわせて最適なAWS環境の導入を支援します。
Microsoft Azureは、Microsoftが提供するパブリッククラウドプラットフォームです。コンピューティングからデータ保存、アプリケーションなどのリソースを、必要な時に必要な量だけ従量課金で利用することができます。
Google サービスを支える、信頼性に富んだクラウドサービスです。お客さまのニーズにあわせて利用可能なコンピューティングサービスに始まり、データから価値を導き出す情報分析や、最先端の機械学習技術が搭載されています。
Alibaba Cloudは中国国内でのクラウド利用はもちろん、日本-中国間のネットワークの不安定さの解消、中国サイバーセキュリティ法への対策など、中国進出に際する課題を解消できるパブリッククラウドサービスです。
MSP(Managed Service Provider)サービスは、お客さまのパブリッククラウドの導入から運用までをトータルでご提供するマネージドサービスです。
条件に該当するページがございません