都内でPHPerとして従事している三流プログラマーです。
アプリケーションの外に興味を持ったことがキッカケでAWSの世界に足を踏み入れて1年ちょっとが経ちます。
そんなPHPerがAWS SAA(c03) に合格した話をしたいと思います〜
SAA C03 とは
AWS Certified Solutions Architect – Associate とは、 中級レベルに位置する AWS 認定資格です。
レベルとしては、4段階の下から2番目の資格となるため、難易度は高くはありません。
AWS 認定ソリューションアーキテクト - アソシエイトは、コストとパフォーマンスが最適化されたソリューションの設計に重点を置いています。これは、AWS クラウドまたはオンプレミス IT での経験が豊富な受験者にとって理想的な出発点です
カテゴリ Associate 試験時間 130分 試験形式 65 個の問題 (複数選択または複数応答のいずれか) コスト 150 USD。 為替レートを含むコストに関する他の情報については、「試験の料金」にアクセスしてください 受験オプション Pearson VUE テストセンターまたはオンライン監督付き試験 対象言語 英語、フランス語 (フランス)、ドイツ語、イタリア語、日本語、韓国語、ポルトガル語 (ブラジル)、中国語 (簡体字)、スペイン語 (ラテンアメリカ)、スペイン語 (スペイン)、中国語 (繁体字)
受験者の経歴
- 基本的にバックエンドを生業としているアプリケーションプログラマー
- たまにサーバー構築/保守 のお仕事
- AWS 歴は3年(素人レベルの仕事
- 受験前に触ったことのあるサービス(基本的にLAMPに関わるサービスのみ
- EC2
- ALB
- ECS
- Lambda
- RDS
- S3
- Cloud Watch
- SQS
- SES
合格するための勉強法
Ping-t
Ping-t を中心に学習を進めました。
Ping-t は、1問1答型式で問題を解いていくことができ、分からないを解決しながら各種サービスの理解を深めていくことができる優れモノです。
各種サービスごとの問題集や試験レベルの問題を用意していくており、ひたらすら解いていくことで徐々に知識がついていきます。
SAA に関しては、完全無料で使うことができるため、 受験予定者はぜひ使っていただきたい神サービスです。(インフラ系の他資格の対策も練ることができるみたいなので、サイト閲覧してみてえください〜
AWS Black Belt
問題を解くだけでは、受験するメリットが薄まってしまいそうだったため、PHPerとして業務に関わりそうな以下のサービスに関しては、AWS Black Belt でお勉強をしました。
- EC2 + Auto Scaling
- RDS/Aurora
- DynamoDB
- ElastiCache
- S3/EFS
- SQS/SNS
あるべき姿を考えると試験範囲の全てのBlackBeltを読むべきだったのですが、残念ながら時間を確保することが難しかったため自分の業務に関わりそうなサービスだけ読んだ形になります。
資格取得のために Ping-t をひたらすら解いたのですが、業務に活かすという観点からは 公式資料を熟読している方が有意義でした。
総勉強時間
だいたい3週間ほど試験対策を行いました。
- 7日間: Black Belt
- 14日間: Ping-t
子育ての合間を縫っての勉強になったため結構な時間がかかってしまったのですが、 サーバー構築を1度でもやったことがある方だと、 Ping-t を3日間くらいやり込んだら取れるのではないかと思います。
なぜ、 サーバー構築を1度でもやったことがある人が3日間で取得可能かというと、サーバー構築をやるにあたって以下の知識が必要になってくるからです。
※ 深い知見は必要ないです。 DNS とは ドメイン管理しているサービスです くらいが言えるレベル感を指しています。
- ネットワーク
- DNS
- Linux
これらの基礎知識があれば、AWS の各種サービスについて学習していくだけで当たり前ですが合格できちゃいます。
逆にサーバー周りが何にも分からないって人は試験勉強の一環として一度だけLAMP環境を立ててみてほしいです。 Ping-t の解説がなるほど〜 となったり、 AWS の提供しているマネージドサービスに感動する事ができます。
普通に勉強すればどんな人でも合格可能な資格ですので、皆さん頑張っていきましょう〜
じゃーん
取得するとAWSの業務をこなせるようになるのか?
答えは No です。
合格するとAWS の各種サービスについて理解がある状態になるのですが、業務に速攻で活きるということは絶対にありません。
今のインフラ構成がAWS のベストプラクティスに反していることが分かっていても、過去に何があって今の構成に至っているかを把握しながら
受験したことで得た知識
業務に活きそうな知識は以下のとおりです。
- Lambda
- コールドスタート対策
- イベント駆動型での活用(SNS/SQS)
- VPC内への配置
- S3/EFS
- コスト低下戦略
- アップロードの最適化
- Putイベント
- RDS/Aurora
- マルチリージョン
- RDS Proxy
- ALB/NLB
- パフォーマンス最適化
- マルチリージョン
- VPCに関わるネットワーク
- ピアリング
- マルチリージョン
- オンプレとの通信
- オンプレとクラウドのハイブリット戦略
- ストレージ間の同期
- データ転送量を考慮した構成/サービス
- アプリケーションはオンプレ、データ基盤はクラウド
- オンプレ配置されているデータセンターへのクラウド基盤の貸し出し
- ストレージ間の同期
番外編の知識としては、学習していく中でたまたま出会えた知見たちです。
目からウロコのものもあったので、この辺りは勉強しておいて良かったなぁ〜と思っている所存です。
- DB インスタンスもセキュリティグループを絞る事を前提にパブリックサブネットに置いても良いんじゃないか説
- SSH 鍵を不要とする戦略
PHPer としての SAA の次のステップ
今のところ、SAAの上位資格のSAPを取得するつもりはありません。
前述した通り、資格を取ったからといって業務に直ぐに活きるということがないため、AWSの世界にどっぷり入ることになったタイミングで Professional 資格に挑もうと思います。
これからの目標としては、PHP に直接関わりのある MySQL や nginx といったミドルウェアや DevOps として CI/CD , IaC について知見を深めることができるといいなぁと考えています。
MySQL
- Materialized View
- Window関数, JSONの扱い
- パフォーマンスチューニング
nginx
- セキュリティに係るHTTPヘッダー
- プロセス管理
DevOps
- CI/CD (GitHub Actionis
- IaC (Terraform