ちょっと話題の記事

「みんなのAWS〜AWSの基本を最新アーキテクチャでまるごと理解!」 全著者集合トークイベントのQ&Aをまとめました!(動画あり)

2020年4月17日に開催された「みんなのAWS〜AWSの基本を最新アーキテクチャでまるごと理解!」出版記念!全著者集合トークイベントの動画およびQAコーナーの内容をまとめました。
2020.04.20

2020年4月17日に「みんなのAWS〜AWSの基本を最新アーキテクチャでまるごと理解!」出版記念!全著者集合トークイベントを開催しました。 当日は約200人の方に参加いただき、非常に盛り上がりました。ありがとうございます!

本記事では当日の動画およびイベント後半のQAコーナーをまとめてご紹介&回答します。 なお、質問内容や回答は実際の発言内容とは異なる場合があります。

動画

AWSに関するQ&A

GCPやAzureでは無く、AWSを選ぶべき理由って何がありますか?

アレが優れている・コレが優れていない等で比較するのではなく、何をしたいのかをはっきりさせて得意不得意なクラウドサービスを選択すれば良いと考えます。 また、身近に相談できる方の有無やドキュメントの豊富さなども基準にすると良いでしょう。

AWSの優位性をご教授頂けると幸いです

同上。強いて言うなら、歴史が長い分だけ情報量は多いです。

EC2はやはりもうオワコンなのでしょうか。。。。(業務で、つい最近、EC2を使ってWebサービスを立ち上げたばっかりです。。。)

オワコンではないです。ハードウェアリソースを最大限活用したり、HPCなどで使われていたり用途によってはEC2じゃないとできないことも多いです

クラウド破産が怖いです。意図しない利用料増加を防止するベストプラクティスはありますか?

いくつかあります。

Nitro Enclaves等のサービスを見てると、近い将来、オンプレサーバーをほぼ駆逐できそうな気がします

いま現在オンプレで行われていることはクラウドでも代用できるようになるとは思いますが、同じような議論はサーバー-クライアントや分散型-集中型など、コンピュータの歴史の中で繰り返し起きています。いずれ形を変えてオンプレの揺り戻しがあるかもしれません。

Aurora Serverlessを使用された実績はありますか?もしあれば、感想聞きたいです。

Developers.IOで使用しています。

初歩的な質問で恐れ入ります。Lambdaのカスタムランタイムと標準ランタイムの違いがよくわかりません。

標準ランタイムは、AWSが用意しています。カスタムランタイムは、利用者が自ら用意して使います。カスタムランタイムを使えば、Lambda標準で使える言語(Python, Java, etc)以外の言語をLambdaで使えるようになります。

WAF v2 の IPSet や WebACL を CFn で構築する際に、Scope を CLOUDFRONT にするとスタックの作成はバージニア北部リージョンでしか実行できないようです。その他のリソースは東京リージョンで作成したいのですが、 WAF v2 に関しては諦めてバージニア北部で作成するしかないのでしょうか?良い運用方法があれば教えていただきたいです。

これは仕組みの問題なので諦めてください。 AWSではグローバルのリソースはバージニアリージョンで管理するようになっています。これはCloudFront自体も同じですね。 そのため、WAFも(v1v2関係なく)バージニアで作成してください。実際に動作する場所はCloudFrontのエッジロケーションなのでユーザに近い場所で処理されます。 ALBに割り当てる場合にはALB上で動作しますので、ALBが東京リージョンなら東京で動きます。

GuadDutyを全リージョンxマルチアカウントで展開しています。素朴にCloudWatch Eventを仕掛けて通知していると、グローバルリソース(IAM関連とか)で驚異を検出すると、全リージョンから丁寧に通知が来ると思うんですが、いまのとこ良いプラクティスが思いつきません。どうしてるとかありますか?ちなみに僕は面倒で諦めました。

CloudTrailのグローバルリソースを保存する設定が全リージョンで入っていませんか? そうなってなければ(1リージョンだけ有効になっていれば)1つのリージョンで検知してアラートされる認識です。

AWS WAFにて、AWSが出しているマネージドルールの精度や有用性ってリアルにいかがでしょうか? 別途3rdpartyのルールやIPS、RASP等の対策も実施したほうが良いでしょうか?

マネージドルールについては常に内容が更新される(3rd pardyがメンテナンスしてくれる)のでそういう良さがあります。 エンプラのWAFと比べたら、色々足りない機能はあるのでそういった要素であればAWS WAFにメインのWAFの機能は任せるべきではないです。 ご認識の通り複数のレイヤーでセキュリティを確保したほうがいいですね。 逆にこれまでWAFを入れられなかった費用感、規模のサービスで活用する分には十分だと思います。

CloudFormationを使ったインフラ構築とCDKを使ったインフラ構築はどちらが学習コストが低いですか?

インフラエンジニアにとってはCFnの方が、プログラマーにとってはCDKの方が学習コストは低いです。 特にインフラエンジニアがCDKを扱う場合、CDK以前にプログラミングについて学ぶ必要があり学習コストは非常に高いです。

会社に複数のサービスがあり、1つのAWSアカウントで運用しています。サービス毎のコストを分かりやすく可視化したいです。タグを利用するのが、一般的なやり方(ベストプラクティス)なのでしょうか?

タグ(リソースタグ)を使うと良いです。

今までハマったこれはきつかったというスロットリング制限は?

EIPや、ECRのイメージ数、EBS(gp2)のバーストクレジットなどです。

Google App Engine好きです。AWSにおけるGAEってlambdaでしょうか...?

