はじめに
これまで業務や個人開発でEC2インスタンスは何度も触ってきました。
インスタンスの作成、セキュリティグループの設定、SSH接続など、基本的な操作は経験済みです。
しかし、AWS Skill BuilderのEC2トレーニングを受けてみて、実は触っていない機能が多いということに気づきました。
今回はその体験をまとめます。
Introduction to Amazon EC2 (日本語)
実際に触った内容
① インスタンスのスクリーンショット取得
EC2には「インスタンスのスクリーンショットを取得する」機能があります。
正直、今まで使ったことがありませんでした。
この機能は、
- OSがフリーズしている
- SSH接続できない
- ネットワークの問題が疑われる
といった場合に、インスタンスのコンソール画面を画像として確認できる機能です。
普段SSH前提で作業していると意識しませんが、トラブルシュート時には便利な機能だと感じました。
SSHまたはRDP経由でインスタンスにアクセスできない場合は、インスタンスのスクリーンショットをキャプチャして画像として表示できます。これにより、インスタンスのステータスを可視化し、より迅速なトラブルシューティングが可能になります。
② システムログの取得と確認
これも今まで意識的に使ったことがありませんでした。
EC2では、OSレベルのログをマネジメントコンソールから取得できます。
SSHできない状況でもログが確認できるため障害対応の引き出しを1つ増やすことができました。
普段はCloudWatch Logsばかり見ていましたがEC2側のログ確認も重要だと再認識しました。
システムログにはインスタンスのコンソール出力が表示されます。これは問題診断に役立つ貴重なツールです。特に、SSHデーモンが起動する前にインスタンスが終了したり、アクセス不能になったりする可能性のあるカーネルの問題やサービス設定の問題のトラブルシューティングに役立ちます。
③ ユーザーデータでhttpdをインストール
EC2作成時の「ユーザーデータ」を使い、起動時に自動で httpd をインストールしました。
#!/bin/bash
dnf -y install httpd
systemctl enable httpd
systemctl start httpd
echo '<html><h1>Hello From Your Web Server!</h1></html>' > /var/www/html/index.html
これも知識としては知っていましたが、普段はDocker側に記述していたので使ってきませんでした。
実際にトレーニングで手を動かしてみることで記憶に定着しやすくなりました。
インスタンスを起動するときに、インスタンスにユーザー データを渡すことができます。このデータを使用して、一般的な自動構成タスクを実行したり、インスタンスの起動後にスクリプトを実行したりすることもできます。
Skill Builderの良いところ
① (トレーニングの)アカウント作成不要
専用のトレーニング環境が用意されているため、AWSアカウントを新しく作る必要がありません。
② 料金を気にせず学習できる
個人で検証すると
- インスタンスを消し忘れる
- 思わぬ課金が発生する
といった不安があります。
しかしトレーニング環境ではその心配がありません。これはかなり大きいです。
③ 学習状況が可視化される
- 確認テスト
- 修了証明書
があるため、学習の進捗が目に見えます。
独学だと「やったつもり」になりがちですが、テストがあることで理解度もチェックできます。
こんな人におすすめ
- AWSは触ったことがあるけど、体系的に学んだことがない人
- AWS認定資格勉強をしている人
- お金をかけずにAWSを触りたい人
- 実務経験はあるが、知識に抜け漏れがありそうな人(トレーニングの内容次第)
まとめ
EC2は使っているつもりでしたが、実際には触っていない機能が多くありました。
Skill Builderは「知っている」を「使える」に変えるための環境だと感じました。
今後も他のサービスのトレーニングも試してみたいと思います。

