図解 Amazon Web Servicesの仕組みとサービスがたった1日でよくわかる を読んだ
購入した理由
50%OFF and AWS全然知らない人とのコミュニケーションを円滑にする
自身のAWS経験
3年程度。それまではオンブレミス
主なロールはBackendのSWE。オンプレミス時代はインフラ未経験
触ったことのあるサービス
- Elastic Beanstalk / EC2 / ECS / App Runner / Lambda
- CloudFront / RDS / Aurora / ElastiCache / S3 / CloudWatch Logs / Athena / SES
- CodeDeploy / SAM / CDK
良かった点
プロビジョンド方式 という単語。「サーバレスじゃなくて通常の奴って何て言うんだっけ」とよく忘れるので
物理サーバ・仮想サーバ・コンテナの違い。一軒家・マンション・シェアハウスの例は分かりやすい
割引(RIとSP)に触れている。長期間の利用が確実な場合は使った方が良い
高価なRDSは劇的に安くなりますよ!コンテナのメリット コンテナイメージはどの環境でも起動出来る点
EC2を直接使用の場合はAMIを生成するツール(Packerなど)、Elastic Beanstalkの場合は設定ファイル(.ebextensions)にDockerfileと同じような記述をすることになるので2重メンテナンスが面倒だったネットワーク。VPCやサブネットを単体で理解するのは難しいですが、Webアプリケーションの一般的な構成例が図解されてるので理解が比較的容易になっている
データベース RDSとAuroraの違い。Auroraは書き込みと読み込みのエンドポイントが異なる点など
LaravelはWrite/Read毎にエンドポイント指定出来ますねIAM ユーザとロールの違い。ユーザは人、ロールはAWSのサービスが使う
Backendのプログラムで環境変数にIDとシークレットを登録して、AWS SDKを使用しているのをたまに見かけます複数AWSアカウントの利用
後からマルチアカウントにするのは結構大変なので、最初から本番とテストは別のアカウントの方が良いですCloudWatch Logs アプリケーションログを転送することでAWSの管理コンソールでログを確認出来る
オンプレミスだとサーバにSSHして、tail
やgrep
してログ見てますけど、これは不要
追加するとすれば
JSONを説明するなら、jq も一緒に
AWSの利用頻度が少ない人はJSONに不慣れな可能性があるので jq の存在を知らないかも(DynamoDBの利用シーンの記載はあったので)DocumentDBの利用シーン
JSON形式で保存出来るので、Google Formsみたいなフォームビルダーで活躍するのかも(使用した事が無いので想像です・・)
まとめ
主要なサービスの概要が纏まっているので、薄く広く理解出来る良書でした
深堀したい場合は公式を見る。内容が難しいと感じたら、AWSの管理コンソールを操作すれば理解が深まるでしょう
VPC関連が完全な初心者だと結構難しいはず
一旦スキップして、ELB・Route53・CloudFrontだけの理解でも良いかも