このページに限ったことではありませんが、また後日、いろいろ画像を入れて綺麗にしていきますね。今の状態だと文章ばっかり…。でも、用は足りると思います。
個人サイトとは直接関係ないものも含めて、重要なクラウドサービスのプロダクトを書いていこうと思います。
App Engineあたりは「個人サイト制作で知っておきたいクラウドサービス」と情報が重複しちゃうかもしれないけどね。
やりたいことによってはデータベースと接続したり、いろいろできるのですから。
また、このページでは次のように略称を用いることがあります。
3大メガクラウドの比較資料はこちらが分かりやすいでしょう。
このサイトが住んでいる場所です。
確か…GCPの中では最も古いプロダクトであったと思います。
長い間続いているのも、App Engineを選んだ理由ですね。
早い話、ウェブアプリやモバイルアプリを簡単に作って動かせるサービスですよ。
ブログを作ったり、アプリも稼働させることができます。
だからWordPressのデプロイもやれるわけで。
しかし、今後は次のようなプロダクトも併用して使っていくかも。
参考サイト
AWS・Azureで同様の機能を持つプロダクト
どれもインフラストラクチャの管理を自動化し、開発者がコードに集中できるようにしてくれます。
必要なときだけコードを実行するためのサービス。
例えば、「ウェブサイトでユーザーがフォームを送信したときに、そのデータを処理してデータベースに保存する」という処理があったとしましょう。
Lambdaは、必要なときだけコードを実行し、使わないときは何もしません。コストを抑えることができます。
コンテナと呼ばれる小さな仮想マシンを使ってアプリケーションを実行するサービス。
アプリケーションが常に動いている必要がある場合に適してます。
例えば、オンラインゲームのサーバーや、常にデータを処理するバックグラウンドサービスなどです。
ウェブアプリケーションやAPIを簡単にデプロイするためのサービス。
開発者がコードを書いて、それをすぐにインターネット上で公開できるようにします。
もちろん新しいウェブサイトを作成してすぐにインターネット上で公開することもできます。
App Runnerは、アプリケーションのスケーリングも自動でやってくれます。
アクセスが増えてきても人間が慌てる必要はないということですね。
Azure App Serviceは、ウェブサイトやアプリを簡単に作成してインターネット上に公開できるサービス。
WordPressでもいいし、自分で販促サイトを作ってもいいし、Azure App Serviceで運営することができます。
アプリのデータを保存する場所として使えるでしょう。
アクセスが増えたときに自動でサーバーの容量を増やしてくれるのもいいですね。
Google App Engineで静的ウェブサイトをホスティングする際にCloud Storageを併用することが一般的ですかね。
Cloud Storageは静的コンテンツ(HTML、CSS、JavaScript、画像など)を保存するための信頼性の高いストレージソリューションであり、ウェブサイトのコンテンツを効率的に配信できます。
大規模なトラフィックにも対応できるように設計されており、App
Engineと組み合わせることで、ウェブサイトが急激にアクセスが増えた場合でも安定して動作します。こういうのを「スケーラビリティ(Scalability)が高いシステムである」と表現します。
もともと動的コンテンツに比べてコストが低く抑えられるのが静的コンテンツのホスティングです。
Cloud Storageを利用することで、必要なリソースを効率的に管理し、コストを最小限に抑えられます。
また、データの暗号化やアクセス制御などのセキュリティ機能を提供しており、ウェブサイトのコンテンツを安全に保護してくれます。
GAE(Google App Engine)はステートレスな設計となっているため、データは外部のストレージに保存する必要があります。
GCS(Google Cloud Storage)はそのためのオブジェクトストレージとして最適ということです。
App Engineに静的ウェブサイトをデプロイすると、Cloud Storageに下記2つのバケットが作成されることになります。
参考サイト:
AWS・Azureで同様の機能を持つプロダクト
どちらもオブジェクトストレージサービスで、クラウド上でデータを保存、管理、アクセスするために使用されます。
プログラムを簡単にインターネット上で動かすことができます。
アプリケーションの実行環境です。
Cloud Runはこれらの作業を自動でスケールしてくれるので、手間がかかりません。─ スケールとは、必要に応じて処理能力を増減するという意味です。─
AWS・Azureで同様の機能を持つプロダクト
Azure Container Appsは、アプリケーションを簡単にデプロイ(公開)して管理できるサービスです。
ブログや小さなウェブサイトを作りたいときに使います。
自動でスケールしてくれるので、アクセスが増えても安心です。
Azure Container Instancesは、コンテナという小さな箱にアプリケーションを入れて、すぐに実行できるサービスです。
データ処理や一時的なタスクを実行したいときに使います。
すぐに起動して、使い終わったらすぐに終了できるのが特徴です。
大量の画像を一時的に処理したいときに、必要なときだけコンテナを起動して処理し、終わったらすぐに終了するといった使い方が想定できます。
インターネット上で動く小さなプログラムと言えば良いでしょうか。
特定のイベントが起きたときに自動で何かを実行することができます。
AWS・Azureで同様の機能を持つプロダクト
この2つのサービスもおおよそ似たような機能をクラウドに実装するのに役立ちます。
クラウドに「仕組み」を作っておけば、手作業を減らして効率的に作業を進めることができるんですよね。
複数のAPIを一元管理し、外部からのリクエストを適切なサービスに振り分けるための仕組みです。
リクエストのルーティング、セキュリティの確保、モニタリングとロギング、スケーリングなどの役割を果たします。
例えば…レストランのウェイターみたいな感じでしょうか?
クライアントからのリクエストを受け取り、それをバックエンドサービスに伝え、処理結果をクライアントに返す役割を担っています。
AWS・Azureで同様の機能を持つプロダクト
Amazon API Gatewayは、Amazon Web Services (AWS)が提供するサービスで、APIの作成、公開、モニタリング、保護を行うことができます。
特に他のAWSサービス(例えばLambdaやDynamoDB)とシームレスに連携できる点が特徴でしょうか。
料金体系は使用量に応じた従量課金制で、開発者ポータルはサードパーティツールが必要です。
一方、Azure API ManagementはMicrosoft Azureが提供するサービスで、同様にAPIの作成、公開、モニタリング、保護を行うことができます。
Azureの他のサービス(例えばAzure FunctionsやLogic Apps)と強く統合されているところがポイントです。
料金体系は月額料金制が主流で、ビルトインの開発者ポータルがあり、自動生成されるため設定が簡単な印象がありますね。
どちらを選ぶかは、既に使っているクラウドサービスや具体的なニーズによります。
Googleが提供する仮想マシンサービスで、物理的なサーバーを購入したり設置したりする必要なく、インターネット上で仮想的なサーバーを作成して利用できます。
仮想マシンを作成することで、ウェブサイトを運営するためのサーバーや大量のデータを処理するためのコンピュータを簡単に作成でき、必要に応じて仮想マシンの数を増やしたり減らしたりすることで、アクセスが増えたときには仮想マシンを増やして対応し、アクセスが減ったときには減らしてコストを節約できます。
実際に使用した分だけ料金が発生するため、無駄なコストを抑えることができ、事前に大きな投資をする必要もありません。
Googleのインフラストラクチャは非常に信頼性が高く、99.9%の稼働率を保証しており、LinuxやWindowsなどさまざまなオペレーティングシステムを選んで仮想マシンを作成でき、必要に応じてCPUやメモリの量をカスタマイズすることも可能です。
Compute Engineは、ウェブサイトのホスティングやデータ処理、新しいソフトウェアの開発やテスト環境の構築など、初心者でも簡単に使い始めることができる便利なサービスです。
と、こう書くと良いことだらけでしょ?
Compute Engineが極めて高い汎用性を持っていることは事実ですが、その反面、サーバーの設定も全て自分でやることになるのですよ。
自由自在なWebサイトを構築できますが、そのぶん手間が凄いです。
でもおもしろいですよ?
わざわざ高額なパソコンを買わなくていいし、自分でパソコンを組み立てる必要もありません。
ハードウェアの物理的な経験を積みたい人以外は、今後はこの方向に流れるでしょう。
まだ一般化していないけどね。
どっちも似たような機能なんですよね。
GCP・AWS・Azureのどれを選ぶかは、その時に応じて柔軟に決めたほうが良いと思う。
AWS・Azureで同様の機能を持つプロダクト
Amazon Web Services(AWS)が提供するクラウドコンピューティングサービスです。
EC2にはバースト対応、一般用途向け、メモリ最適化、コンピューティング最適化、GPU付きなどのさまざまなインスタンスタイプがあります。
課金モデルは秒単位での課金で、最小課金時間は60秒です。
料金節約オプションとして、リザーブドインスタンス、Savings Plans、スポットインスタンスがあります。
物理配置に関しては、プレイスメントグループ(クラスター、スプレッド、パーティション)を使用します。
バックアップについては、AWS Backupを利用してBackup Vaultに保存します。
セキュアなアクセスでは、AWS Systems ManagerのSession Managerを利用します。
Microsoft Azureが提供するクラウドコンピューティングサービスです。
Azure VMもバースト対応、汎用、メモリ最適化、コンピューティング最適化、GPU付きなどのシリーズがあります。
課金モデルは分単位での課金で、1分未満の利用分は切り捨てられます。
料金節約オプションとして、Azure Reserved Virtual Machine InstancesやSpot Virtual Machinesがあります。
物理配置に関しては、可用性セットや近接配置グループを使用します。
バックアップについては、Azure Backupを利用してRecovery Servicesコンテナーに転送します。
セキュアなアクセスでは、Bastionを利用します。
このサイトも本格的になってきたら、こういうプロダクトが必要になってくる可能性がありますね。
Google Cloudの「Recommender」は、クラウド環境を最適化するためのツールで、Google
Cloudがクラウドリソースを分析し、コスト削減やパフォーマンス向上のためのアドバイスを提供してくれるサービスです。
主な機能としては、使っていないリソースや過剰に割り当てられたリソースを見つけて削除やダウングレードの提案をするコスト削減、リソースの利用状況を分析しより効率的な設定や構成を提案するパフォーマンス向上、セキュリティリスクを検出し改善策を提案するセキュリティ強化があります。
具体例としては、仮想マシン(VM)の使用状況を分析し不要なVMを削除する提案をするVM Recommender、アクセス権限を見直し不要な権限を削除する提案をするIAM
Recommender、ファイアウォールの設定を最適化しセキュリティを強化する提案をするFirewall
Insightsがあり、これらのツールを使うことでクラウド環境を効率的に管理しコストを抑えながらパフォーマンスを最大化することができます。
AWS・Azureで同様の機能を持つプロダクト
AWS Cost Explorerはコストと使用量を視覚化し、コストの傾向を分析するためのツールで、コストの最適化のポイントを見つけることができます。
AWS Budgetsは予算を設定し、実際の使用量が予算に近づいたり超過したりした場合にアラートを受け取ることができる機能です。
AWS Trusted Advisorはコスト最適化、セキュリティ、パフォーマンス、フォールトトレランスに関する推奨事項を提供するサービス。
AWS Cost and Usage ReportはAWSの使用量とコストに関する詳細なレポートを提供し、コスト管理を支援します。
Amazonのほうがコスト管理は多機能であるイメージです。
Azure Cost Managementは、Azureのクラウドコストを管理、監視、最適化するためのツールです。
リソースグループ、サービス、場所、タグ別にコストを分類し、カスタムフィルターを作成して重要なデータに焦点を絞ることができます。
予算に基づいて通知を設定し、支出の急増や減少に対するアラートを受け取ることができます。
さまざまな事業単位、プロジェクト、または顧客にクラウドコストを分散し、リソース間でコストを分割または移動することができます。
カスタムレポートを作成し、詳細な分析を実行し、コストデータを他のビジネスシステムと統合することができます。
そのため、クラウドへの投資を効率的に管理し、コストの透明性と正確さを保つことができます。
このようにGCP・AWS・Azureとコスト管理を見てきましたが、私がやりたいのは静的ウェブサイトのホスティングですから、実際のところずっと無料である可能性も高いのです。
Google Cloud VMware Engineは、Google
Cloud上でVMwareのプラットフォームを利用できるサービスで、企業が既存のVMware環境を大きな変更なしにクラウドに移行し、運用することを可能にします。
これにより、システムのダウンタイムを最小限に抑えつつ、クラウドの利便性を享受でき、Googleがインフラストラクチャ、ネットワーキング、管理サービスを提供するため、ユーザーはVMwareの運用に集中できます。
主要なVMwareコンポーネントであるvSphere、vCenter、vSAN、NSXが含まれており、オンプレミスと同様の環境をクラウド上で利用できるほか、Google
Cloudのセキュリティ機能と信頼性を活用しながらVMware環境を運用できます。
具体的な利用シーンとしては、既存のデータセンターの容量が不足している場合にクラウド上に拡張したり、災害時に迅速に復旧できるバックアップ環境を構築したり、新しいアプリケーションの開発やテスト環境をクラウド上に迅速に構築することが挙げられます。
さすがに個人サイトレベルでVMware環境をクラウドに移行する機会はないと思うけどね。
クラウドコンピューティングを知るなら、こういうプロダクトも把握しておいたほうがいいと思う。
AWS・Azureで同様の機能を持つプロダクト
「VMware Cloud on AWS」と「Azure VMware Solution」はどちらもVMwareの仮想化技術をクラウド上で利用できるサービスですが、いくつかの違いがあります。
VMware Cloud on AWSはVMwareとAmazon Web Services (AWS)の共同サービスで、AWSのインフラ上で動作し、AWSのリソースを活用します。
AWSのエコシステムと緊密に統合され、AWSのサービスとシームレスに連携できるようになっています。
一方、Azure VMware SolutionはMicrosoft
Azure上で提供されるVMwareのサービスで、Azureのインフラ上で動作し、Azureのリソースを活用します。Azureの既存リソースやオンプレミス環境との接続が容易で、Azureポータルから管理でき、vSphereやNSXの管理もオンプレミス同様に行えます。
どちらを選ぶかは、既存のクラウド環境や利用したいクラウドサービスに依存し、例えば既にAWSを利用している場合はVMware Cloud on AWSが、Azureを利用している場合はAzure VMware
Solutionが適しているかもしれません。
どちらのサービスも、オンプレミスのVMware環境をクラウドに移行する際のコストや手間を最小限に抑えることができます。具体的なニーズや既存のインフラに基づいて選択すると良いでしょう。
ぶっちゃけ、どこの料金が安いかだよね。個人レベルであれば。
安いは正義でしょ。
Google Kubernetes Engine(GKE)は、Google Cloudが提供するサービスで、コンテナ化されたアプリケーションを管理・運用するためのプラットフォームです。
THE KING OF FIGHTERS (KOF)の完全新作「KOFクロニクル」でも使われている技術ですね!
コンテナとは、アプリケーションとその依存関係を一つにまとめたパッケージのことを指します。
GKEを使うと、アプリケーションのデプロイ(配置)、スケーリング(拡張)、および管理が自動化され、手動での作業が減り効率が上がります。
また、アプリケーションの需要に応じて自動的にリソースを増減させることができ、アクセスが増えたときに自動でサーバーを追加し、アクセスが減ったときに減らすことができます。
さらに、GKEはアプリケーションが常に稼働し続けるように設計されており、障害が発生した場合でも迅速に復旧する仕組みが整っています。
Googleのセキュリティ機能を活用して、アプリケーションを安全に保つこともできます。
具体的な使い方としては、まずクラスタと呼ばれるコンテナのグループを作成し、このクラスタがアプリケーションを実行する基盤となります。
次に、作成したクラスタにコンテナ化されたアプリケーションをデプロイし、そのためアプリケーションがクラスタ内で実行されます。
最後に、GKEのダッシュボードやコマンドラインツールを使ってクラスタやアプリケーションの状態を監視し、必要に応じて調整を行います。
GKEは、アプリケーションの管理を簡単にし、スケーラビリティや高可用性を提供するツールです。
参考サイト:株式会社 SNK:全世界にファンを持つ THE KING OF FIGHTERS (KOF)の完全新作「KOFクロニクル」を GKE で構築
AWS・Azureで同様の機能を持つプロダクト
Amazon Elastic Kubernetes
Service(EKS)はKubernetesをベースにしたフルマネージドサービスで、既にKubernetesを使用している場合やそのエコシステムを活用したい場合に適していますが、Kubernetesの知識が必要で学習コストが高めです。
一方、Amazon Elastic Container
Service(ECS)はAWS独自のコンテナオーケストレーションサービスで、Kubernetesを使用せず、AWS環境内での利用が前提となり、学習コストが低く簡単に始められます。
どちらもAWSが管理するフルマネージドサービスで、インフラの管理負担を軽減し、EC2インスタンスやAWS
Fargateを使用してコンテナをデプロイできますが、EKSはKubernetesのアップデートに追従する必要があり運用コストがかかるのに対し、ECSはバージョン管理が不要で運用コストが低めです。
選択は既存の技術スタックや運用の複雑さ、学習コストなどに依存します。
Azure Kubernetes Service(AKS)は、Microsoft
Azureが提供するマネージドKubernetesサービスで、コンテナ化されたアプリケーションのデプロイ、管理、スケーリングを簡単に行うことができます。
AKSはKubernetesクラスターのセットアップと管理を簡素化し、Azureポータル、CLI、またはAzure Resource
Managerテンプレートを使用してクラスターを迅速に作成できるほか、自動スケーリング機能を提供し、需要に応じてクラスターのノード数を自動的に増減させることができます。
また、Azure Active Directory(AAD)統合、ネットワークポリシー、監査ログなどのセキュリティ機能を備えており、セキュアな環境でアプリケーションを実行できるだけでなく、Visual Studio
CodeやAzure DevOpsなどのツールと統合されており、開発からデプロイまでのワークフローを効率化します。
さらに、AKSは使用したリソースに対してのみ課金されるためコスト効率が高く、未使用のノードは自動的に停止されコストを削減します。
そのため、Kubernetesの複雑さを軽減し、クラウドネイティブアプリケーションの開発と運用をスムーズに行うことができます。
Google CloudのCloud CDNとMedia CDNは、どちらもコンテンツ配信ネットワーク(CDN)ですが、用途や機能に違いがあります。
どちらを選ぶかは、配信するコンテンツの種類や必要な機能によって異なります。
このサイトの場合、主に日本の閲覧者を想定していますがリージョンを欧米諸国に置いています。
本来であれば望ましい使い方ではないのですが、静的ウェブサイトを公開しているだけですから、そんな気になるほどのレイテンシは発生しないでしょう。
どうしても重量級の何かを動かすときには、また別のプロジェクトを立ててデプロイしようかと思っています。
それより、解決していないAI学習の著作権問題のほうが気になるんですよね。
Cloud CDN
Media CDN
AWS・Azureで同様の機能を持つプロダクト
Amazon CloudFrontとAzure Front Doorはどちらもコンテンツ配信ネットワーク(CDN)サービスですが、それぞれに特徴があります。
CloudFrontは動的ロードバランシング、キャッシュ、セキュリティ機能(AWS WAFとの統合)などを提供し、料金体系は従量課金制で、使用したデータ量に応じて料金が発生します。
また、Amazon S3バケットと簡単に統合でき、オリジンアクセスコントロール(OAC)を使用してセキュアにアクセスを制御できます。
一方、Azure Front Doorはグローバルな負荷分散、ルーティング、トラフィック管理、セキュリティ機能(Azure
WAFとの統合)などを提供し、料金体系はStandardとPremiumのプランがあり、固定費が発生します。
PremiumプランにはWAFの料金も含まれます。さらに、Azure Blob Storageと統合可能で、PremiumプランではPrivate Linkを使用してセキュアにアクセスできます。
主な違いとして、CloudFrontは動的ロードバランシングを提供し、オリジンのヘルスに基づいてトラフィックを分散しますが、Front Doorはルーティングとトラフィック管理に重点を置いています。
また、CloudFrontは従量課金制であるのに対し、Front Doorは固定費が発生するプランがあります。
セキュリティ面では、CloudFrontはAWS WAFと統合され、Front DoorはAzure WAFと統合されています。
どちらのサービスも優れた機能を持っていますが、具体的なニーズに応じて選択することが重要です。
Cloud DNS
目的: 高性能なDNSサービスを提供し、ドメイン名の解決を行います。
特徴:
Cloud Domains
目的: ドメインの購入、移管、管理を行うサービスです。
特徴:
独自ドメインの購入
AWS・Azureで同様の機能を持つプロダクト
Amazon Route 53
Azure DNS
BigQuery(ビッグクエリ)は、Google Cloudが提供するデータ解析サービスです。
アナザーエデンでも使われていたシステムですよ。
参考サイト:「アナザーエデン 時空を超える猫」の5年前のログを引っ越してデータドリブンで事業運用プロセスを改善した話
例えば、オンラインショップの運営者がBigQueryを使って、顧客の購買データを解析するとします。
どの商品が人気か、どの時間帯に売れるかなどを分析することで、マーケティング戦略を最適化できます。
BigQueryは、初心者でも簡単に始められる強力なデータ解析ツールです。
データの管理や解析を効率的に行いたい場合に非常に役立ちます。
Amazon Athenaはサーバーレスのインタラクティブなクエリサービスです。
標準的なSQLを使用して、Amazon S3に保存されているデータを直接クエリできます。
インフラの管理が不要で、クエリを実行するだけで利用可能です。
標準SQLをサポートしており、数秒で結果を取得できます。
Amazon S3だけでなく、オンプレミスや他のクラウドデータソースからもデータをクエリできます。
実行したクエリに対してのみ課金されるため、コスト管理がしやすいです。
Amazon Redshiftは高速でスケーラブルなデータウェアハウスサービスです。
大規模なデータセットを効率的に分析するために設計されています。
超並列処理(MPP)アーキテクチャを採用しており、大量のデータを迅速に処理できます。
ペタバイト規模のデータを扱うことができ、必要に応じてスケールアウトが可能です。
Redshiftは他のクラウドデータウェアハウスと比較して優れたコストパフォーマンスを提供します。
また、AWSの他のサービスとシームレスに統合できます。
Athenaはアドホックなクエリやデータ探索に適しており、Redshiftは大規模なデータウェアハウスとしての利用に向いています。
Google Cloud SDK ShellとGoogle Cloud Shellは異なるものです。
それぞれの特徴を簡単に見ていきます。
Google Cloud SDK Shell
gcloud
、gsutil
、bq
などのツールが含まれています。
Google Cloud Shell
主な違い
どちらもGCPの管理に便利なツールですが、用途や使用環境に応じて使い分けていきます。
次に、Google Cloud SDK Shellを使う際に、最低限覚えておくと便利なコマンドをいくつか紹介します。
基本コマンド
gcloud init
: 初期設定を行い、プロジェクトや認証情報を設定gcloud auth login
: Google Cloudにログインgcloud auth list
: 認証済みアカウントの一覧を表示gcloud projects list
: プロジェクトの一覧を表示gcloud config set project [PROJECT_ID]
: デフォルトプロジェクトを設定gcloud components install [COMPONENT_ID]
: 特定のコンポーネントをインストールgcloud components update
: gcloud CLIを最新バージョンに更新gcloud info
: 現在のgcloud CLI環境の詳細を表示gcloud version
: インストールされているgcloud CLIのバージョンを表示App Engineでよく使うコマンド
ここらへんを覚えておけば、スムーズにapp engineによるホームページ作成ができると思います。
gcloud app deploy
: App Engineにアプリケーションをデプロイgcloud app browse
: デプロイされたアプリケーションをブラウザで開くgcloud app describe
: App Engineアプリケーションの設定情報を表示gcloud app logs tail -s default
: リアルタイムでアプリケーションのログを表示gcloud app versions list
: デプロイされたアプリケーションのバージョン一覧を表示gcloud app versions delete [VERSION_ID]
: 特定のバージョンを削除AWS CLIはAmazon Web Services (AWS) のサービスをコマンドラインから操作するためのツールで、スクリプトやバッチ処理を使ってAWSリソースを管理することができます。
主な機能としてはEC2インスタンスの起動・停止やS3バケットの作成・削除などのリソース管理、スクリプトを使った定期的なタスクの自動化、他のツールやサービスと統合して複雑なワークフローを構築することが挙げられます。
S3バケットのリストを取得するためのaws s3 ls。
EC2インスタンスを起動するためのaws ec2 start-instances --instance-ids i-1234567890abcdef0など、いろんなコマンドを使って操作します。
Azure CLIはMicrosoft Azureのサービスをコマンドラインから操作するためのツールです。
Azureリソースを効率的に管理し自動化することができます。
主な機能としては仮想マシンの作成・管理やストレージアカウントの操作などのリソース管理、スクリプトを使ったAzureリソースのデプロイや管理の自動化、Windows、macOS、Linuxで利用可能なクロスプラットフォーム対応があります。
リソースグループを作成するためのaz group create --name MyResourceGroup --location eastus。
仮想マシンを作成するためのaz vm create --resource-group MyResourceGroup --name MyVM --image UbuntuLTS --admin-username
azureuser --generate-ssh-keysなど、こちらにもいろんなコマンドがありますね。
どちらのCLIもクラウドリソースの管理を効率化し自動化するための強力なツールで、どちらを使うかは利用しているクラウドサービスに依存します。
AWSの「7つのR」は、クラウド移行戦略を示す7つの方法を指します。
これらの戦略は、オンプレミスのシステムをAWSに移行する際に、どのように対応するかを分類するためのものです。
これらの戦略を適用することで、移行計画を効率的に進めることができます。
ていうか考え方ですよね。クラウドの哲学なんて言葉まで聞いたことありますよ。
ここにあるプロダクトは個人サイト制作とはあまり深い関わりはないですね。
普通はここまでやらないし。
軽くまとめて、もし必要になったら詳しく追記していきます。
Firestore
Firebase Realtime Database
Firestoreは、複雑なデータ構造や高いスケーラビリティが必要なアプリケーションに適しています。
一方、Firebase Realtime Databaseは、シンプルなデータ構造とリアルタイム同期が必要なアプリケーションに適しています。
Bigtable
Google Cloud Bigtableは、広範なデータを扱うために設計された高スループット・低レイテンシーのNoSQLデータベースです。
Datastore
Google Cloud Datastoreは、ドキュメント指向のNoSQLデータベースで、柔軟なデータモデルを提供します。
Amazon DynamoDBとAmazon DocumentDBは、どちらもAWSが提供するNoSQLデータベースですが、いくつかの重要な違いがあります。
Amazon DynamoDB
Amazon DocumentDB
どちらのデータベースを選ぶかは、アプリケーションの要件に依存します。
例えば、キー・バリュー型データモデルが必要であればDynamoDBが適していますし、MongoDB互換性が必要であればDocumentDBが適しています。
Microsoftが提供するグローバルに分散されたマルチモデルNoSQLデータベースサービスです。
データを世界中の複数の場所に分散して保存できるため、どこからでも高速にデータにアクセスできます。
また、JSON、XML、グラフ、バイナリデータなど、さまざまなデータ形式を一つのデータベースで管理できます。
さらに、SQL、MongoDB、Cassandra、Gremlin、Tableなど、複数のデータアクセス用APIをサポートしており、既存のアプリケーションを簡単に移行できます。
自動インデックス作成機能により、データが追加されると同時に自動的にインデックスが作成されるため、リアルタイムでのフィルタリングが可能です。
Azure Cosmos DBは99.999%の高可用性を保証し、ミリ秒単位の応答時間でデータにアクセスできます。
そのため、ユーザー生成コンテンツの管理、IoTデータの処理、ゲームアプリでのリアルタイム更新など、さまざまなユースケースに対応しています。
PostgreSQL互換のデータベースサービスです。
特にハイブリッドトランザクションおよび分析処理(HTAP)ワークロード向けに設計されています。
主な特徴
利用シナリオ
AlloyDBは、Googleのクラウドインフラストラクチャを活用し、YouTubeやGmailなどの大規模サービスと同じ基盤技術を使用しています。
フルマネージドのリレーショナルデータベースエンジンです。
MySQLおよびPostgreSQLと互換性があり、商用データベースの高性能と信頼性をオープンソースデータベースのシンプルさとコスト効率で提供します。
主な特徴:
Auroraは、AWSのAmazon Relational Database Service (RDS) の一部として提供され、データベースのセットアップ、運用、スケーリングを簡素化します。
Azure Cosmos DB for PostgreSQL
Azure SQL Database
どちらのサービスも、特定のニーズに応じて選択することが重要です。例えば、新しいアプリケーションを構築する場合はAzure Cosmos DB for PostgreSQLが適しており、既存のSQL Serverアプリケーションをクラウドに移行する場合はAzure SQL Databaseが適しています。
Google CloudのFilestoreは、完全に管理されたファイルストレージサービスで、Google Cloud Platform (GCP)上で動作するアプリケーション向けにネットワークアタッチドストレージ (NAS) を提供します。
主な特徴
利用シナリオ
Filestoreは、Google Cloud上でのアプリケーション運用を簡素化し、効率的なファイルストレージソリューションを提供します。
これはちょっと興味あるんですよね。
あるいは何か使えるかもしれない。
開発環境はそれこそローカルでも十分ではあるけど、複数アプリのファイル共有機能は覚えておきたいところです。
どちらもクラウドベースのファイルストレージサービスですが、いくつかの違いがあります。
Amazon Elastic File System (EFS)
Azure Files
Google Cloudの「Security Command Center(SCC)」はクラウド環境のセキュリティを総合的に管理し、脅威や脆弱性を早期に発見・対処するためのツールです。
クラウド上のリソースのセキュリティ状態を一目で確認できるようにし、どのリソースが安全でどのリソースに問題があるかを簡単に把握できます。
また、クラウド環境内で発生する可能性のあるセキュリティ脅威を自動的に検出し、不正アクセスの試みやマルウェアの活動などを見つけ出して警告を発します。
さらに、クラウドリソースの設定ミスやセキュリティホールを検出し、それらを修正するためのアドバイスを提供することで、セキュリティリスクを未然に防ぐことができます。
SCCはGoogle Cloudの他のセキュリティサービスと連携して動作し、複数のセキュリティツールを一元管理できるため、効率的にセキュリティ対策を講じることができます。
AWS・Azureで同様の機能を持つプロダクト
これらのサービスはそれぞれ異なる目的と機能を持っており、組み合わせて使用することで、AWS環境のセキュリティとコンプライアンスを強化できます。
Amazon GuardDuty AWS環境内の脅威を検出するためのサービス。
AWS Security Hub AWS環境全体のセキュリティ状況を一元的に可視化するためのサービス。
AWS Audit Manager
AWS Config
クラウドベースのアプリケーションやデータをサイバー脅威から守るためのセキュリティツールです。
ユーザーやグループの管理を簡単にするためのツールです。
IDaaS(Identity as a Service)と呼ばれるサービスの一種で、インターネットを通じてユーザーのID(アカウント)を管理します。
Cloud Identityを使うと、会社や組織内のユーザーやグループを一元管理でき、新しい社員が入社したときにその人のアカウントを簡単に作成して必要なアクセス権を設定できます。
また、シングルサインオン(SSO)機能を使うと、ユーザーは一度のログインで複数のアプリケーションやサービスにアクセスでき、毎回異なるパスワードを入力する手間が省けます。
さらに、多要素認証(MFA)を設定することでセキュリティを強化でき、パスワードに加えてスマートフォンのアプリやSMSで送られるコードなど複数の認証方法を組み合わせることができます。
Cloud Identityは、ユーザーが使用するデバイス(パソコンやスマートフォンなど)も管理でき、紛失したデバイスのデータをリモートで消去することが可能です。
このような機能を用いて、Googleの他のサービス(例えばGoogle Workspace)やMicrosoftのActive
Directoryなど他のID管理システムとも連携でき、組織全体のセキュリティと管理が一層強化されます。
AWS・Azureで同様の機能を持つプロダクト
AWS(Amazon Web Services)上でユーザーのアクセス管理を簡単にするためのサービスです。
企業や組織がユーザーのアイデンティティとアクセスを効率的に管理し、セキュリティを強化するためのツールです。
Google Cloudのサービスの一部で、仮想マシン(VM)の数を自動的に調整する機能です。
ウェブサイトやアプリケーションのトラフィックが増えたときに自動でサーバーを追加し、逆にトラフィックが減ったときにはサーバーを減らすことができます。
具体的な仕組み
メリット
例
例えば、オンラインショップを運営している場合、セール期間中にアクセスが急増することがあります。
このとき、オートスケーラーが自動でサーバーを増やして対応し、セールが終わるとサーバーを減らしてコストを抑えることができます。
AWS・Azureで同様の機能を持つプロダクト
アプリケーションの負荷に応じて自動的にEC2インスタンス(仮想サーバー)の数を増減させる機能です。
これにより、必要なリソースを常に確保し、コストを最適化しながらアプリケーションの可用性を維持できます。
動作
具体例
例えば、EC2 Auto Scalingグループを次のように設定したとします:
この場合、通常は4つのインスタンスが稼働していますが、アクセスが増えて負荷が高まると、最大10個までインスタンスが自動的に追加されます。
逆に、負荷が減るとインスタンス数が減少し、コストを抑えることができます。
メリット
どちらもAzureのスケーリング機能ですが、それぞれ異なる目的と機能を持っています。
Azure Autoscaleは、Azure Monitorの一部として提供される機能で、リソースのインスタンス数を自動的に増減させることができます。
アプリケーションの負荷に応じてリソースを動的に調整し、コスト効率を高めることができます。
Azure Virtual Machine Scale Setsは、複数の仮想マシン(VM)をグループとして管理し、自動的にスケーリングするためのサービスです。
高可用性とアプリケーションの回復力を提供します。
Azure AutoscaleとAzure Virtual Machine Scale Sets (VMSS)の違い
特徴
使い方
例
例えば、ウェブサイトを運営していて、データベースの容量が足りなくなった場合、Persistent Diskを追加して容量を増やすことができます。
サービスを停止することなく、スムーズに運営を続けることができます。
AWS・Azureで同様の機能を持つプロダクト
Amazon Web Services(AWS)が提供するクラウドストレージサービスの一つ。
簡単に言うと、EBSはクラウド上で使える便利なハードディスクのようなもので、データの保存や管理を簡単にしてくれます。
「Azure Managed Disks」と「Azure Disk Storage」は、どちらもAzureの仮想マシン(VM)で使用されるディスクストレージですが、いくつかの重要な違いがあります。
Azure Managed Disks
Azure Managed Disksは、Azureによって管理されるブロックレベルのストレージボリュームです。
Azure Disk Storage
Azure Disk Storageは、Azureの仮想マシンで使用されるディスクストレージ全般を指します。
主な違い
Google CloudのArtifact Registryは、ソフトウェアのビルドやデプロイに必要なファイル(アーティファクト)を一元管理するためのサービスです。
アーティファクトとは、ソフトウェア開発の過程で生成されるファイルやデータのことで、例えばコンテナイメージやライブラリ、パッケージなどが含まれます。
Artifact Registryはこれらのアーティファクトを安全に保存し、管理するための場所を提供し、開発チームが必要なファイルを簡単に共有し再利用できるようにします。
主な機能としては、コンテナイメージやプログラムのパッケージを一元管理する統合管理、アーティファクトの脆弱性をスキャンしてセキュリティを強化する機能、誰がどのアーティファクトにアクセスできるかを細かく設定できるアクセス制御、そして継続的インテグレーション/継続的デリバリー(CI/CD)ツールと連携し自動化されたパイプラインを構築できる機能があります。
例えば、開発チームが新しいアプリケーションを作成する際に必要なライブラリやコンテナイメージをArtifact
Registryに保存することで、チーム全体が同じバージョンのファイルを使用でき、開発がスムーズに進むという利点があります。
AWS・Azureで同様の機能を持つプロダクト
どちらもAWSのサービスですが、用途が異なります。
Amazon Elastic Container Registry(ECR)
AWS CodeArtifact
主な違い
どちらもAzureのサービスですが、用途と機能に違いがあります。
Azure Container Registry (ACR)
Azure Artifacts
主な違い
Google Cloud Translation AI
AWS・Azureで同様の機能を持つプロダクト
Amazon Translate
Azure Translator
Google Cloud Text-to-Speech
AWS・Azureで同様の機能を持つプロダクト
Amazon Polly
Azure Text to Speech
Google Cloud Speech-to-Text
AWS・Azureで同様の機能を持つプロダクト
Amazon Transcribe
Azure Speech to Text
Natural Language AI
Google CloudのNLPサービス。エンティティ認識、感情分析、構文解析、コンテンツ分類が可能。
AWS・Azureで同様の機能を持つプロダクト
Amazon Comprehend
AWSのNLPサービス。エンティティ認識、感情分析、キーフレーズ抽出、カスタム分類、カスタムエンティティ認識が特徴。
Azure Text Analytics
Microsoft AzureのNLPサービス。エンティティ認識、感情分析、キーフレーズ抽出、言語検出、PII検出が可能。
Google Cloud Vision AI
AWS・Azureで同様の機能を持つプロダクト
Amazon Rekognition Image
Azure Computer Vision
Google Cloud Document AI
AWS・Azureで同様の機能を持つプロダクト
Amazon Textract
Azure Form Recognizer
Google Cloud Vertex AI
AWS・Azureで同様の機能を持つプロダクト
Amazon SageMaker
Azure AI Platform
Google Cloudが提供するセキュリティサービスは、主にウェブサイトやアプリケーションをインターネット上の攻撃から守るために使われます。
例えば、DDoS攻撃(多数のコンピュータから一斉に大量のリクエストを送ることでターゲットのサーバーをダウンさせる攻撃)を検出し、ブロックすることで、ウェブサイトやアプリケーションを守ります。
また、ウェブアプリケーションファイアウォール(WAF)機能を持ち、SQLインジェクションやクロスサイトスクリプティングなどの攻撃を防ぐためのセキュリティ機能も提供しています。
さらに、ユーザーは自分のアプリケーションに合わせたセキュリティルールを設定することができ、特定の攻撃パターンに対して柔軟に対応できます。
例えば、オンラインショップを運営している場合、Cloud Armorを使うことで、サイトがDDoS攻撃を受けても攻撃をブロックしてくれるので、サイトがダウンするリスクが減ります。
WAF機能により顧客の個人情報を狙った攻撃からサイトを守ることができ、カスタムルールを設定することで特定の攻撃に対して迅速に対応できるため、安心してビジネスを運営することができます。
AWS・Azureで同様の機能を持つプロダクト
AWS WAF
AWS Shield
選び方
Azure Web Application Firewall (WAF)
Pub/Subのメッセージというのは、上記通りアプリケーション間でデータをやり取りするためのものであり、一般的に言うところの電子メールとは異なります。
例えば、注文情報やログデータ、通知など、システム間でリアルタイムに送受信されるデータとなります。
基本的な仕組み
メリット
具体例
オンラインショッピングサイトで注文が発生した場合、注文情報を「注文トピック」に公開します。
配送システムや在庫管理システムはこのトピックにサブスクライブしており、注文情報を受け取って処理を開始します。
このような形で各システムが独立して動作しつつ、必要な情報をリアルタイムで共有できるようになります。
AWS・Azureで同様の機能を持つプロダクト
「Amazon Kinesis」と「Azure Event Hubs」はどちらもリアルタイムデータストリーミングサービスですが、それぞれに特徴があります。
Amazon Kinesis
Amazon Kinesisは、リアルタイムで大規模なデータストリームを処理するためのAWSのサービスです。
Azure Event Hubs
Azure Event Hubsは、Microsoft Azureのイベントストリーミングプラットフォームです。
主な違い
どちらのサービスも高いスループットと低遅延を提供しますが、使用するクラウド環境や統合したい他のサービスによって選択が異なるかもしれません。
Google CloudのDataflowは、バッチ処理とストリーム処理の両方をサポートするデータ処理サービスです。
Apache Beamというオープンソースのプログラミングモデルを使用して、Java、Python、Goなどの言語でデータ処理パイプラインを作成できます。
自動スケーリング機能により、データ量に応じてリソースを増減します。
Googleがリソース管理を行うため、ユーザーはインフラの管理を気にせずにデータ処理に集中できます。
データの移動や複製、ETLワークフロー、BIダッシュボードの駆動、リアルタイムの機械学習、センサーデータやログデータの処理などのユースケースに対応する、効率的なデータ処理を可能にするツールです。
AWS・Azureで同様の機能を持つプロダクト
どちらもリアルタイムデータ処理を行うためのサービスですが、それぞれ異なる特徴とユースケースがあります。
Amazon Kinesis Data Firehoseは、主にデータの収集と転送に特化しています。
データをリアルタイムで取り込み、Amazon S3、Amazon Redshift、Amazon Elasticsearch Service、またはSplunkなどのデスティネーションに自動的に配信します。
Firehoseは、データのバッファリング、圧縮、暗号化、変換などの機能を提供し、設定が簡単で、ほとんどの管理作業を自動化します。
一方、Azure Stream Analyticsは、リアルタイムのデータストリームを分析するためのサービスです。
複数のデータソースからデータを取り込み、SQLベースのクエリを使用してデータを処理し、分析結果をAzure Blob Storage、Azure SQL Database、Azure Cosmos DB、Power
BIなどに出力します。
Stream Analyticsは、複雑なイベント処理(CEP)をサポートし、IoTデータの分析やリアルタイムダッシュボードの作成に適しています。
Googleが提供するデータベースサービスです。
データベースとは、情報を整理して保存するためのシステムのことです。
例えば、オンラインショッピングサイトでは、商品情報や顧客情報をデータベースに保存しています。
簡単に言うと、Cloud Spannerは大規模なアプリケーション向けに設計された、信頼性が高く、管理が簡単なデータベースサービスです。
AWS・Azureで同様の機能を持つプロダクト
どちらもクラウドベースのリレーショナルデータベースサービスですが、いくつかの重要な違いがあります。
Amazon Aurora
Azure SQL Database
まとめノート
どちらのサービスも高可用性と耐障害性を備えており、用途や既存のシステム環境に応じて選択することが重要です。
Google Cloudが提供するフルマネージドなリレーショナルデータベースサービスです。
データベースの管理が簡単になり、開発者はアプリケーションの開発に集中できます。
リレーショナルデータベース(RDB)は、データを表形式で管理し、表同士を関連付けて複雑なデータ構造を表現できるデータベースです。
例えば、顧客情報や注文情報を別々の表に保存し、それらを関連付けることで効率的にデータを管理できます。
Cloud SQLの特徴
利用シーン
Cloud SQLは、特にWebアプリケーションの開発やデータ分析の基盤として利用されることが多いです。
例えば、オンラインショップの顧客データや注文データを管理するのに適しています。
AWS・Azureで同様の機能を持つプロダクト
どちらもAWSが提供するリレーショナルデータベースサービス。
プロジェクトの要件に最適なデータベースサービスを選択するために違いを理解しておくこと。
Amazon RDS
Amazon Aurora
どちらもMicrosoft Azureが提供するフルマネージドなリレーショナルデータベースサービス。
Azure Database for MySQL
Azure Database for PostgreSQL
主な違い
Anthosは、Google Cloudが提供するハイブリッドクラウドおよびマルチクラウド環境を管理するためのプラットフォーム。オンプレミス(自社のデータセンター)や他のクラウドサービス(AWSやAzureなど)を含む複数の環境でアプリケーションを一元管理できる。
主な特徴
利用シーン
AWS・Azureで同様の機能を持つプロダクト
Amazon EKS Anywhere: オンプレミスや他のクラウド環境でKubernetesクラスターを管理。
Amazon ECS Anywhere: オンプレミスや他のクラウド環境でコンテナオーケストレーションを管理。
AWS Outposts: AWSのクラウドサービスをオンプレミス環境に拡張するハードウェアソリューション。
Amazon EKS Anywhereは、Kubernetesクラスターをオンプレミス環境で実行できるサービス。AWSのEKSと同じKubernetes管理機能をオンプレミスや他のクラウド環境で利用できる。クラウドとオンプレミスのハイブリッド環境で一貫したKubernetes運用が可能。
Amazon ECS Anywhereは、Amazon ECSの機能をオンプレミス環境でも利用できるサービス。AWSのクラウドサービスと同じコンテナオーケストレーション機能をオンプレミスや他のクラウド環境で利用できる。既存のインフラを活用しながら、コンテナ化されたアプリケーションを管理可能。
AWS Outpostsは、AWSのインフラとサービスをオンプレミス環境に拡張するハードウェアソリューション。AWSのクラウドサービス(EC2、EBS、RDSなど)を自社データセンターで実行でき、低レイテンシーで一貫したハイブリッドクラウド環境を構築可能。長期的なハードウェア導入が必要な場合に適している。
Azure Arcは、オンプレミスやマルチクラウド環境でのリソース管理を一元化するためのサービス。
主な機能と利点
利用シナリオ
Azure Arcは、複雑なハイブリッドおよびマルチクラウド環境をシンプルに管理し、Azureの一貫した管理体験を提供するツール。
アナザーエデンの強敵戦やストーリーコンテンツのリスト、お勧めバッジなどを掲載したコーナーです。
期間限定のない普通のRPGですので、初心者でも安心して続けていけるゲームとなっています。
もっとも重要なグラスタについては、場所別に網羅した表があります。
個人でウェブサイトを作るにはどうすればいいか。
HTML・CSS・JavaScriptの書き方はもちろん、無料かつ広告なしでホームページを作る方法を掲載したコーナーです。
Webデザインやレイアウトについても書いてあります。
ゲームとパソコンだけじゃなく、アウトドアも趣味なんです。
このコーナーでは魚釣りの記録とか、魚料理のレシピ、はたまたサイクリングなどなど。
アウトドアに関連するコンテンツが詰め込まれています。