HashiCorp Certified: Terraform Associateに合格した
はじめに
今年の春に公開された、Terraformに関する認定試験Terraform associateを受験してきました。記念に受験の流れや対策を記します。
きっかけ
Terraformを使う案件にアサインされていたので、ついでに取ってみようかなーと思って受けてみました。Terraform歴は2か月くらいです。 ついでに英語の試験も初めてでした。
結果
75%で合格でした。ボーダーは公表されていませんが、ギリギリな気がします。
受験の流れ
登録
試験概要のページからユーザ登録をし、テストを購入します。 クレジットカードなどで受験料を支払った後に試験の予約をします。JSTにしておくようにしましょう。 私は午後2時からで予約しました。
準備
受験ルールなどが書かれた案内メールが届きます。内容は試験当日にもチェックされるので目を通しておきましょう。中身は
- デュアルディスプレイの禁止
- 部屋に一人でいること
- 机の周りを片付けること
- 電源につないでいること
などが書いてありました。
当日
試験はZoomで行われます。試験官とのやりとりも英語で行われます。英語が苦手なら"I'm not good at English."ぐらいは伝えておくとある程度の操作は試験官が代わりに行ってくれます。 ノイズが激しくて正直ほとんど聞き取れませんでしたが、雰囲気で乗り切りました。 パスポートでの本人確認や部屋の確認などを済ませるとテストを開始できます。 画面共有とカメラをオンにしたまま試験は進みますが、あまり見られていると意識することはなかったです。 試験結果はすぐに表示されます。その後試験官から声を掛けられ、最後にアンケートに答えて試験終了となります。
対策
公式のページにかなり詳しく試験範囲が書いてあるのでそれをきちんと押さえることが重要です。
exam-reviewに書いてあることはほぼそのまま出題されます。あとはudemyなどで適当な対策講座をすれば十分だと思います。
おわりに
範囲自体はそこまで広くないので業務でTerraformを使っている人であればそこまで難しくはないと思います。個人的には試験との英語でのやりとりが一番きつかったです。
AWS SAA合格記
はじめに
先日AWS ソリューションアーキテクト アソシエイト試験に合格しました。合格記を書くところまでが試験ということで何番煎じかわかりませんが合格までにやったことや、必要な知識などをまとめていきます。既にネットでも多数の情報があるので、最小労力で試験に合格できるような方法を書きたいと思います。
触れること
-
試験に求められる知識
-
試験対策に有用な教材
-
自分が行った対策
触れないこと
試験に求められるもの
大きく分けると
の3つに分けられると思います。
1. ITの基礎知識
自分が受けたときは、https通信が443ポートで行われることとTCPプロトコルであることを知らないと解けない問題が出題されました。ネットワークに関しては、基本情報レベルの知識は最低限必要かと思います。基本情報or応用情報の資格を持っていない人は、この機会に取得を目指してみるのもいいかもしれません。興味なければググってネットワークの知識を整理してみてください。
その他ゴールデンイメージやBlue/Greenデプロイメントなどは説明なしに登場します。模擬試験などでわからない単語が出てきたらその都度メモしておくのが吉です。
2. AWS製品の使用経験
公式ページによると、推奨される経験として
・AWS のコンピューティング、ネットワーキング、ストレージ、データベースサービスの実践的な使用経験
・AWS のデプロイおよび管理サービスに関する実践経験
が挙げられています。「コンピューティング、ネットワーキング、ストレージ、データベースサービス」に対応する製品として
あたりは、触ったことがないと解答が難しい問題(バックアップの挙動etc)が出題されました。業務でもよく使う製品ばかりなので実務経験のある方は問題ないと思いますが、AWS未経験の方は少しでも触ってみることをお勧めします。
「AWS のデプロイおよび管理サービスに関する実践経験」に関してはCloudFormationなどがあたりますが、今回のテストでは基本的な知識しか問われませんでした。
3. AWS製品のサービス概要
サービス概要だけ知っていれば解ける問題も出題されました。出題頻度としては前項と同じか少し少ないと感じました。
試験対策
結果的にはudemy(上の2つ)だけでよかったかなと思います。udemyの模試は本番より難しいです(前日に解いても6割程度でした)。対策時間は40~50時間ぐらいです。うち25時間はudemyの講座でハンズオンしてたので実務経験のある人は2番目の模擬試験だけでも十分かもしれません。
試験について
ソリューションアーキテクトなので、サービスを組み合わせてシステムを構築することを題材にした問題が多いです。そのほかには可用性向上、負荷分散、セキュリティ強化などを問われます。これらの目的の下で、
-
パフォーマンスが最大のもの
-
費用対効果が最大となるもの
-
移行コストが最小のもの
など様々な要件に基づいて最適な選択肢を選びます。問題文をよく読んで要件をしっかり理解することが重要です。日本語が機械翻訳で少しわかりにくいので意味が分からないときは英語の文に切り替えるとよいです。時間はめちゃくちゃ余るので見直しをしっかりすれば問題なく合格できると思います。
試験結果
詳細な結果は後日送られてくるそうなので来たら貼ります。試験中の体感では
-
40問:合ってる
-
15問:自信がない
-
5問:全くわからん
という感触でした。おそらく正答率75%程度だと思います。
追記 : 80%くらいでした
知識整理シート
試験で問われた、問われそうな知識をまとめます。答えは書かないので皆さんの知識整理に役立ててください。特にバックアップや暗号化などは実際にサービスに触れてやってみるのをお勧めします。
コンピューティング
EC2
Lambda
-
Lambda Layerとは
-
イベント読み込み対象(直接読み込めるものとCloudwatchやSNSと連携させないといけないもの)
-
最大メモリ容量
コンテナ
ECS
-
起動モードの使い分け
EKS
-
サービス概要
ストレージ
S3
-
ストレージクラスの使い分け
-
ストレージクラス別の取り出し時間
-
キャッシュ方法
-
レイテンシを押さえる方法
-
認証の使い分け
-
クエリ方法
-
暗号化方式
-
コスト最適化する方法
-
イベントを通知できる対象となるサービス
-
データレイクとして扱う方法
-
アクセス制限
-
署名付きURL
-
署名付きCookie
-
OAI
-
EBS
-
ストレージタイプ
-
バックアップ方法
EFS
-
ストレージクラス
-
パフォーマンスモード
-
サポートしているプロトコル
FSx
C02版から追加されているそうです。今回は2問出題されました。
-
サービス概要
-
サポートしているプロトコル
Storage Gateway
Backup
-
サービス概要
データベース
RDS
-
負荷分散する方法
-
バックアップする方法
-
暗号化する方法と仕様
-
RDS Proxyの概要
Dynamo
-
データ整合性モデル
-
変更の検出
ElastiCashe
-
RedisとMemchachedの差
Neptune
-
サービス概要
Aurora
-
レプリケーション方法
-
Aurora Serverlessの概要
セキュリティ、アイデンティティ、コンプライアンス
IAM
Cognito
-
サービス概要
Directory Service
-
サービス概要
-
AD Connectorの概要
Shield
-
サービス概要
WAF
-
IP制限リストの読みとり
暗号化とPKI
以下サービス概要だけ押さえておけばほぼ問題ないです
マネジメントとガバナンス
Auto Scaling
-
対象となるサービス
-
スケジューリングオプション
移行と転送
Snow Family
-
Snowball
-
Snowball Edge
-
Snowmobile
の使い分け
セキュリティ、アイデンティティ、コンプライアンス
API Gateway
-
速度向上させる方法
ELB
-
サービスの使い分け
-
ALB
-
NLB
-
CLB
-
-
ログ監視方法
CloudFront
-
コスト体系とコスト削減法
-
アクセスを制限する方法
-
ユーザー別
-
地域別
-
Route53
-
ルーティングポリシー
-
サポートするDNSレコードタイプ
-
FloatingIPについて
VPC
-
オンプレと安全に接続する方法
-
他のリソースへのプライベート接続
-
複雑なネットワーク管理を効率化する方法
-
ENIの概要
-
Global Acceleratorの概要
分析
Redshift
-
バックアップ方法
-
コストの最適化
-
データの移動をVPC内に制限する方法
EMR
-
サービス概要
QuickSight
-
データソースとなる対象サービス
アプリケーション統合
SQS
Step Functions
-
サービス概要
その他
ウェルノウンポート
のポート番号
RAID
-
RAID0
-
RAID1
-
RAID5
-
RAID6
httpレスポンスコード
-
401
-
403
-
404
-
503
データサイエンス100本ノックをpysparkで解く
データサイエンス100本ノック をpysparkで解きました。環境構築には公式と同様にDockerを使っています。 gitリポジトリはこちら
ローカルのファイルをDockerイメージにマウントするため、ユーザディレクトリ配下でgit clone
することがおススメです。
それ以外のディレクトリに展開する場合は、Dockerの共有設定を変更する必要があります。
git clone https://github.com/muka-1206/practice-pyspark
でディレクトリをクローンしてください。
cloneしたディレクトリに移動してください。
cd practice-pyspark
以下のコマンドでbuildが行えます。初回はimageをpullするため時間がかかります。
docker-compose up -d --build
コンテナを起動した状態で http://localhost:8890 にアクセスするとjupyter notebookが起動します。
終了するときはdocker-compose stop
、コンテナを再起動するときはdocker-compose start
です。
イメージごと削除するときはdocker-compose down
でイメージを削除できます。