最近、仕事でAWSを使ってサービスを提供している方々とお話することが多いので、AWSの基本的な知識がないと話が出来ません。
そんなこともあり、かなり前にAWSクラウドプラクティショナーという資格を取りました。
この資格、AWS認定試験の中で一番基本となるものですが、AWSを使った設計、開発、運用の全てを広く知ることができます。
深く知るには設計、開発、運用とそれぞれに特化した資格があり、その勉強をする必要があります。
ただ、私の場合、AWSなどのセキュリティ監査をする立場ということもあり、そこまで深い知識はいりません。
とはいえ、セキュリティの話をするときにEC2とかの責任共有モデルなどはある程度理解しておく必要があります。
そんなこともあり、AWSクラウドプラクティショナーの知識のリマインドと、もう少しだけ深く知りたいなぁと思いました。
そして見つけたのが以下です。
AWS認定アソシエイト3資格対策 です。
この本、設計、開発、運用の各資格を1冊で学べます。
ただ、Amazonレビューだと、この本1冊では各資格に合格はできない、とか書かれていて、あまり評判は良くないようです。
ただ、資格取得を目的としない私のような人には、さらっと全てのアソシエイト(クラウドプラクティショナーより上位)レベルを学ぶには最適でした。
ここからは、ただの備忘です・・・
AWSクラウドプラクティショナーでは、開発と運用(DevOpsとよく言いますが)をあまり理解する必要はなかったです。
よって、デプロイメントとプロビジョニングについて、あまり知らなかったのですが、この本で補強することができました。
覚えたい機能だけ書いてみます。
CloudFormation AWSのインフラ構成をコードで記述して、テンプレート化、環境を自動で構築するサービス。
ECS はDockerコンテナ。
あと、最近CI/CDという言葉を聞きますが、CIが継続的インテグレーションで要するにコードディングからビルドまでを一貫して自動化。
CDが継続的デリバリーとデプロイ デリバリーとデプロイの違いは、テストとリリース判定を手動で行うのがデリバリーとのこと。
理屈がよくわかりませんが、そういう定義ということ。
CodeCommitはソース管理、CodeBuildはビルドとテストの実行、CodeDeployはデプロイの実行、CodePipelineはリリースプロセスの作成と管理。
とのこと、
あとは、サーバレスアーキテクチャということでLambdaですね、
Lambda関数をPython,Ruby,Java,Go,.net,Nodeなどで書いて、圧縮してデプロイすると、プッシュ型、プル型で任意の処理をすることができる。
API GatewayというWebサーバのようなマネージドサービスと組み合わせると、Webシステム的なものが簡単に作れるということ。
ただし、デプロイ初回起動は結構時間がかかるので、それがいやなら、EC2上にOSやミドルウェアを導入して自分で作る。
ということ。
