こんにちは、インフラエンジニアのryuです。
この記事は、AWSの勉強をしているのに、実際の使い方がよく分からないという人に向けて書いています。
参考書や動画でEC2やS3、IAMといったサービス名は覚えた。でも、いざマネジメントコンソールを開くと、どこから触ればいいのか分からない。料金がかかるのが怖くて、結局何もせずに閉じてしまう。そんな経験はありませんか。
この記事では、AWSを触り始めたばかりの人が最初に試したい3つの操作を、ハンズオン形式で紹介します。
| 課題 | やること | 身につくこと |
|---|---|---|
| 課題1 | AWS Budgetsで予算アラートを作る | 料金の事故を防ぐ方法 |
| 課題2 | ルートユーザーをやめて作業用ユーザーで入る | アカウントを安全に使う方法 |
| 課題3 | CloudShellでS3のバケットを作って消す | コマンドでAWSを操作する方法と後片付け |
3つとも、サーバーを立てっぱなしにするような操作はありません。順番どおりに進めれば、料金の心配をしながら触る状態から抜け出せます。
このハンズオンはCLF-C02のどこにつながる?¶
AWS Certified Cloud Practitioner(CLF-C02)の試験は、4つの分野に分かれています。今回の3つの課題は、それぞれ次の分野の内容を手で確かめるものです。
| CLF-C02の分野 | 配点 | 今回の課題 |
|---|---|---|
| クラウドのコンセプト | 24% | ― |
| セキュリティとコンプライアンス | 30% | 課題2(ルートユーザーの保護、IAM、MFA) |
| クラウドテクノロジーとサービス | 34% | 課題3(AWSを操作する方法、S3) |
| 請求、料金、およびサポート | 12% | 課題1(AWS Budgets) |
試験では、ルートユーザーで日常の作業をしない理由や、予算を超えそうなときに通知するサービスはどれか、といった内容が問われます。文章で覚えるより、一度自分で設定しておくほうがずっと記憶に残ります。
試験全体の勉強の進め方は、CLF-C02の勉強方法の記事でまとめています。
始める前に:料金について確認しておくこと¶
ハンズオンに入る前に、料金の仕組みを確認しておきましょう。
2025年7月15日以降に作成したAWSアカウントでは、無料利用枠の仕組みが変わっています。新しいアカウントは無料プランと有料プランのどちらかを選び、登録時に100ドル分のクレジットを受け取れます。さらに、AWS Budgetsの設定など決められた操作を行うと、クレジットが追加でもらえます。
無料プランは、アカウント作成から6か月たつか、クレジットを使い切るかの早いほうで終わります。終了後に有料プランへ切り替えないと、アカウントは閉鎖されます。データは90日間保持され、その間に有料プランへ切り替えればアカウントを再開できます。
2025年7月15日より前に作ったアカウントは、以前の無料利用枠の条件が適用されます。条件は変わることがあるので、作業の前にAWSの無料利用枠のページで自分のアカウントの条件を確認してください。
課題1:AWS Budgetsで予算アラートを作る¶
最初の課題は、料金の見張り役を置くことです。AWSを触る前に、まず予算アラートを設定するのが、事故を防ぐいちばん確実な方法です。
AWS Budgetsは、使った金額や、月末までに使いそうな金額が設定した予算を超えたときに、メールで知らせてくれるサービスです。AWSの料金ページによると、予算の監視と通知には料金がかかりません。
手順:ゼロ支出の予算を作る¶
AWS Budgetsには、よく使う設定をまとめたテンプレートがあります。初心者は、その中のゼロ支出の予算(Zero spend budget)を使うのが簡単です。
- マネジメントコンソールの上の検索欄に
Budgetsと入力し、AWS Budgetsを開く - 予算の作成を選び、テンプレートを使う(簡易)を選ぶ
- テンプレートの一覧からゼロ支出の予算を選ぶ
- 通知を受け取るメールアドレスを入力して、予算を作成する
ゼロ支出の予算は、無料利用枠の範囲を超えて料金が発生したときに通知するための予算です。1円でも請求が出たら気づける状態にしておけば、消し忘れたリソースに何週間も気づかない、という事故を防げます。
結果の確認と読み方¶
作成が終わると、Budgetsの一覧に予算が表示されます。一覧には、予算額と、現在の実際のコスト、月末までの予測が並んでいます。
ここで見ておきたいのは、実際のコストと予測の違いです。実際のコストは今日までに使った金額、予測は今のペースで使い続けたときの月末の見込みです。予測が予算を超えそうなときにも通知を出せるので、慣れてきたら月額の上限を決めた予算も追加してみましょう。
CloudWatchで請求アラームを作る方法もあります。興味がある人は、CloudWatchで請求アラームを有効にする方法の記事も見てみてください。
課題2:ルートユーザーをやめて作業用ユーザーで入る¶
2つ目の課題は、アカウントを安全に使う準備です。
AWSアカウントを作ったときのメールアドレスとパスワードでログインするユーザーを、ルートユーザーと呼びます。ルートユーザーはアカウントのすべての操作ができる、いちばん強い権限を持っています。
AWSのIAMのドキュメントでは、ルートユーザーの認証情報が必要な作業以外では、ルートユーザーを使わないように強く勧めています。日常の作業には、管理用のユーザーを別に作って使います。
手順:MFAと作業用ユーザーを用意する¶
やることは、ルートユーザーを守る作業と、作業用のユーザーを作る作業の2つです。
- ルートユーザーでログインし、セキュリティ認証情報の画面からMFA(多要素認証)を設定する
- IAMの画面から、マネジメントコンソールにログインできる作業用ユーザーを作る
- 作業用ユーザーにもMFAを設定する
- ルートユーザーからログアウトし、作業用ユーザーでログインし直す
IAMユーザーの作り方はIAMユーザーの作成方法の記事、MFAの設定はIAMユーザーでMFAを有効にする方法の記事で、画面の流れを詳しく書いています。
なお、AWSは人がAWSを使うときに、一時的な認証情報で入ることを勧めています。複数のアカウントを使うようになったら、その方法としてIAM Identity Centerへの切り替えも検討しましょう。
結果の確認と読み方¶
作業用ユーザーでログインできたら、画面右上のアカウント名の部分を開いてみてください。ルートユーザーのときと表示が変わり、IAMユーザー名が出ていれば成功です。
ここでもう1つ確認したいのが、IAMの画面のセキュリティに関する推奨事項です。ルートユーザーにMFAが設定されているかどうかが表示されるので、警告が出ていないことを確かめておきましょう。
課題3:CloudShellでS3のバケットを作って消す¶
3つ目の課題は、コマンドでAWSを操作してみることです。ここまでで安全の準備ができたので、いよいよ実際にリソースを作ります。
使うのはAWS CloudShellです。マネジメントコンソールからブラウザで開けるターミナルで、AWS CLIが最初から入っています。AWSのFAQによると、CloudShell自体には追加料金がかかりません。ただし、CloudShellから作ったリソースには、そのサービスの料金がかかります。
今回作るS3のバケットとファイルは、数バイトの小さなものなので、料金はごくわずかです。ただし、0円になるとは限りません。課題の最後で必ず削除してください。
手順1:自分が誰としてログインしているか確かめる¶
作業用ユーザーでコンソールにログインした状態で、画面上部のCloudShellのアイコンを選んで起動します。起動したら、次のコマンドを打ってみましょう。
aws sts get-caller-identity
このコマンドは、今どのアカウントの、どのユーザーとしてAWSを操作しているかを返します。結果はJSONの形で、UserId・Account・Arn の3つが表示されます。
Account は12桁のアカウントID、Arn は操作している人を表す名前です。Arn の末尾に user/ と作業用ユーザーの名前が出ていれば、課題2の作業用ユーザーで操作できています。IAM Identity Centerで入っている場合は assumed-role/ という形になります。
手順2:バケットを作ってファイルを置く¶
次に、S3のバケットを作ります。バケット名は、同じパーティション(通常のリージョン全体)のすべてのAWSアカウントの中で一意にする必要があります。3〜63文字で、英小文字・数字・ハイフン・ピリオドが使えます。
ほかの人と名前がぶつからないように、日付と乱数を付けた名前にしましょう。
BUCKET="handson-$(date +%Y%m%d)-$RANDOM"
echo $BUCKET
aws s3 mb "s3://$BUCKET"
echo "hello aws" > hello.txt
aws s3 cp hello.txt "s3://$BUCKET/"
aws s3 ls "s3://$BUCKET/"
aws s3 mb が成功すると make_bucket: に続けてバケット名が表示されます。aws s3 cp では upload: に続けて、どのファイルをどこに置いたかが表示されます。
最後の aws s3 ls では、日時・サイズ(バイト)・ファイル名が1行で表示されます。hello aws と改行で10バイトなので、サイズが 10 になっていれば、ファイルが正しく置けています。
コンソールでS3の画面を開くと、同じバケットとファイルが見えるはずです。コマンドで作ったものが画面にも出ることを確かめると、コンソールもCLIも同じAWSのAPIを操作しているという感覚がつかめます。
手順3:後片付けをする¶
最後に、作ったものを削除します。ハンズオンでいちばん大事なのが、この後片付けです。
aws s3 rb "s3://$BUCKET" --force
aws s3 ls
--force を付けると、バケットの中のファイルを消してからバケットを削除します。delete: と remove_bucket: が表示され、最後の aws s3 ls の一覧から今回のバケットが消えていれば完了です。
--force は中身を確認せずに消すオプションです。今回のように、自分で作ったばかりのバケットだけに使いましょう。
うまくいかないときの確認ポイント¶
ハンズオンでつまずきやすいところを表にまとめました。エラーが出たら、まずここを確認してみてください。
| 症状 | 考えられる原因 | 確認すること |
|---|---|---|
| Budgetsの画面が開けない | 作業用ユーザーに請求情報を見る権限がない | ルートユーザーの設定で、IAMユーザーの請求情報へのアクセスが有効か |
aws s3 mb で名前が使えないと言われる |
バケット名がほかのアカウントと重複している | 名前に乱数が付いているか、大文字が入っていないか |
AccessDenied が出る |
作業用ユーザーにS3の権限がない | ユーザーに付けたポリシーにS3の操作が含まれているか |
rb でバケットが消えない |
中にファイルが残っている | --force を付けたか、別のバケット名を指定していないか |
| CloudShellが開かない | リージョンや権限の問題 | 画面右上のリージョン、ユーザーの権限 |
権限まわりのエラーは、AWSを触り始めた人がいちばん多くつまずくところです。IAMの考え方を整理したい人は、IAMとは?の記事も読んでみてください。
InfraAcademy で続けて練習しよう¶
3つの課題で、料金の見張り、安全なログイン、コマンドでの操作と後片付けまでを一通り体験できました。
続きを練習するなら、InfraAcademyを使ってみてください。AWSの講座の中にはシミュレーターがあり、実際のアカウントで料金を気にせずに、AWSの構成を組む流れを練習できます。学ぶ順番はAWSのロードマップにまとめているので、上から順に進めれば迷いません。
手を動かしたあとは、試験の形式で理解を確かめましょう。InfraAcademy の資格模擬問題には「AWS認定 クラウドプラクティショナー模擬試験150問」があります。今回触ったBudgets・IAM・S3に関する問題を解くと、操作した内容と試験の聞き方がつながります。
AWSの勉強でつまずく理由をもう少し深く知りたい人は、AWSの勉強で挫折する理由の記事も参考になります。試験が近い人は、CLF-C02の直前対策の記事で見直す範囲を確認しておきましょう。
まとめ¶
AWSの使い方が分からない初心者が、最初に試したい3つの操作を紹介しました。
- 課題1:AWS Budgetsでゼロ支出の予算を作り、料金が出たらすぐ気づけるようにする
- 課題2:ルートユーザーにMFAを設定し、日常の作業は作業用ユーザーで行う
- 課題3:CloudShellで
aws sts get-caller-identityを打ち、S3のバケットを作って必ず消す
AWSは、触る前の準備さえできていれば怖くありません。まずは今日、予算アラートの設定だけでもやってみてください。
一度手を動かすと、参考書に出てくるサービス名が、画面やコマンドと結びついて見えるようになります。その感覚を大事に、少しずつ触れる範囲を広げていきましょう。
参考¶
- AWS Free Tier - AWS
- AWS Free Tier FAQs - AWS
- AWS Free Tier update: New customers can get started and explore AWS with up to $200 in credits - AWS News Blog
- Using a budget template (simplified) - AWS Cost Management
- AWS Budgets Pricing - AWS
- Root user best practices for your AWS account - AWS Identity and Access Management
- AWS CloudShell FAQs - AWS
- get-caller-identity - AWS CLI Command Reference
- General purpose bucket naming rules - Amazon S3
- AWS Certified Cloud Practitioner (CLF-C02) 試験ガイド - AWS Documentation



