最近、AWSをフル活用して社内システムを作ったので、そのノウハウのご紹介を行っています。
現在はAWS Lambdaの使い方を紹介中です。
前回からまだまだ続いてLambda関数のコンソール画面を調査中です。
ネットワーク
ネットワークは、関数が置かれるネットワークの場所を指定する項目で、VPCを選択することが出来ます。
「VPCって何だ?」というところが問題ですね。
VPCは「Virtual Private Cloud」の略称です。プライベートクラウドです。
要するに、普通にAWSを使っている時、それはパブリッククラウドなのですよ。
インターネット上に存在しているAWSには世界中のどこからでも自由にアクセスして処理することが出来ます。
プライベートクラウドは、例えば「自社の中からしか接続できない」みたいに特定の場所からしかアクセスしか出来ないようにすることで、自分達専用のクラウド空間を実現するということです。
あくまでも仮想的にプライベート化するだけで、物理的には同じサーバに載っていますのでご注意を。
このVPCの設定は、どのネットワーク上に置くのか、ということを選択する項目です。
「非VPC」は普通のインターネットからアクセス可能という意味です。
デバッグとエラー処理
デバッグとエラー処理は、Lamdaがコケた時の通知です。
以下の二つを選択可能です。
- SNS:Amazon Simple Notification Service
- SQL:Amazon Simple Queue Service
SNSはFaceBookとかそういうのではないのでお間違え無く。
Lamdaはコケると再実行されるようですが、リトライが一定回数を超えた場合、上記のどちらかのサービスにメッセージを送ります。
これで保守担当に連絡が行って、障害を検知できるという機能ですね。
アクティブトレースとは、「AWS X-Ray」というサービスを活用してより詳細なログを追いかける機能の模様です。
同時実行数
これは少し驚きでした。
AWS Lambdaは際限なくスケールアウトしていくものと思っていましたが、実際には同実行数1000という上限が設けられているそうです。
「予約されていないアカウントの同時実行の使用」と「同時実行の予約」という言葉がありますが、これはこういうことです。
まず、対象リージョンの対象アカウント毎に同時実行数は「1000」という閾値があり、Lambda関数を100コ作っても200コ作ってもこの同時実行数を消費して処理します。
何も設定しなければ1000ある椅子を早い者勝ちで取っていくわけですが、関数に依っては「大事だから確実に実行したい処理」とか「激増する可能性があるから限度を設けて締めておきたい」とかいう需要もあるかもしれません。
そのな時は、同時実行の値を100とか入れておきます。
すると、その処理の為に椅子が100コ確保されて、その処理はその100の中だけで行います。
他の処理は残り900を共有して行う。
こういう処理です。
よほどの大量アクセスが見込まれない限りはフリーで良いと思いますが、特別な事情がある時は使うことになりそうです。
監査とコンプライアンス
単なる注意書き。
Lambdaでは、監査やコンプライアンスの為に、その関数に対していつ誰が何をしたという証跡を「CloudTrail」という所に保存しているようです。
これにより「誰か知らんうちに何か変なことしやがった!!」って時に犯人を特定できるわけです。
終わり
これでザッと一通り目を通せました。
色々ありましたが、一つ一つはそんなに難しいわけでもなく、使いやすい良いサービスだと思います。
引き続き関数作りを進めていきます。
0 件のコメント:
コメントを投稿