AWS(Amazon Web Services)はクラウドコンピューティングの世界最大シェアを誇るプラットフォームです。EC2・S3・RDS・Lambda・ECSなど200以上のサービスを提供しており、スタートアップから大企業まで幅広く利用されています。
AWSの主要サービス一覧
| カテゴリ | サービス名 | 用途 |
|---|---|---|
| コンピューティング | EC2 | 仮想サーバー |
| コンピューティング | Lambda | サーバーレス関数実行 |
| コンピューティング | ECS/EKS | コンテナオーケストレーション |
| ストレージ | S3 | オブジェクトストレージ |
| データベース | RDS | マネージドリレーショナルDB |
| データベース | DynamoDB | NoSQLデータベース |
| ネットワーク | VPC | 仮想ネットワーク |
| CDN | CloudFront | コンテンツ配信ネットワーク |
AWS CLIのセットアップ
# AWS CLIインストール(macOS)
brew install awscli
# 設定
aws configure
# AWS Access Key ID: [YOUR_KEY]
# AWS Secret Access Key: [YOUR_SECRET]
# Default region name: ap-northeast-1
# Default output format: json
# 確認
aws sts get-caller-identity
EC2インスタンスの起動・設定
# EC2インスタンス起動(AWS CLI)
aws ec2 run-instances \
--image-id ami-0d52744d6551d851e \
--count 1 \
--instance-type t3.micro \
--key-name my-key-pair \
--security-group-ids sg-903004f8 \
--subnet-id subnet-6e7f829e
# インスタンス一覧
aws ec2 describe-instances --query "Reservations[].Instances[].{ID:InstanceId,State:State.Name,IP:PublicIpAddress}"
# SSH接続
ssh -i ~/.ssh/my-key-pair.pem ec2-user@[PUBLIC_IP]
S3の基本操作
# バケット作成
aws s3 mb s3://my-tech-athletes-bucket --region ap-northeast-1
# ファイルアップロード
aws s3 cp local-file.txt s3://my-tech-athletes-bucket/
aws s3 sync ./dist s3://my-tech-athletes-bucket/
# ファイル一覧
aws s3 ls s3://my-tech-athletes-bucket/
# バケットポリシー(静的サイトホスティング)
aws s3 website s3://my-bucket/ --index-document index.html --error-document error.html
# 公開アクセス許可
aws s3api put-bucket-policy --bucket my-bucket --policy file://bucket-policy.json
Lambda関数の作成(Python)
import json
import boto3
def lambda_handler(event, context):
"""S3イベントトリガーのLambda関数例"""
bucket_name = event["Records"][0]["s3"]["bucket"]["name"]
object_key = event["Records"][0]["s3"]["object"]["key"]
print(f"New file: {bucket_name}/{object_key}")
# DynamoDBに記録
dynamodb = boto3.resource("dynamodb")
table = dynamodb.Table("FileRecords")
table.put_item(Item={
"id": object_key,
"bucket": bucket_name,
"timestamp": str(context.aws_request_id)
})
return {
"statusCode": 200,
"body": json.dumps({"message": "Success", "key": object_key})
}
AWSコスト最適化のポイント
- Reserved Instance:1〜3年の予約で最大75%削減
- Spot Instance:余剰リソースを最大90%割引で利用
- Auto Scaling:負荷に応じて自動スケール、無駄を削減
- S3 Intelligent-Tiering:アクセスパターンに応じて自動的に低コストに
- AWS Budgets:予算アラートで想定外のコスト増加を防止
まとめ
AWSはクラウドインフラの標準となっており、エンジニアとして習得は必須です。まずEC2・S3・RDSの基本操作をマスターし、次にLambda・ECSなどのモダンなサービスを学ぶことをおすすめします。AWS認定資格(SAA・SAP)の取得もキャリアアップに役立ちます。