フォーム読み込み中
本記事は、ソフトバンクアドベントカレンダー 2022 24日目の記事です。
本記事では、Alibaba Cloud、Amazon Web Services、 Microsoft Azure と Google Cloud の4つのクラウドにおけるサーバレスの設定、その中でも HTTP イベントの設定について、紹介します。
サーバレスは、プログラミングされたアプリケーションの処理を実行することを主な目的としていて、サーバを意識せずにシステムを構築することができるサービスで、各クラウドで導入されています。
サーバレスとは言え、実体としては、OS、ミドルウエアなどはありますが、これらのメンテナンス等、サーバの管理は各クラウド事業者側が行うことになりますので、システムの運用コストを抑えられる特徴があります。
サーバレスのファンクションは、さまざまなトリガーで起動されますが、今回はHTTPトリガーを紹介します。HTTPトリガーを手軽に利用できるようにしておくと、サービス間連携の接続性確認時にさっと使えるので便利です。
サーバレスの概要の詳細説明などは、以前公開された記事「サーバレスってなに?Alibaba Cloud, AWS, Azure, Google Cloud のサーバレスサービスを比べてみました」をご参照ください。
Alibaba Cloud では、Alibaba Function Compute を使用して設定を確認します。
Alibaba Cloud のコンソールにログインし、「 Function Compute 」を選択します。
「サービスの作成」を選択します。
「名前」欄を記入します。(他はデフォルト)
「関数を作成」を選択します。
「組み込みランタイムを使い作成する」を選択し、「関数名」欄を記入、「リクエストタイプ」欄は「 HTTP リクエスト」を選択、「ランタイム環境」欄は「Node.js 14」を選択、「コードのアップロード方法」欄は、「 Hello, World の例」を選択し、「作成」ボタンを押します。
コードはそのままで、「テスト関数」タブを選択し、「関数のテスト」ボタンを押すと、実行結果が表示されます。
また、「トリガー関数(URL)」タブから、「インターネットエンドポイント」欄の URL をコピーします。
ブラウザからこの URL にアクセスすると、同じ内容のファイルがダウンロードされます。
AWSでは、AWS Lambda 関数を使用して設定を確認します。
AWS マネジメントコンソールにログインします。
「 Lamdba 」を選択します。
「関数を作成」を選択します。
「一から作成」を選択し、「関数名」欄を入力、「ランタイム」欄を選択、「詳細設定」を開きます。
「関数 URL を有効化」にチェックをし、「認証タイプ」欄は「 NONE 」を選択し、「関数を作成」ボタンを押します。
「テスト」タブを選択します。
そのままで「保存」ボタンを押します。
「関数の URL 」欄の URL をコピーし、ブラウザからアクセスすると、以下の結果が表示されます。
Azure では、Azure Functions を使用して設定を確認します。
Azure portal にサインインします。
「 Function App 」を選択します。
「リソースグループ」欄を選択し、「関数アプリ名」欄を入力、「公開」欄で「コード」を選択、「ランタイムスタック」欄で「 Node.js 」を選択、「バージョン」欄で「 16 LTS 」を選択、「地域」欄は「Japan East」を選択、「オペレーティング システム」欄は「 Windows 」を選択、「プランの種類」欄は「消費量(サーバレス)」を選択し、「作成および確認」ボタンを押します。
「作成」ボタンを押します。
「リソースに移動」を選択します。
「作成」をクリックして、「開発環境」欄で「ポータルで開発」を選択、「テンプレート」欄で、「 HTTP trigger 」を選択し、「作成」ボタンを押します。
左メニュー欄の「コードとテスト」を選択します。
Google Cloud では、Cloud Functions を使用して設定を確認します。
Google Cloud の管理コンソールにログインします。
「 Cloud Functions 」を選択します。
「関数を作成」ボタンを押します。
「環境」欄から「第 1 世代」を選択し、「関数名」欄を入力、「リージョン」欄で「 asia-northeast1 」を選択、「トリガーのタイプ」欄で「 HTTP 」を選択、「 HTTPS 」欄で「必須」を選択して、「保存」ボタンを押します。
(「認証」欄は、変更する権限がないので、デフォルトのまま)
そのまま、「次へ」ボタンを押します。
そのまま「デプロイ」ボタンを押します。
デプロイが完了した画面で、「テスト中」タブを選択します。
今回は HTTP イベント トリガーについて設定確認をしました。
各クラウドは HTTP イベント トリガーだけではなく、以下のように各サービスとの連携ができるようになっています。
クラウド名 | ||||
---|---|---|---|---|
サービス/トリガー | Manage triggers Formats of event for different triggers Time trigger OSS triggers SLS triggers CDN event triggers Tablestore trigger HTTP triggers MNS topic triggers MNS queue triggers Message Queue for Apache RocketMQ triggers Message Queue for RabbitMQ triggers Message Queue for Apache Kafka triggers API Gateway trigger EventBridge trigger | Amazon Alexa Amazon Managed Streaming for Apache Kafka セルフマネージド Apache Kafka Amazon API Gateway AWS CloudFormation Amazon CloudFront (Lambda@Edge) Amazon EventBridge (CloudWatch Events) Amazon CloudWatch Logs AWS CodeCommit AWS CodePipeline Amazon Cognito AWS Config Amazon Connect Amazon DynamoDB Amazon Elastic File System Elastic Load Balancing (Application Load Balancer) AWS IoT AWS IoT Events Amazon Kinesis Amazon Kinesis Data Firehose Amazon Lex Amazon MQ Amazon Simple Email Service Amazon Simple Notification Service Amazon Simple Queue Service Amazon Simple Storage Service (Amazon S3) Amazon Simple Storage Service Batch シークレットマネージャー AWS X-Ray | Blob Storage Azure Cosmos DB Azure SQL (プレビュー) Dapr3 Event Grid Event Hubs HTTP と Webhook IoT Hub Kafka2 Mobile Apps Notification Hubs Queue Storage RabbitMQ2 SendGrid Service Bus SignalR Table Storage Timer Twilio | (第 1 世代) HTTP トリガー イベント トリガー: Pub/Sub トリガー Cloud Storage トリガー Firestore トリガー Firebase 向け Google アナリティクス トリガー Firebase Realtime Database トリガー Firebase Authentication トリガー Firebase Remote Config トリガー (第 2 世代) HTTP トリガー イベント トリガー: Pub/Sub トリガー Cloud Storage トリガー 汎用の Eventarc トリガー ( Eventarc でサポートされている全てのイベントタイプをサポート) |
いずれも、最初の導入確認として、各クラウドのコンソール画面にあるエディタを使用して、動作確認できました。
初期設定では、AWS と Azure は、管理コンソールとは別のブラウザからアクセスすることができますが、Alibaba Cloud、Google Cloud は権限を設定していないときはクラウドの管理コンソール画面から実行確認することになります。
実際にシステム構築の際には各クラウドの他のサービスと繋げて使用することが多いと思います。そのときには、各クラウドとも、他のサービスとの連携確認を行うはじめの一歩として、簡易に利用できるように感じました。
ソフトバンクはAWS アドバンストティアサービスパートナーです。「はじめてのAWS導入」から大規模なサービス基盤や基幹システムの構築まで、お客さまのご要望にあわせて最適なAWS環境の導入を支援します。
Microsoft Azureは、Microsoftが提供するパブリッククラウドプラットフォームです。コンピューティングからデータ保存、アプリケーションなどのリソースを、必要な時に必要な量だけ従量課金で利用することができます。
Google サービスを支える、信頼性に富んだクラウドサービスです。お客さまのニーズにあわせて利用可能なコンピューティングサービスに始まり、データから価値を導き出す情報分析や、最先端の機械学習技術が搭載されています。
Alibaba Cloudは中国国内でのクラウド利用はもちろん、日本-中国間のネットワークの不安定さの解消、中国サイバーセキュリティ法への対策など、中国進出に際する課題を解消できるパブリッククラウドサービスです。
MSP(Managed Service Provider)サービスは、お客さまのパブリッククラウドの導入から運用までをトータルでご提供するマネージドサービスです。
条件に該当するページがございません