#095 フロントエンジニアのためのAWSのいろは
2022/11/27 ·
-
ラジオネームほうれん草ウォンバー様からのお便りですお便りありがとうございますフロントエンドを担当しているのですが最近AWSの学習を始めましたただAWSについて多機能すぎて何から学べばいいのか迷ってます実務で使っているAWSの機能について話してほしいですほうれん草といえばポパイじゃないですかポパイですね
-
ポパイってほうれん草食ったらマッチョになるじゃないですかマッチョってなりますねなんでですかほうれん草っていう単語からそんなに膨らませちゃうとちょっと困っちゃうなすいませんなんか気になっちゃってポパイもそんなに詳しくないので肉食ってならわかるんですけどほうれん草食うんだっていうアメリカ社会で野菜食えよっていうメッセージじゃないですかそういうこと?政府の思惑?
-
そんな話は置いといてAWSですねかけ出しのエンジニアの方にも分かるようにAWSって何ぞやっていうところから話していければと思うんですけど出たもしかしていつものビュッフェですかビュッフェ?
-
困っちゃうなビュッフェ雑誌ちょっとビュッフェはやめといてできるだけ飲食に寄せてたどいていきますねなんでちょっとポリシーかもしれないけどそこはそうなんだAWSって何かというとAmazon Web Serviceっていうみんな知ってるAmazonがやってる
-
クラウドサービスなんですけどクラウドサービスってどういうことかっていうと最初例えないで話すとシステム作りたいなって思った時って必要なものいろいろあるわけですよありますね
-
簡単に想像できる範囲だとウェブサーバーっていうコンピューターでしょデータベース入るコンピューターでしょそのデータを入れるためのストレージでしょあとはそれらをつなぐためのネットワークネットワークってあれですねルーターとかLANケーブルとかはいはいはい
-
ですかねあとはサービス公開するために必要なドメインgoogle.comみたいなドメイン用意したりとかそのドメインでhttpsっていう安全な通信をするための証明書なるほどね確かに確かに証明書とかねサーバーを冷やすための大きい扇風機とかあとクーラーの効いた部屋とか大変すぎるね超大変なんですよマジで
-
ちっちゃい企業が用意できるもんじゃない?いやわかんないそんぐらいだったらいけるかもしれないけどいけるかまあでもこれをね可用性冗長化しようって
-
安定したシステムにしようと思うとじゃあ東京にサーバー置いて大阪にサーバー置いて北海道にサーバー置いて東京が地震で大変なことになっても動くようにとか考えなきゃいけないわけなんですけどそんなになってくるとちっちゃい企業だと厳しいヤバいねなのでそれを簡単に実現してくれるのがざっくりクラウドサービスその中でも有名なAWSって感じですねほう
-
お待ちかねの飲食店例えたんですけど例えるとこういうことなんじゃないかなっていうのがありまして今言ったようにお店開きてと思った時に必要なものがポンポン用意してくれるとしかもなんかあの
-
コンピューターもよしよしあるじゃないですか高いやつ安いやつありますねいやこれだといいよっていういい感じのやつをAWSが用意してくれるんで多分飲食店で例えるとこの食材使ってねーとかこの包丁食材に合うよーとか包丁食材に合うよこの調理器具使うとピザ作れちゃうよーとかみたいな感じでいろいろ用意してくれるそんななんかフランチャイズ
-
店的なフランチャイズをやってる店かフランチャイズの本部だラーメンか月嵐ってことラーメン作りてーと思っても僕ラーメンの素人なんでどうやったらうまいラーメン作れるか分かんないけど知らないですけど多分か月のフランチャイズ行ったらか月のラーメン出せるようになるんですよねなると思うよ多分これがうちのスープ屋でスープが来て多分お金払ったら調理器具とかも
-
買ってくれるのかな買ってくれると思いますあの麺を作るための小麦粉と機械があるはずなんでそうねあとは普通に看板も曲がりできるし採用ノウハウとかマニュアルとか色々手に入るわけですね
-
っていうのをやってくれるのウェブサービス版がAWSですねなるほどねじゃあ僕らって普段AWS使ってるってことはAWSのフランチャイジーってことですか確かにチャイジーでやってるのかAWSっていう店出せるってことかですねそうだったんだ怒られるわさすがにねじゃあ俺も言っていいかなどうぞAWSで働いてますっていや良くないって良くないね
-
嘘になる使ってはいるけどねAWS側がねちょっと許してくれればいいですけどね本当にっていうので便利便利システムなんですけどなので割とインクラ寄りのサービスじゃあサービスですかね完全なインクラではないんですけどそうだよねインフラ系が多いよね多い
-
今回フロントエンドを担当しているってことなのでその中でおすすめというかどっから学べばいいのかっていうところの話をして最後に実際に使ってる話をして終われればと思いますサービスやっぱ多いからねこれ全部で何種類あるんでしたっけ調べましょうお願いします
-
はいちょっと調べたんですけど正直正確な数は出てきませんなぜなら本当に日清月報だからなるほど実はどんどん出てるんだソースが怪しいんですけどとりあえず2021年9月時点では222ですね222もっと増えてますだからあれあとサービスの区分ちょっと微妙なやつとかあるよねそうですねめっちゃ似てるやつとかねクラウド9とEC2は本当に別なのかとかねそうなの
-
あれは全然違うものだと思ってたんだけど僕の中だとEC2とEBSですねあれとかってセットで使うけど別なのかなみたいな名前ついてるし置いときましょうかちょっとわからない単語を出してしまったのでどこから学んでいけばいいかなっていう話ですのりさんからいいですかわかりました
-
今回のこのAWSを学びたいっていうところのモチベーションがどこにあるのかわからないので僕は将来的に1個のサービスを完結させるっていう視点でこのサービスはおすすめだぜっていうのが言えたらなったもんですけどAWSラムダっすねラムダっていうのは俗に言うサーバレスコンピューティングって呼ばれてるところの
-
サービスでございますなんかかっこよさそうな名前続きますねサーバーレスコンピューティングはいこれはですねめっちゃ簡単に言うとサーバー作んなくてもいいやつですサーバー作んなくてもいいやつ簡単に言いすぎて分かんなくなったんで何が起きてるかっていうと普通ウェブサーバー作るときってサーバー作るじゃないですか
-
立てるというか何かしらのフレームワーク使ってそこでプログラミングしてデータベースとやり取りしてデータ返せるようにすると思うんですけどサーバレスってやつを使うとコードをサーバレスのサービスにポイって置くだけで
-
ウェブサービスのバックエンド側の機能が完成してしまうっていうやつなんですねじゃあそのAWS側でそのウェブサーバー部分を作っててくれてて我々はソースコード書くだけでOKとそうですなのでサーバレスって別にサーバーがいらないよっていう意味じゃなくてサーバーを意識せずに作れるよっていうのがこのサーバレスの特徴ですとこれのすごいところはアクセスがめっちゃ増えてもお金さえ払えば対応してくれるっていう
-
そうですね確かにっていうところもあるんで本当にサーバーを意識せずプログラムのことだけ考えてられるっていうやつなんですねよくフロントエンドの人がサービスリリースするときにクライアント側は自分で書いてバックエンド側ももちろんコードは書くんですけどそのサーバレスでデプロイすることによって簡単にサービスリリースできるよみたいなことをやってる人がよくいるのでラムダあとそれとセットで
-
APIゲートウェイってやつをやった方がいいですかねAPIゲートウェイはいでAPIゲートウェイはラムダって多分直接叩けないよねラムダは直接叩けないはずですねAPIには出せないぐらいかな多分でもAPI公開はできないと思っていいと思いますうーん
-
なのでクライアントから叩くためにはAPIゲートウェイっていうのを使ってインターフェース作ってあげないといけないかなって気がするんでそれもセットでやったほうがいいかもしれないですねあとデータ必要ならデータベースもちょっと触らなきゃいけない気がするんでそうですね
-
RDSか他県では誰でも個人でやると高いですねRDSね石2にデータベースサーバー入れたくなっちゃったりしますよねわかるでもちょっとそっちだと難しくなりすぎるんでお金厭わないぜっていう場合はRDSとか使うのがいいかもしれないですね
-
RDSサーバーレスのやつもあるんですけどAuroraDBのサーバーレスあるねあれサーバーレスだって言ってサーバーレスのサービスAmazonのサーバーレスのサービスって結構料金さっきラムダでも言った通り使った分請求されることが多いんですけどAuroraのDBサーバーレスについては加減がありますね
-
加減があるんだまあまあ高い加減がありますサーバーレスだから安くなるでしょうと思って去年の開発かなやってみたんですけどまあまあ意外にするなみたいな
-
気持ちになりましたねサーバレス向いてる理由としては個人のアプリケーションってたまにしか叩かないじゃないですかAPIってなった時にサーバーもし立てちゃうと24時間稼働しちゃうんでお金発生するんですけどサーバレスって本当に関数が動いてる時間だけ課金されるんで多分お安く済みますよね拡大しない限りラムダについてはほぼゼロと言っていいと思いますほぼゼロ?やば
-
ちょっと調べますかはいはいちょっとくぐったんですけどはいラムダの無料利用枠ってのがありまして1ヶ月あたり100万件の無料リクエスト100万件はいえあとは40万ギガバイト毎秒のコンピューティングタイムちょっとこれよくわかんない40万ギガバイトなんだろうねこれちょっとよくわかんないとりあえず100万件は無料枠なのでうん
-
結構ラムダ仕事で使ったりしますけどお金かかってるイメージはほぼないですねそうなんだめっちゃいいじゃんもちろん使ってるメモリの量とかメモリの量によって割り当たられるコンピューターの性能とかも変わるんでそれでお金が結構変わるんですけどでも本当にミニマムだったらお金かかってないじゃあ個人で勉強する分には学び放題や学び放題ですねちょっとあの
-
それに調子乗ってDBとかつけてお金いってるってなるんだよねそこはしょうがないな勉強費用ということで僕はなのでまとめるとラムダAPIゲートウェイあとはRDSこの3つら辺やるといいかなって感じですね本当にそれらがあるとバックエンドが一個できるねって感じですねはい
-
API Gatewayもドメイン買わないで本当に画面上からデプロイって押すだけでちょっと乱数みたいなドメインが発行されるんですけどでもそのAPI GatewayにあるhttpsのURL叩けばAPI Gatewayにアクセスできるんで本当に簡単に作れると思います公開APIじゃなかったら続いてカイチ僕ですが
-
AWSアンプリファイとCognitoっていうのをおすすめしたいです
-
普段あんまり出てこないですねこれ僕の周りだとそうなんですよねこれ本当に次の話題にも若干被ってる普段使ってるやつ何ですかっていうところに若干かかるんですけど僕はバックエンドの人間なので正直フロントエンドそんな詳しくないですなのでこのアンプリファイの話も非常にふわっとした話をするので興味あったら調べてくださいアンプリファイこれ何かっていうとフロントエンドのサーバーレスで提供する
-
サービスになってますフロントエンドのサーバーをサーバーレスで提供するはいなのでざっくりどういう使い方になるかというとリアクトJSとかでアプリケーション作ってそれをアンプリファイにボーンってプッシュっていうのかなすることでアンプリファイからAWSが持っている
-
キャッシュサーバークラウドフロントにデプロイされてそこからJavaScriptのコンテンツが配信されるので急に100万ユーザーからアクセス来ても大丈夫っていうしかも料金も使われた分だけっていう結構安いそれクラウドフロントに行くのに使われるんですかアンプリファイまでリクエスト来るんですか行かないです
-
クラウドフロントで全部答えてくれるそっちで課金されるってことかっていうような使い方をするものでなので基本的にはリアクトJSみたいな結構モダンなビュージェイスとあと何だっけなノードは違うわモバイルアプリもいけるんでリアクトネイティブとかも対応してた気がします詳しくないんで調べてくださいフラッターは分かんないどうだったっけな
-
これアンプリファイ今どういう使い方してるかっていうと自動デプロイもできるんですよCICDが含めてGitの例えばデベロップブランチにプッシュした瞬間GitのパイプラインというかGitとAWSが繋がってるからデベロップにプッシュされたぞってそのコードがアンプリファイに自動でデプロイされてアンプリファイでいう
-
このURLデベロップブランチはこのURLにデプロイされるステージングブランチはこのURLにデプロイされるみたいなことができますなので作ってる段階とかフロントエンドの人が最新の画面どうなってるとかそういうのを確認しながら開発が進められますね便利そうめっちゃ便利なおかつアンプリファイの
-
機能というかAWSとの親和性が非常に高いのでS3と連携したいとか他のサービスと連携したいときに使えるメソッドとかがあった気がしますちょっとすみません曖昧です曖昧ですでもこれは今僕の開発プロジェクトにも使っててフロントの人は便利に使ってそうなのでそうなんだAWSでもし開発することがあればアンプリファイでやってみたいですっていう提案して
-
そんなにお金もかからなかった気がするので結構通りがいいんじゃないかなという風に思ってますちょっと調べてみたいなこれちょっと面白いです面白いというかいいなと思ってますもう一個Cognitoですねこれは何かっていうとユーザーの認証とか管理かユーザー管理をAWSでやってくれるサービスですなので実際のサービスで使うとどうなるかというと
-
APIとかで普段ユーザーの管理すると思うんですよバックエンド側でただバックエンド側ではユーザーの情報を全く持たずAWS側が勝手に用意してくれたやつCognitoさえあればCognitoで認証済みならAPIにアクセスできるし認証済みじゃなかったらAPIにアクセスできないみたいなものを提供してくれるものですなるほどアプリケーションのログイン機能の部分だけを
-
AWSに切り出してるみたいな感じですかそうですねログイン周り認証認可本当に認証認可ログインとあとアクセス許可周りはいはいはい
-
なのでなんでこれフロントエンドの人にお勧めしてるかっていうとバックエンドがあんまりコグニット触らなくなるんですよコグニットじゃないなユーザー周り触らなくなってフロントの人がログイン画面とか実装すると思うんですけど結局そのログイン画面でやり取りをするのはバックエンドのAPじゃなくてコグニットとやり取りをしてユーザー作ったりパスワード変更したり
-
とかするようになると思うので多分コグニートの知識がある程度必要になってくるとなのでそのプロントの人はコグニートの知識がある程度いるんじゃないかなと思いここももしエザベリスで開発するんだったらユーザー管理が切り出せるのって本当に便利なのでしかもパスワードの
-
ポリシーとかあとはログインの変な文字入っても大丈夫にするサニタイズとかそれもまると全部AWSがやってくれてるのでめっちゃ楽何も知らない人が平文で平文平文で保存するようなシステムを作っちゃったりしなくなるってことですかそうそうそうそう素晴らしいですねDBにねDBにパスワード平文でねちょっと怖い話ですよね怖いですねうん
-
でこのCognito使うと何が便利かっていうと例えばなんですけどフロントエンドでまあじゃあ
-
プロトエンドで何かの画像とかを表示するアプリがあったとしますログイン後にそうするとログイン後に表示する画像ってログインユーザーしか見ちゃいけない画像があったりするわけじゃないですかありますね例えばログインした画像自分のアイコンとかアイコンとかかなその辺とかはログインした人にしか見せないですよねあとは何かの監視サービスで自分が持っている設備のあの
-
監視カメラの画像とかちょっとニッチですけど今のはそういう画像って多分S3でS3っていうストレージがあるんですけどもストレージサービスがあるんですけどそこで管理することになると思うんですが画面側からこのS3のこのファイルにはアクセスしていいけどこっちはダメっていう制御するのって自分で実装すると大変そうじゃないですか確かに
-
自力でやると大変なんですよ引くほどif文がいっぱい出来上がるそうそうそうそうそれをCognitoとあとIAMっていうAWSのこれはユーザーとか権限とかの管理するサービスなんですけど
-
CognitoとIAMを使うとIAMでこのフォルダはアクセスしていいけどこのフォルダはダメみたいなものを設定できるしCognitoのユーザーAにこのIAMロールを付与するっていうのができるのでユーザーごとにやっていいこととやっちゃダメなことを細かく設定できるとアカウント作るときにIAMのロールっていうんですけどIAMのパターン種類
-
をいっぱい作れるんですよね自動でCognitoがやってくれるからっていうのでその辺のアンプリファイと連携するCognitoとすいません一個足しちゃってあれなんですけどCognitoと神話性の高いIAMでAWSの他のサービス叩くときの権限の周りが全部できるというのが非常に便利だなと思っていてそれこそねそうなんで
-
アンプリファイあたりから多分フロントエンドなんで取っ付きやすいところが入っていてアンプリファイからよく使うであろうCognitoとかIAM S3あたりに染み出していくような感じだと勉強楽しくできるんじゃねえと思ってます実務向けだはいてか実務で触ってるやつだ僕は触ってないですけどねなるほどチームで僕はあの
-
あれですねちょっと前のエピソードでお話しましたけどAWS好きなんですマンなのでこれいいんじゃないですかって言ってるだけですそうなんだ提案してるけど触ってはいないんだアンプリファーそうですね触ってないですねっていうのが以上僕とのりさんのここから始めたらいいんじゃないってやつですねそうですね実務の話いきましょうか実務の話何触ってますかみたいなのりさん
-
僕はそんなとっぴなやつ触ってないんですけどEC2サーバー立てるやつですねあとVPCネットワーク周りですねだよね合ってますよ
-
あとはRDSもまあ触ってるっちゃ触ってるはいちょっとやっぱりアルファベット多すぎて何が何だかわからないんでちょっと補足しながらお願いします確かにまずEC2サーバーを簡単に立てれるよっていうやつですねコンピューティングリソースとかって言われてるかあれは仮想PCというかでもサーバーだと持っちゃっていいかなって感じですねあとはVPCっていうのはバーチャルプライベート違うな合ってるかバーチャルプライベートクラウドか
-
クラウドかなあれですネットワークですこれはネットワーク周りというか現実でいうとルーターとかそういうやつだよねそうですね自分のシステムを作るためのお庭を区切るためのサービスですねお庭を区切るためのサービスじゃないですかうん
-
結局そのVPCに僕の中のイメージだともうAWSっていう広大な超デカコンピューターがあってその中の一部を私のもんだぜって確保する領域展開だと思ってるんですけど超デカコンピューターまあそうですねそのAWSが所有しているデータセンターの中のここの部分使うよっていうそうだよね要は呪術回戦の領域展開と同じってことですよねうわーそうなのかなそういうことにしますはいはい
-
あとはRDSってリレーショナルデータベースのやつですねややこしいですよねこれRDBじゃなくてねRDSなんでねあれ何の略なんだリレーショナルデータベースサービスです普通にでもRDBだと思ってくださいって感じだよねあとはねルート53DNS系ですねルート53って読むんですね違うのかなそっちの方が正しいですけどルート53って言っちゃいますねルート53って言っちゃう
-
あれはRDSなんでこのドメインにアクセス引いたらこのサーバーに飛ばすよみたいなやつを管理してるツールですねあとはDynamoかなDynamoDBこれドキュメント型のデータベースサービスなんですけど違うなあれキーバリューだなキーバリューですDynamoはキーバリューですねキーバリューで使ってますと何に使ってるかっていうと全部ね僕社内システムに使ってるんですよでもこれ系はい
-
なのでサーバー建てるっていうところをやったりとかあとダイナモがちょっと多分この中だとあんまり使わないかなって感じあんまり使わないわけじゃないですけど少し珍しめだかなって感じだと思うんですけどダイナモはですねそのサービスのアクセスログみたいなやつを取ってますね
-
これをRDBでやるとデータ増えた時にパフォーマンスあれだそうだなと思ってアクセスログはダメですねRDBは早く検索もできるしってことでDynamoDBを採用した感じですねそのくらいかな割とその社内システムでフロントとAPAが全部EC2に入ってるんですかフロントはね
-
すいませんクラウドフロントに入ってますフロント側はS3に静的ファイルビルドしててS3はストレージですねにインデックスHTMLとかあとビルド済みのHTMLとかをデプロイしてるデプロイというか配置してるんですよそれをクラウドフロントで使って
-
日本中じゃない世界中に配信してるみたいな感じですねクラウドフロントはキャッシュサーバーでS3にあるやつを定期的に取っていってユーザーが使いてって思ったらクラウドフロントっていう世界中にあるキャッシュサーバーのどっかからペッて引っ張ってこれるっていうサービスですねそうです俗に言うCDNって呼ばれてるやつですよねコンテンツデリバリーネットワークですねはい
-
割とベーシックな使い方というかかなりベーシックですベーシックな使い方以外あんまないですけどね普通ねこれ使ってるぜみたいなさっき222あるって言ってたけどマジで30も知ってたらすごいよねそれこそパレートの法則じゃないですけど2割知ってたら8割使えるよねよりももっと小さくていい1割いらないかもしれない1割いらないかもしれないですね
-
確かに本当にでもいいですね前から後ろまでそうだねその辺規模でかくないから設計としてちょっと微妙かもっていうところは多々あるんですけどとはいえ1から自分で構築できたのが面白かったなって感じですねじゃあ全部構築したんですか嘘かもしんないそれはそうかもしんないありがとうございます
-
そろそろ話しておこうかな時間的に僕カイチはここ3プロジェクトくらいずっとAWSで立ててやってたりするんですけどよくある
-
サービスを想像してもらえれば言ったらいいんですけどフロントエンドとバックエンドとAPIがあってDBがあってみたいなやつで使ってるのはちょっとネットワーク周りは割愛したい気持ちですがさっきのりさんが言ってたVPCの中にRoute 53とかロードバランサーとかこれはNLBかなネットワークの方使ってるの?レアだな
-
でもそれはあれかバックエンドの前だわフロントはさっき紹介したアンプリファイとかアンプリファイユーザー管理はコグニートフロントに表示する画像はS3から持ってきますとかうんうんうん
-
APIは2通りあってEC2に立ててたパターンとあともう一個APIゲートウェイとラムダでやってるパターン使い分けしてるってこと?これは別のサービスでしたね今ラムダでやってるんですけどなんでラムダを選択したかっていうとさっきのりさんが言ってたようにユーザーのアクセスがすごく
-
均一じゃないシステムなので1年のここだけピークがあってそれ以外あんま来ないみたいなのを作ってるんで今そうなんだなのでコストメリットを考えてラムダを選択しましたいいですねラムダにいろいろだからAPIの機能ごとにラムダ作るんでめちゃめちゃ大量のラムダの手前にAPIゲートへみたいな作りになってますねバックエンドの
-
裏にあるDBは今使いてっていう気持ちでドキュメントDBっていう珍しいやつ使ってて珍しいモンゴDBって言われるドキュメント型のノイスケールですねなるほどそれを提供してるようRDS的なポジションってこと?そうですRDS、DynamoDB、DocumentDBみたいなやつです並んでる感じですね
-
あんまり聞いたことないなそれあんま使ってる人いないというか使ったことないから使おうかっていう感じでしたAWSってダイナモがキーバリューのくせにドキュメントみたいな機能を持ってるからよくありますよね元のシステムがあってそれがMongoDBだったんであんま使おうかみたいな感じでした互換性がいいわけですねっていう感じで作ってて他にもいろいろ使うものがいっぱいあるんですがあんまり話すとあれなんで一旦使ってるのはその辺で
-
ラムダちなみにサーバレスなのにロードバランサー入ってるんですかすいません話がごちゃついてしまいましたロードバランサー入れてたの時はロードバランスどうだっけなロードバランサーイシツー時のやつかロードバランサーはですね複数のサーバーにリクエストを流すやつ横流して分配してくれるやつ
-
結構僕はバックエンドなんでラムダもう一個ありましたクラウドフォーメーションっていうのを使っててクラウドフォーメーションインクラストラクチャーアザサービスってやつなんですけどインクラストラクチャーアザコードってやつなんですけどIACってやつですかなのでソースコードじゃないけどヤムルファイルに
-
こういうVPC立ててこういうEC2立ててっていうのをズガーンって書いて実行ってやるとAWS上にその環境からスコーンって立つっていうやつでなので今僕バックエンドは今2,3人で開発してるんですけどローカルでラムダ作って単体テストやってある程度動くわってなったら
-
クラウドフォーメーション使って自分用の実行環境を立ててそこで実際に動くかテストして行動レビューじゃなくてプロダクトオーナーレビューの時にデモを見せて動くねって言ってマジみたいなクラウドフォーメーションいつか学びたいと思ってるんですけど最初の
-
一歩が踏み出せずにいますね腰重いわ一番小さく最初の一歩を踏み出す方法としておすすめしたいのがラムダだけで書くのがすごくいいと思っててサムっていうライブラリがあるんですよライブラリかなコマンドAWSクライアントじゃないなバッシュで叩くやつAWS CLI
-
いやもうそれでもないですサムコマンドっていうのがあってフレームワークがサムっていうフレームワークがあってサム使うとラムダとかをローカルで開発できるんですよラムダってサーバーレスゆえAWS以外のごめんなさいソースコード以外の部分ってAWS側が持っちゃってるんでどういうリクエストを来た時にどういう
-
動きをするのかっていうのってローカルであんまり再現しにくいですよねちょっと使ったことある人しか分かんないかもしれないですけどその辺をまるっと再現してくれるフレームワークがサムの位置機能なんですけどそれを使うとローカルでラムダ作ってローカルで
-
できるだけ試験してデプロイすることができますデプロイするときにクラウドフォーメーションテンプレートを書くんですけどラムダだけなので結構簡単に書けて本当に1個のシステムのクラウドフォーメーションテンプレートを書こうと思うとすごい量書かなきゃいけないんですよVPC書いてセキュリティグループ書いてEC2書いてそれこそEC2につけるストレージとか
-
セキュリティグループとかありとあらゆる設定全部書き込んでどっかが通ってないだけでうわーって実行してここがダメだから全部ダメみたいなエラーでロールバックちょっと苦しいんですけどラムダだけだとラムダとラムダ実行するのに必要なIAMロールを書いてデプロイするだけなので結構デバッグもしやすいですし結構気軽に書けて
-
なおかつもう一個いいのがラムダってちょっとこれはコアな話になるんですけどいろんなコードで書けるじゃないですかPythonとGoadノードとなんだっけなとかねいろいろあるよねそういう時ってインポートするというかライブラリを
-
インポートすることあるじゃないですかAWSの画面からソースコードを書く場合ってライブラリインポートする容量の上限というか言語標準のライブラリ入れづらいんですよそうなんだRubyで言うGEMインストールPythonで言うPIPインストール他で言うと知らないPHPで言うコンポーザーインストールみたいなやつがやりづらいんですよどうやってやるかというとローカルでPIPインストールした
-
ジップに固めてラムダの設定画面にアップロードしなきゃいけないんですよめんどくさいしその容量の上限が結構低いんですよそうなんだすぐ使えなくなるなのである程度ライブラリを導入して開発したいと思ったら方法は一択でさっき言ったサムを使ってサムだと何ができるかというとライブラリ群をまるっとドッカーイメージにして
-
どっかイメージとしてプッシュするんですよどっかイメージとしてプッシュしてラムダ状にそのコンテナが動くみたいなそんなことできるの
-
それだと重たいライブラリでも動くんですよなぜ重たいライブラリで動く方法がそれしかないんですよなぜだっていう仕様ゆえいろいろなことをラムダでやらせようと思うとサム使って開発するのがいいですしその時にクラウドフォーメーション使わざるを得ないので簡単に使えてすごくいいです作ったインフラからクラウドフォーメーションのコード出してくれればいいのにな
-
本当ですよそれありますよものすごいコードが出てきますけどなので僕らも去年本当にちょうど去年やった開発はクラウドフォーメーションを使ってなくてただ開発リリースした当時の環境とかをバックアップ取るっていう面でそういうエキスポートしましたねクラウドフォーメーションテンプレート
-
いいなそれそこでエクスポとしてその後そこを元に触っていきたいいやー地獄のヤムル出てきますよマジで一瞬で心折れるかもしれんちょっとあれ触りたくないなって思いますあくまでバックアップとしてはいいと思います同じものはできるんででもそういうのからもいいかもしれないけど個人的にはラムダのサムからクラウドフォーメーションを触るのがおすすめです僕はそこから覚えましたわかりましたはい
-
っていうのが普段触ってるやつですねインフラストラクチャーザコードかっこいいじゃないですかかっこいいこの人本当にわかるんだなって感じするインフラエンジニアじゃないのにねそうそうそうそう
-
あとその僕とのりさんでお勧めしたいのはAWS学びたいなと思ったら結局ねソリューションアーキテクトアソシエイトの資格取るのが一番だと思いますいやーあれね生きてるよ結構本当に生きてますねずっとお勧めしていきたいそろそろちょっとプロフェッショナル目指さないとなって思い始めてるそうですね来年かな来年か来年再来年ぐらいには期限切れるからね再来年か取りたいですね来年切れるかも
-
マジっすか3年なんで多分さらにまあでも切れる前に一緒に撮りましょうそうねはいっていうのをちょっととうとうとAWSにしちゃいましたがついてこれた人はどのくらいいたんでしょうかサービス多いからむずいんだよねしかもね名前がね全パル流行ったさ第5かよ確かにマジでRDSとかねRDSとかね
-
それS3もそうだしねVPCとかあとクラウドフォーメーションとクラウドフロントとかもややこしいしクラウドなんちゃら多いねクラウドだけどさあとエラスティックなんちゃらが多いねEC2とかEBSとか全部そうですからねっていう口はいろいろあるんですけど使うとマジ便利なんで今後も正直広がっていくと思っていてもっとクラウドから今もう一回揺り戻しでエッジコンピューティングみたいな
-
各々のデバイスでどうのって話になってるじゃないですかそうなんだはいその潮流としてはそこからまたクラウドに戻ると思ってて今度僕宇宙ってデータセンター作ると思うんですよやばそれ火星リージョンとか
-
だって宇宙ってずっと太陽光がある場所とかあるわけですよそんな発電し放題だし気候もわかんないけど安定してるんじゃないですか知らないけど過酷なところで安定してる土地代もね土地余ってるしCO2排出した土手だし酸素ないからあれなのかな宇宙ステーションにしたら
-
空中に浮かせるのもありかもしれないですし言うてねそこからLANケーブル繋いで地球まで伸ばしてメンテナンス地獄じゃないって話あるかもしれないですけどでもそれはロボットが解決するかもしれないですね確かにちょっとこれが生きてる間の話なのか分かんないんですけどただ地球って割と土地が限界あると思うんで山とかにデータセンターつくのって多分しんどくてだったら宇宙だと平らじゃないですか多分過酷な環境だからそこに
-
屈強な建物建てればいいなそれ普通にちょっとジュピターイーストリージョン使いたいわジュピターでいうさイーストってどっちなんジュピターイーストリージョン使いたいやばいですねロマンやばいな地球じゃない災害とか起きそう
-
障害でニュース出てるけど言ってる意味がマジでわからんみたいなそんな現象あるとみたいな太陽波によるみたいな宇宙に詳しくなりそうですね今回これだと復旧長引きそうだみたいなねこの太陽波かブラックホールかしょうがないなってやばいなって
-
土地は無限にあると言っても過言ではないんでね環境は置いといてね人間じゃないんでコンピューターは何があれば使えるのか分かんないですけどでも太陽光は少なくともあるはずだし電気があれば何でもできるということでめっちゃイノキじゃんすいません思いついちゃいました電気があればめっちゃイノキじゃんコンピューターはイノキってことかなコンピューターはイノキですエクトリックイノキクラウドは学んどいて
-
使わないとまずいと思ってます小人数でフリーランスとかで開発するって言っても多分こういうの使わないとやってられないと思うんでぜひぜひマスターしてください以上ですでは皆さんも良いクラウドライフをバイバイ
-
ちょっとやりとりしたい人はメール気軽に送りたい人はGoogleフォームツイートお願いします詳細は説明欄を見てくださいポッドキャストのフォローコメント評価してくれるとバカ騒ぎしますそれではまた次回
#095 フロントエンジニアのためのAWSのいろは