AWS放課後勉強会
前田です。
最近ここ2、3日ぐらいですが弊社の柳沼の声掛けがきっかけで、業務が終わった後ぐらいにメンバー不定でゆるい感じのAWS放課後勉強会を開催しています。
来月中旬頃にAWS認定デベロッパーアソシエイトの試験を受ける予定なので、対策も兼ねて色々なサービスを触っておきたいと思っていたのでちょうどいいなぁと思って積極的に参加しています。
新しいサービスを導入する際の検証用の為にAWSの検証用アカウントを会社として準備してくれていますので、そのアカウントを使って色々自由にやっています。
業務のほうが今はそれほど立て込んではいないのでその間だけかもしれませんが、触っていないサービスを触ってみたり興味のある分野を掘り下げたりなど、有意義な活動にしたいと思っています。
今回はご紹介がてらゆるく活動内容を振り返ってみたいと思います。
第1回 Elastic Beanstalkに触ってみよう
レンタルホスト上などで動いているWordPressで構築されたアプリケーションを、性能問題やオートスケールなどに対応したいという要望でAWSに移行したい、というお話をちらほら頂くようになっています。
ECS上にアプリケーションを載せて、などを検討しておりますが、Elastic Beanstalkで用意されたPHPのプラットフォームで動かす、という方法も検討してみることになり、その為の検証としてElastic Beanstalkを動かしてみよう、ということになりました。
結果、とても簡単にPHPアプリケーションが動く環境を構築することが出来ました。
いつもやっているVPCやサブネットを構築して...といった手間が無くなるので、いつも掛けている時間の3分の1か4分の1ぐらいの時間で構築できたのではないかと思います。
もちろんカスタムしようとすると手間もかかると思いますが、レンタルホスト上で動いているWordPressのようなアプリケーションの移行にはとてもいいサービスだなと思いました。
概要は把握出来ましたので、今後使う機会があれば使っていきたいと思います。
参考
第2回 新規に作ったサブドメインをSES認証して、ACMでSSL証明書をリクエストして、そのメールを受け取ってみよう
Route53やドメイン関係の検証が出来る環境が欲しいなと思っていて、検証用に自由に使えるドメインがあればいいな、と思ったのがきっかけでした。
弊社で管理しているmmmcorp.co.jp
というドメインがあるのですが、そのサブドメインを切って別のAWSアカウントで自由に使えるようにしました。
以前同じことを業務でもやっていたので特に構築でハマるポイントもなく進めました。
個人的に今回試したいなと思っていたことが「SESの受信をLambda経由でSlackに流す(SES -> Lambda -> Slack
)」ということでした。
SES -> S3 -> Lambda -> Slack
でメールを流している記事はよく見かけていて、SESからLambdaだとBodyが取得出来ないという記事を見かけていたのですが、もしかして今は取得出来るようになっていたりしないかな?とか淡い期待を込めつつ本当にそうなのか自分でも確認してみたかったのでやってみました。
結果はSESからLambdaに流す時に、メールのSubjectしか受け取ることが出来ず、SlackにBodyを流すことが出来ないのでやはり期待通りになりませんでした。
参考
- Route 53でサブドメインを別のHosted Zoneに権限委譲する
- [ACM] SSL証明書発行時のドメイン認証メールをSESで受け取ってみた
- Amazon SESとLambdaを使ってメールをSlackに通知する
- SES で受信したメールを Lambda で処理してみた
第3回 API GatewayとLambdaを使ってDynamoDBにデータをINSERTしよう
DynamoDBに触れたことが無かったので実際に触ってみたいと思っていました。
AWSコンソール上でテーブルを構築し、awscliを使ってデータをput・getなどをしてみました。
DynamoDBのやり方に沿ってクエリを叩かないといけないですが、同じNoSQLサービスであるElasticsearchよりも使いやすい気がしました。
API Gateway -> Lambda -> DynamoDB
でデータ登録することは出来たのですが、いつもハマっているのですがAPI Gateway
からLambda
に流すところで時間を取られてしまい、DynamoDB自体を触る時間があまり取れませんでした。
この回ではサンプルテーブルを1つ作っただけでしたので、次回はDynamoDBの構造をもっと勉強した上で実用的なアプリケーションにどう組み込むか、などを考えて構築してみたいと思います。
参考
第4回 AWS上の別リージョンにそれぞれVPCを構築し、VPN接続しよう
AWSとオンプレミス環境をVPNで接続したい、というお話はよくあると思います。
自分でやる場合はVPNルーターを購入して、という感じになると思いますが、ハードを購入するのはお金が掛かるしリモートですることは出来ないのでAWS上だけで完結するように構築してみようということになりました。
結果、やっているうちにあれも調べよう、これも調べよう、という感じで飛び飛びになってしまってあまり進みませんでした。
引き続き第5回も同じテーマでやっていく予定ですが、分からない箇所は詳しいメンバーに聞きつつ勉強しながらやっていきたいと思います。
参考
今後の開催予定テーマ
- Athena、EMR、Kinesisなどのデータ分析サービスの違いを知ろう
- CodeDeploy、CodeStar、CodeCommitなどの開発者向けサービスを使ってみよう
- RedShiftを使ってみよう
- WAFとKinesisを使ったDOS攻撃の可視化をしてみよう
- IDフェデレーション
- Trusted Advisor
- EBSボリューム変更
- Lambda + WAF + Kinesis
- VPN on AWS
- EC2 プレイスメントグループ
どれもやりたいテーマなのですが、業務でCodeDeployを使うことになるかもしれないので来週はその辺りからやっていくことになるかなと思っています。
まとめ
Skype上で画面共有してAWSのコンソールを触りながら、をやっているのですが、副産物としてちょっとしたナレッジを共有出来たりするのも楽しいです。
今後業務で使いそうなサービスに予め触れておくことはとても有意義です。
AWS試験対策にもなるし、メリットが多いこういった勉強会は時間があるかぎり積極的に参加していこうと思っています。