はじめに
目的
このガイドは、AWS(アマゾンウェブサービス)を初めて使う方向けに、入り口をわかりやすく示すことを目的としています。概要説明のあと、代表的なサービス(EC2、AWS SAM、ECS、Amplify)をわかりやすく紹介し、実際に触って学べる流れをご案内します。
対象読者
クラウドの全くの初心者から、少し触ったことがあるが体系的に学びたい方までを想定しています。専門用語は最小限にし、具体例を交えて丁寧に説明します。
本書の読み方
まず第2章で全体像をつかみ、第3章・第4章で実際に手を動かす流れがおすすめです。学習は実践を優先します。短い手順を順にこなすことで理解が深まります。
事前準備
AWSアカウント(クレジットカード情報が必要)と、ブラウザが使えるパソコンを用意してください。無料利用枠を活用すれば費用を抑えられますが、使い方は章内で詳しく説明します。
AWSの全体像と「まず何を触ればいいか」
AWSはクラウド上で仮想サーバー、データベース、ストレージなどを使えるサービス群です。数が多いので初心者は迷いますが、用途に応じて入口を絞ると学びやすくなります。
AWSとは短く
基本は「必要なITインフラをオンデマンドで借りる」ことです。サーバーやファイル置き場、データベース、認証などがサービスとして用意されています。
まず触るべき4つの入口
- EC2(仮想サーバー)
- 何か:自分でOSを動かす仮想マシンです。Linuxでの操作やネットワーク設定を学べます。
-
こんな時に:独自のミドルウェアや常駐プロセスを動かす場合。例:小さなWebサーバー。
-
AWS SAM(サーバーレス)
- 何か:関数(Lambda)やAPIを簡単に作ってデプロイするための枠組みです。
-
こんな時に:小さなAPIやイベント駆動の処理を手早く試したい場合。例:画像アップロード後の自動処理。
-
ECS on EC2(コンテナ)
- 何か:Dockerコンテナを管理するサービスです。EC2上でコンテナを動かします。
-
こんな時に:複数コンテナでサービスを構成したいとき。例:フロントとバックエンドを分けるアプリ。
-
AWS Amplify(フルスタックTypeScript向け)
- 何か:フロントエンドホスティングや認証、バックエンドの簡単構築をまとめたサービスです。
- こんな時に:React/Next.jsなどでTypeScriptアプリを素早く公開したい場合。例:個人のWebアプリ。
最初に何を触るかの目安
- サーバー操作(Linux、SSH)を学びたいならEC2。基礎が身につきます。
- コードを書いてすぐにAPIやイベント処理を試したいならSAM。
- コンテナの運用を学びたいならECS on EC2。
- フロント中心で短時間に公開したいならAmplify。
まずは目的を決めて、該当する入口から短いハンズオンを一つ試すことをおすすめします。
EC2で最初の仮想サーバーを起動する使い方
概要
Amazon EC2はクラウド上の仮想サーバー(インスタンス)を簡単に作れます。ここでは管理コンソールの起動ウィザードを使い、基本的な項目を確認してSSHで接続し、最後にインスタンスを終了する流れを学びます。
起動手順(管理コンソール)
- EC2ダッシュボードで「インスタンスを起動」をクリックします。
- AMIを選ぶ(例:Amazon Linux 2、Ubuntu LTS)。初心者は公式のLTSを選ぶと安心です。
- インスタンスタイプを決める。無料枠ならt3.micro/t2.microを選びます。
- キーペアを作成(.pemファイル)。これはSSH接続で使う秘密鍵です。安全に保存してください。
- セキュリティグループを設定。通常はSSH(ポート22)を自分のIPだけ許可し、必要ならHTTP(80)を追加します。
- 設定を確認して起動します。
起動後の確認
インスタンスの詳細でInstance ID、Public IP、状態(running)を確認します。起動ステータスチェックが2つ“passed”になれば準備完了です。
SSH接続(例)
ローカルで鍵の権限を変更します: chmod 400 mykey.pem
接続コマンド例(Amazon Linux): ssh -i mykey.pem ec2-user@
Ubuntuならユーザー名をubuntuに変えます。
インスタンスの停止と終了
使い終わったらインスタンスを「終了(Terminate)」すると料金が止まります。一時的に停止したい場合は「停止(Stop)」を選びます。停止はストレージの扱いに注意してください。
注意点
鍵ファイルを紛失すると再接続が難しくなります。セキュリティグループは最小権限にしておくと安全です。
AWS SAMでサーバーレスアプリの使い方を体験
概要
AWS SAM(Serverless Application Model)は、LambdaやAPI Gatewayなどのサーバーレス資源をYAMLで定義し、ビルドやデプロイを簡単に行えるツールです。ここではCloudShell上でサンプルを作り、API経由で呼べるまで体験します。
準備
- CloudShellにログインし、AWS CLIの認証が済んでいることを確認してください。
- SAM CLIが入っている環境を使います(CloudShellなら多くの場合そのまま使えます)。
手順
- プロジェクト作成
- コマンド:
sam initを実行し、対話に従って言語(例: Python/Node.js)とテンプレート(Hello World)を選びます。 - 構造確認
template.yaml(リソース定義)、関数コードが入ったディレクトリ、イベントサンプルが生成されます。目的に応じて編集してください。- ビルド
sam buildを実行して依存関係をまとめ、デプロイ用のアーティファクトを作ります。- ローカル確認(任意)
- Dockerが使える場合は
sam local start-apiでローカルにAPIを立て、curlで動作確認できます。 - デプロイ
sam deploy --guidedを実行し、スタック名やリージョンなどの質問に答えます。最後にデプロイするとAPIのエンドポイントが表示されます。- 動作確認
- 表示されたエンドポイントへ
curlしてレスポンスを確認します。 - 片付け
- 使い終わったら
sam deleteまたはマネジメントコンソールからスタックを削除してください。
この流れで、サーバーレス開発の基本を短時間で体験できます。必要なら各コマンドの具体例やトラブル対処も説明します。












