LoginSignup
1
2

More than 5 years have passed since last update.

【Alibaba Cloud】Function Compute を使ってみた Part1

Posted at

はじめに

Alibaba Cloud を使ってみようと思いましたが、まだまだ情報も少ないので自分のメモも兼ねて書いてみました。
Function Computeは名前から思いっきり判りやすいですがAlibaba Cloudの:zap:FaaS(AWSで言うとLambda)です。
まずは簡単にHello Worldが動くところまで見てみたいと思います。

ちなみに2018年11月21日現在Function Computeがサポートしている実行環境は以下のようです。
:warning: 日本語のマニュアルだとPHPが記載されていなかったりところどころ古い情報のままだったりします。
image.png

サービスの作成

Alibaba CloudのFaaSは「Function Compute」という名前なのでそれを選択します。
image.png

初回にはサービスの有効化が必要なようです。
image.png

サービスを購入するという扱いになるようですね。
image.png

ちなみに購入履歴をみるとまだ何も動かしてないので費用は掛かっていないようです。
image.png

コンソールに戻って「Function Compute」を選択します。
image.png

ちゃんと日本語でメニューが表示されまし・・・おや・・・?
image.png

リージョン選択っぽい所が中国語になっているようです。
おもむろにリロードしてみます。
image.png

日本語になったようですね・・・若干表示されてるリージョンが違いますが・・・
まぁ、気にしないでおきましょう。:flag_jp:日本リージョンを選択します。
image.png

「サービスの作成」をしてみます。
:book:公式ドキュメントによると以下の記載があります
サービスの作成

サービスは、Function Compute のリソースを管理するための単位です。承認、ログ設定、関数作成などの操作をサービスで実行できます。サービス内のすべての関数は、設定を共有します。コンソールまたはコマンドラインツールを使用すると、簡単にサービスを作成できます。

image.png

「詳細設定」があるので開いてみましょう。
:tools:「サービス名」以外の項目はあとから設定変更が可能な項目です。
image.png

ネットワーク設定

デフォルトでは「インターネットアクセス」がONになっています。
このパラメータは「このサービスがパブリックネットワークにアクセスできるかどうか」を設定しています。
:warning: 「このサービスに」では無いのでご注意ください。
image.png

VPC設定

デフォルトでは「VPCを設定しない」になっています。
VPC内のリソースへのON/OFFを設定できます。
image.png

ログ設定

Log Serviceを使ってサービスのログを確認できるようにする機能のようです。
全くログが見れないのか確認してみたいので今回は有効化せずに進めてみたいと思います。

:warning: ドキュメントに以下の記載がありました。Log Service 課金の対象になるようです。

注意:作成されたログ設定は Alibaba Cloud Log Service を使用します。Log Service は特定のリソース予約料金を請求します。つまり、ログを書き込まなくても、少なくともJPY1.15/日を支払う可能性があります。詳細については、Log Service 課金の説明 をご参照ください。

image.png

ロール設定

Alibaba Cloud には RAM (Resource Access Management) という機能があります。
AWS IAM と同じ様なものだと・・・
デフォルトは「新しいロールを作成」になっているのでこのまま進んでみたいと思います。

各サービスは、RAM ロール (サービスロール) に関連付けられています。サービスの作成または更新時に、サービスのロールを指定できます。ロールに付与された許可によって、サービス内の関数を実行するときに、Function Compute が実行できる操作が決定されます。

image.png

ということで詳細設定はデフォルトの状態で「作成」してみたいと思います。
image.png

少しするとこの様な画面が表示されます。
image.png

「詳細設定」の編集を押してみます。
image.png

作成時と同じ様に設定できる画面が表示されます。
image.png

関数の作成

作成したサービスの中に「関数の作成」があるのでそれを選択して関数を作成します。
image.png

関数テンプレート

なんだか見たことがあるような気がする画面です。
今回はお試しなので「空の関数」から作ってみます。
image.png

トリガーの設定

いくつかトリガーが設定できます。今回は「トリガーなし」を使います。
image.png

関数の設定

「関数名」の設定は必須です。
image.png

ランタイム環境の設定でハンドラ,メモリ,タイムアウトが設定可能です。
image.png

Document Center > Function Compute > Limits
制限事項は以下のようになっています

image.png

関数の許可の設定

サービス作成のところで出てきたロールの設定がココに関係しているようですね。
関数作成時にロールがないと作ろうとするようです。
とりあえずそのまま
image.png

この段階でRAMのコンソール画面を見ると確かにロールがまだありません。
image.png

関数の作成

問題なければ「作成」します。
image.png

関数が作成されました。ちゃんとインラインで編集もできますね。
「実行」してみます。
image.png

・・・何も起きない・・・?
と思いきや下にスクロールします。無事に成功したようです。:tada:
一応、手動で実行した時のログは確認できるようですね。
:warning: 数時間経過後に確認したところ結果以下のデータは消えていたので手動実行の結果のみココで見れるようです。

image.png

しばらくして「概要」タブに行くと呼び出し回数やリソース使用量が更新されてました。
image.png

関数プロパティの「編集」を選択すると「関数の設定」が編集可能です。
image.png

ランタイムからランタイムの変更も可能です。
image.png

メモリも変えてみましょう。
image.png

Maxが3072MBのようですね・・・・・・・ん?

ドキュメントセンター > Function Compute > 関数の構成 > 関数の作成

MemorySize (オプション): 関数の実行に必要なメモリリソース (MB単位) です。メモリサイズの範囲は 128 〜 1536 MB で、64 MB 刻みです。

あれ?1536MB・・・英語のマニュアルを見てみましょう。

Document Center > Function Compute > Create Functions > Create a function

(Optional) MemorySize: Indicates the memory required for function execution, in MB. The value of this property is in the range of 128 to 3072 and increases at increments of 64.

うん。日々サービスは進化しているということですね:thumbsup:

変更してみるとランタイムメモリは直ぐに変更されました。
image.png

ログは?

そういえば、単体実行のログはでているようですが・・・
「Log」タブの状態も見てみましょう。

・・・うん、まぁ想定通りです。
以下の表示があるのでLog Serviceとロールを設定してあげれば見れるのでしょう。
ココは別の記事にしよう。

FC automatically stores function logs into Log Service if the service has Log Service project and logstore configured. Users can view logs by the following ways:

image.png

おわりに

とりあえず今回はココまで、次はログとかトリガーとかその辺を見てみようかな?

はじめて使ってみましたが、AWS Lambdaを使ったことがあれば直感的に理解できるような感じですね。
初回のみ個々のサービスを有効化しないといけないのは不用意に課金されないようにと言う意図なのかな?

日本語化もちゃんと出来ており、意味がわからないというような部分も無かったので(一瞬表示が変でしたが)普通に使ってみてくださいね。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2