Alibaba Cloud、AWS、Azure、Google Cloud のコンテナサービスを実際に使ってみました(後編)

2022年8月5日掲載

キービジュアル

前回のブログ「コンテナってなに?Alibaba Cloud、AWS、Azure、Google Cloud のコンテナサービスを比べてみました」にて、コンテナ技術の紹介や4大パブリッククラウド(Alibaba Cloud、AWS、Azure、Google Cloud)のコンテナサービスの料金や特徴を比較してきました。

今回は実際に各クラウドサービスのコンテナサービスを触って、コンテナにインターネット向け一般公開のテストサイトを立ち上げる手順を通して、その特徴を紹介していきたいと思います。

前編では、AWSとAlibaba Cloudのコンテナサービスを紹介しました。後編では、Azure と、Google Cloud のコンテナサービスについて紹介します。

目次

  • 本記事では、Alibaba Cloud、AWS、Azure、Google Cloud のコンテナサービスを使う手順を通して、その特徴を紹介していきます。
  • 後編ではAzureとGoogle Cloudを取り上げます。
  • 各クラウドのコンテナサービスに違いがあるか分からない方向けの入門記事です。

はじめに

4大クラウドそれぞれについて、httpd オフィシャルイメージを利用したデプロイ方法の操作手順を紹介し、コンソールのわかりやすいさや特徴を比較してみます。

4つのサービスを1つの記事では紹介しきれないため、前編と後編に分けて、前回のブログで前編として、 Alibaba Cloud、AWSを紹介しましたので、今回の後編では Azure、Google Cloudを紹介します。

Azure のコンテナサービスを使ってみる

Azure のコンテナサービス製品名は Container Instances です。コンテナオーケストレーションサービス(Azure Kubernetes Service)を提供しているものの、Container Instances はクラスターを作成しなくても単体で動かせる特徴があります。

Container Instances の公式サイト

https://azure.microsoft.com/en-us/services/container-instances/

 

さて、 Container Instances を作成しましょう。

1.コンソールにログイン後に、トップの検索欄から Container Instances 製品を選択します。

01 01

2.[コンテナインスタンスの作成]をクリックします。

3.プロジェクト詳細で「サブスクリプション」、「リソースグループ」を指定します。

4.コンテナ詳細で下記のように選択し、「次:ネットワーク」をクリックします。

  • コンテナー名:httpd
  • 地域:Asia Pacific(Japan East)
  • イメージのソース:その他のレジストリ
  • イメージの種類:パブリック
  • イメージ:httpd:2.4.10
  • OSの種類:Linux
  • サイズ:1vcpu、1.5GiBメモリ、0gpu

5.デフォルトのまま、「次:詳細」をクリックします。

6.デフォルトのまま、「次:タグ」をクリックします。

7.デフォルトのまま、「次:確認および作成」をクリックします。

8.「検証に成功しました」が表示されたら、「作成」をクリックします。

9.「デプロイが進行中」画面に遷移し、完了までしばらく待ちます。

10.デプロイ完了後に、「リソースに移動」をクリックします。

11.コンテナの管理画面が表示されます。

12.管理画面に表示される「IPアドレス(Public)」にアクセスすると、テストサイトが表示されます。

Google Cloud のコンテナサービスを使ってみる

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

特徴

・起動が速い
・イメージをGUI選択可能

・ガイドモードあり
・必須な設定項目が少ない

・起動が遅い

・起動が最速
・設定画面が簡潔
・Docker Hub 利用不可
・固有の URL を提供

さいごに

コンテナサービスを実際に使ってみるテーマの後編として、Azure と Google Cloud を検証しました。

Alibaba CloudとAWSについては、「Alibaba Cloud、AWS、Azure、Google Cloud のコンテナサービスを実際に使ってみました(前編)」を参照していただければ幸いです。

関連サービス

Amazon Web Services (AWS)

ソフトバンクはAWS アドバンストティアサービスパートナーです

「はじめてのAWS導入」から大規模なサービス基盤や基幹システムの構築まで、お客さまのご要望にあわせて最適なAWS環境の導入を支援します。

Microsoft Azure

Microsoft Azureは、Microsoftが提供するパブリッククラウドプラットフォームです。コンピューティングからデータ保存、アプリケーションなどのリソースを、必要な時に必要な量だけ従量課金で利用することができます。

Google Cloud

Google サービスを支える、信頼性に富んだクラウドサービスです。お客さまのニーズにあわせて利用可能なコンピューティングサービスに始まり、データから価値を導き出す情報分析や、最先端の機械学習技術が搭載されています。

Alibaba Cloud

Alibaba Cloudは中国国内でのクラウド利用はもちろん、日本-中国間のネットワークの不安定さの解消、中国サイバーセキュリティ法への対策など、中国進出に際する課題を解消できるパブリッククラウドサービスです。

MSPサービス

MSP(Managed Service Provider)サービスは、お客さまのパブリッククラウドの導入から運用までをトータルでご提供するマネージドサービスです。

おすすめの記事

条件に該当するページがございません