TechBlog

AWS入門:初心者が最初に理解すべきクラウドの基本とコアサービス10選

by あくえり
#AWS #クラウド #インフラ #初心者 #サーバー
AWS入門ガイド
目次

クラウドコンピューティングとは何か

クラウドコンピューティングとは、サーバー・ストレージ・データベース・ネットワークなどのITリソースをインターネット経由で「必要なときに必要な分だけ」利用するサービスモデルです。自社でサーバーを購入・設置・保守する必要がなく、使った分だけ料金を支払う従量課金制が基本です。

クラウドには3つの提供モデルがあります。

モデル意味AWSの例
IaaS(Infrastructure as a Service)インフラ(サーバー・ネットワーク)を提供EC2, VPC, S3
PaaS(Platform as a Service)アプリ実行環境まで提供Elastic Beanstalk, Lambda
SaaS(Software as a Service)ソフトウェアをサービスとして提供Amazon Chime, WorkMail

エンジニアが最も関わるのはIaaSとPaaSです。EC2はIaaSの代表例で、OS・ミドルウェアはユーザーが管理します。LambdaはPaaSで、コードを書くだけでインフラ管理は不要です。

AWSコアサービス10選

1. EC2(Elastic Compute Cloud)— 仮想サーバー

AWSの中核サービスです。クラウド上に仮想マシン(インスタンス)を立ち上げ、Webサーバー・APIサーバーとして利用します。

インスタンスタイプで性能を選択します。t3.micro(vCPU 2・メモリ1GB)は無料利用枠対象で、小規模な開発・学習に最適です。本番環境ではm7i.xlarge(vCPU 4・メモリ16GB)などアプリの負荷に応じて選びます。

2. S3(Simple Storage Service)— オブジェクトストレージ

画像・動画・静的HTMLなどあらゆるファイルを保存するストレージサービスです。容量制限がなく、耐久性は99.999999999%(イレブンナイン)を誇ります。

主な用途は以下の3つです。

  • 静的Webサイトホスティング(S3単体でサイト公開可能)
  • ユーザーアップロードファイルの保存
  • バックアップ・ログの長期保存

3. RDS(Relational Database Service)— マネージドRDB

MySQL・PostgreSQL・Aurora等のリレーショナルDBをAWSが管理するサービスです。バックアップ・パッチ適用・フェイルオーバーを自動化してくれます。自前でDBサーバーを管理する手間が大幅に削減されます。

4. Lambda — サーバーレス関数実行

関数(コード)をアップロードするだけでサーバー管理不要で実行できるサービスです。リクエストが来たときだけ起動し、アイドル時はコストゼロ。100万リクエスト/月まで永続無料枠があります。

# Lambda関数の基本構造(Python)
import json

def lambda_handler(event, context):
    name = event.get('name', 'World')
    return {
        'statusCode': 200,
        'body': json.dumps({'message': f'Hello, {name}!'})
    }

5. VPC(Virtual Private Cloud)— 仮想ネットワーク

AWS上に自分専用の仮想ネットワークを構築するサービスです。パブリックサブネット(インターネットからアクセス可)とプライベートサブネット(内部通信のみ)に分け、セキュリティグループでポートを制御します。

本番環境では「ALB(ロードバランサー)をパブリックサブネットに、EC2・RDSをプライベートサブネットに」という構成が基本です。

6. IAM(Identity and Access Management)— 権限管理

AWSリソースへのアクセス権限を管理するサービスです。「誰が」「何に対して」「何を」できるかをポリシーで定義します。

最重要ルール: ルートアカウントで日常作業をしてはいけません。必ずIAMユーザーを作成し、最小権限の原則に従ってポリシーを付与します。

7. CloudFront — CDN(コンテンツ配信ネットワーク)

世界中のエッジロケーション(450以上)にコンテンツをキャッシュし、ユーザーの近くから高速配信するサービスです。S3の静的ファイルにCloudFrontを組み合わせることで、世界中に低レイテンシで配信できます。

8. DynamoDB — NoSQLデータベース

フルマネージドのキーバリュー型NoSQLデータベースです。1桁ミリ秒のレイテンシで高いスループットを実現します。RDSのような固定スキーマが不要で、ゲームのスコアボード・IoTデバイスデータ・セッション管理などに向いています。

