話題の記事

「AWSをこれから始める学生への圧倒的なインプット」というテーマで喋ってきました

これからAWSを始めるという学生向けに喋る機会がありましたので、圧倒的なインプットをしたいと思い資料をまとめました。AWSを使うのは楽しいので、決してEC2を立てるだけで満足せず様々なことにチャレンジしてほしいです。
2019.05.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、臼田です。

皆さん、AWSのインプット足りてますか?

今回はこれからAWSを始めるという学生向けに喋る機会がありましたので、圧倒的なインプットをしたいと思い資料をまとめたので公開します。

資料

思いとか

「AWSの勉強を始めるぞ」となってEC2の立て方とかベーシック話をつらつらしてもつまらないと思ったので、AWSの魅力と無数のサービスを紹介してまずは良さを理解してもらうところに重点を置きました。

そして、勉強方法とどこから手を付けたらいいかのオススメをいくつか盛り込みました。

オンプレミスと変わらない作業をするのではなく、楽しくAWSらしい使い方ができるようになってもらえれば幸いです。

QAとか

Q. AWS初めてで何からやったらいいのかわからなかったのですがオススメはありますか?

A. まず大事なのはAWSを使うことを目的としないこと。WebDBのシステム作りたいとかWebアプリを作りたいとか、APIサービス公開したいとかCI/CDやってみたいとか。そのうえで合うサービス選んでください。AWS自体を使うことが目的になると面白くないです。

Q. AWSのデータベースサービスは色々あるがどう違うのか?

A. よく使うのはRDSとDynamoDBで、これはRDBMSとNoSQLで根本的にDBの構造が違います。詳しくは下記ブログにあります。

コンセプトから学ぶAmazon DynamoDB【Amazon RDSとの比較篇】

他にもRedshiftがあるがこれはDWH用途、ElastiCacheはmemcachedやRedisといったインメモリデータベースでセッション管理とかに使います。

Q. Lambdaを使えばAPIサービスを公開できそうだが、API Gatewayとはどう違うのか?

A. Lambdaで書いたスクリプトを直接実行するにはIAMの権限が必要で、外部公開するのには向きません。API Gatewayを使うとAPIを受け付けるためのHTTPSのエンドポイントが作成され、そのバックエンドにLambdaを置くことでAPIサービスとなります。その用途の場合にはAPI Gateway + Lambdaが基本構成です。実際の使い方は下記参照。

初めてのサーバーレスアプリケーション開発 ~API GatewayからLambdaを呼び出す~

Q. 今ローカルのPCでWeb + DB環境を構築しているが、AWSに持っていくならRDSなどを使ったほうがいいか?

A. どこに興味があるかとか、何に集中したいかによりますが、細かいことはいいからとりあえずAWS上で動かしたい!という場合にはそのまま同じようにEC2に環境構築することを第一目標としてもいいと思います。逆に、最初からRDSなどを駆使してクラウドに最適化した環境を目指すならRDSを最初から導入してもいいです。好みでどうぞ。言語のフレームワークを利用しているとのことだったので、フレームワークのコンフィグファイル等でRDSのFQDNを指定すればローカル以外のDBを参照できるはずです。

Q. RDSには種類がいくつかあるがどれを使えばいいか?

A. まず大きく違うのはAuroraと普通のRDSです。Auroraはエンタープライズでパフォーマンスを出すときや運用を楽にしたいときに使います。RDSの中では学生として使うならMySQLかPostgreSQLの2択になると思います。これはエンジンの特性が違うのでこの辺を参照してください。

まとめ

学生向けにAWSについて喋るのは初めてだったので非常に新鮮なレスポンスで楽しかったです。

資料だけでは伝わらない部分もいっぱいあるので、言葉で伝える活動は続けていきたいです。