Elastic Beanstalkが該当すると思います。

Elastic Beanstalkって、結局EC2インスタンスを立ち上げることになるんですよね? (EC2自体を管理したくないです)

完全にイコールなサービスはAWSにはありません。Elastic Beanstalk、Fargateや、使い方によってはLambdaで近いことが出来るかもしれません。

現在東京リージョンしか利用予定がありません。この場合、他のリージョンは無効にすることはできますか? (最近、別リージョンにインスタンス立てて、気づかなかったことありまして..)

デフォルトで有効になっているリージョンを無効化することはできません。ただしIAMで操作可能なリージョンをコントロールすることはできます。

Auto Scalingは、今もよく使われてますか?

非常によく使われています。EC2でもFargateでも。

コンテナ周りのセキュリティのお作法はところどころにあると思うのですが、LambdaのようなServerless、PaaS環境におけるセキュリティプラクティスなど、お客様へ提案する際にどういったところに気を付けて順序付けなどをしておりますでしょうか?

コンテナやサーバレスのセキュリティ対策をするための製品はまだ少ないため、根本的な対策であるセキュアコーディングやセキュアなアーキテクチャが求められます。また、WAFやGuardDutyなどの周辺のセキュリティ対策でカバーしていくことが有効です。

既存のRDSインスタンスをCDKで管理できるようにしたいです、一度消してCDKで作り直すしかないのでしょうか?

CFnインポート機能を使う事で、出来るかもしれません。

最近Lambdaを始めました。AWS SAM をちょっと使ってみたところ便利だったのですが、AWS CDK や Serverless Framework ばかり目にします。SAM はマイナー?なのでしょうか。また使いどころ(使い分け)を教えて欲しいです。

マイナーかどうかは分かりませんが、AWS SAMを使っているプロジェクトもあります。 公式である事実(AWS SAM/AWS CDK)、学習が比較的容易(Serverless Framework)などありますが、エンジニアの好みで良さそうです。

CFn 本番運用後にスタックに typo を見つけたらどうしますか?

どうしようもないですね……。

Terraform と CloudFormation のどちらを使うかで悩みます。決定木みたいなのはありますか? (条件AだったらTerraform、AでないならCloudFormationなど)

社内ではCloudFormation派とTerraform派があるのですが、顧客指定がなければ、各エンジニア好きな方を使っているのが現状です。

AWSにはいろいろなデータベースのサービスがありますが、どのように使い分ければいいですか?

こちらの弊社ホワイトペーパーを参照ください。

AWS CodeCommitは使っていますか?

使っているプロジェクトもあります。

AWS のアップデート情報は日本時間では早朝ですが、自分が気になっているサービスの大型アップデートが出そうな気配とかは感じるのでしょうか?(個人的に ChatBot の GA を楽しみに待っています)

気配は特にありません。プレビューの機能が長くプレビューのこともありますが、GitHubのロードマップにあがっているものがいきなりGAになったりまちまちです。

クラスメソッドに関するQ&A

クラメソさんに転職してくる方は元何系の方が多いんですか?

特に何系が多いというのはありません。 前職でAWSを触ったことがある方やない方、開発をしたことがある方やない方、ほんとうに様々な方がいます。

学習にあたりAWS利用コストが発生すると思うのですが、会社負担で自由にやられているのでしょうか?

会社負担で使えますが、1人あたりの月額の上限は目安があります。

クラスメソッドのみなさんは業務時間内外でブログを書かれていると思うのですが、どの時間帯に書くときが一番捗りますか? (早朝、深夜など)

人によって異なりますが、たとえば、大型アップデートを朝の5時にみてアドレナリンがでまくって1時間でブログ書いて朝の6時に公開するときです。

AWSサポートの回答で、御社のblogが紹介されていることがあるのですが紹介数に応じてリベートがでているのでしょうか?

AWSからお金を貰ってブログを書いているわけではないので、リベートやキャッシュバックなどは一切ありません。

クラスメソッドも、何かサービスを提供していらっしゃったりするのでしょうか?

自社サービス(insightwatchやprismatix)を開発している部門があります。 また、受託開発をしている部門もあります。

クラスメソッド内で、AWSや案件の情報共有はどうのようにしているのですか?

定期的に社内勉強会が開かれており、その場で情報共有が行われています。他にもブログ投稿などがあります。

ドイツ・カナダ以外に、クラスメソッドさんで海外から(長期)在宅されている方はいらっしゃいますか?

います。スイス、韓国、インドなど。

書籍に関するQ&A

あえて紙ベースで今後古い情報になっていくであろう書籍を買う意義って何なんでしょうか?

書籍は体系立てられた教材で学習するのに向いていると考えています。そのため、基礎がしっかりしている方、応用を知りたい方、最新情報に触れたい方などは、インターネットの公式ドキュメント等で学習すると良いと考えています。

その他のQ&A

エンジニアになりたてでAWS初学者なのですが、AWSを学習するために必要な知識は何だと思いますか?

なんでも同じと思いますが、自分で情報を集め学習する能力でしょうか。AWSに関するなら下記がおすすめです。

日本人エンジニアのレベルは、アメリカ等海外と比べて、いかがでしょうか?

re:Invent等で海外のエンジニアと会う機会は多いですが、国籍は関係なく、できる人はできます。

イベントやセミナーなど、何らかの形で著者の方にお会いする機会があった場合、本にサインはOKでしょうか?

もちろん喜んで!!!!

さいごに

当日は時間の都合で駆け足になってしまった回答もありましたが、たくさんの質問ありがとうございました!