9. ECS(Elastic Container Service)— コンテナ管理

DockerコンテナをAWS上で実行・管理するサービスです。「Fargate」モードを使えばサーバー管理が不要になります。ECSはAWS独自のオーケストレーター、マネージドKubernetesが必要ならEKSを選びます。

10. Route 53 — DNSサービス

ドメインの購入からDNSレコード管理まで行うサービスです。ヘルスチェック機能を持ち、障害時に自動フェイルオーバーも可能です。example.comをALBやCloudFrontに向けるAliasレコードの設定が典型的な使い方です。

AWS無料利用枠の活用方法

AWSは新規アカウント作成後12ヶ月間、主要サービスを無料で利用できる枠を提供しています。

サービス無料枠の内容
EC2t2.microまたはt3.micro 750時間/月
S35GB、PUT/GET各2万回/月
RDSdb.t3.micro 750時間/月
Lambda100万リクエスト/月(永続無料)
CloudFront1TB転送/月(永続無料)
DynamoDB25GB ストレージ(永続無料)

注意点: EC2の750時間は「1インスタンスを24時間×31日=744時間」なので、1台なら月内ほぼフルに使えます。ただし複数台起動すると合計時間が超過するため注意が必要です。

AWS CLIのセットアップ

コマンドラインからAWSリソースを操作するためのツールです。

# macOS (Homebrew)
brew install awscli

# インストール確認
aws --version
# aws-cli/2.x.x Python/3.x ...

IAMでアクセスキーを発行し、以下で設定します。

aws configure
# AWS Access Key ID [None]: AKIAXXXXXXXXXXXXXXXXX
# AWS Secret Access Key [None]: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# Default region name [None]: ap-northeast-1
# Default output format [None]: json

設定後の基本コマンド例です。

# S3バケット一覧を表示
aws s3 ls

# バケット内のファイル一覧
aws s3 ls s3://my-bucket/

# ファイルをS3にアップロード
aws s3 cp ./index.html s3://my-bucket/

# EC2インスタンス一覧
aws ec2 describe-instances --query 'Reservations[].Instances[].{ID:InstanceId,State:State.Name}' --output table

AWSを学ぶ順序

初心者が効率よく学ぶ順序として、以下のステップを推奨します。

  1. IAM → セキュリティの基礎。ユーザー・ロール・ポリシーを理解する
  2. VPC → ネットワーク構成の基礎。サブネット・セキュリティグループを理解する
  3. EC2 + S3 → 最も使われるコンピューティングとストレージ
  4. RDS → データベースの管理を体験する
  5. Lambda + API Gateway → サーバーレスアーキテクチャを体験する
  6. CloudFront + Route 53 → 本番環境のネットワーク構成

まずは無料利用枠でEC2インスタンスを立ち上げ、Nginxを動かしてみることが最速の理解への近道です。

AWSではじめるクラウド開発入門

AWSの基礎からEC2・S3・RDS・Lambdaの実践的な使い方まで、ハンズオン形式でわかりやすく解説。初心者がAWSを体系的に学ぶのに最適な一冊です。

※ アフィリエイトリンクを含みます

AWS認定ソリューションアーキテクト アソシエイト問題集

AWS SAA-C03試験対応の問題集。サービスの仕組みを問題演習で定着させながら資格取得を目指せます。実務での設計判断力も身につきます。

※ アフィリエイトリンクを含みます

まとめ

AWSのコアサービスを整理すると、役割が明確になります。

  • コンピューティング: EC2(VM)、Lambda(サーバーレス)、ECS(コンテナ)
  • ストレージ: S3(オブジェクト)、EBS(ブロック)
  • データベース: RDS(SQL)、DynamoDB(NoSQL)
  • ネットワーク: VPC、CloudFront、Route 53
  • セキュリティ: IAM

無料利用枠を使いながら実際にリソースを作成・削除を繰り返すことで、クラウドの感覚を身につけましょう。最初の目標は「EC2を立ち上げてWebサーバーを公開し、不要になったら削除する」という基本サイクルをマスターすることです。

共有: