目次
Amazon Lightsail 完全ガイド v2.0
初心者から実務者向けの包括的解説
Amazon Lightsail は、「定額制シンプル VPS クラウドサービス。WordPress / Node.js / LAMP などのプリセット、管理データベース・CDN・ロードバランサーを月額固定料金で一括提供」 するマネージドクラウド環境です。EC2・VPC・IAM などの複雑な設定不要で、初心者・中小企業・シンプルな Web サイトに最適。2026年4月時点で Malaysia リージョン新規対応、14 リージョンで利用可能。本ドキュメントは Lightsail の概念・コンポーネント・運用・最新動向を体系的に解説する包括的ガイドです。
ドキュメントの目的
本ガイドは以下を対象としています。
- 初心者向け: Lightsail とは何か、VPS とクラウドの基本を学びたい方
- 開発者向け: WordPress / LAMP / Node.js サイトをシンプルに構築・運用したい方
- 小規模ビジネス向け: 予測可能な月額料金でサーバーを運用したい方
- 意思決定者向け: DigitalOcean / Linode 等の VPS との比較・移行判断
2025-2026 年の Lightsail エコシステム
- リージョン拡張:Malaysia 新規対応(2026年4月)
- Container Service 安定化:Fargate ベースのマネージドコンテナ機能
- Managed Database 強化:MySQL 8.0 / PostgreSQL 15 対応
- Load Balancer 拡張:L4 ロードバランサー試験的対応
- Distribution(CDN): CloudFront ベース、エッジロケーション拡大
目次
- 概要
- Lightsail が解決する課題
- 主な特徴
- アーキテクチャ
- コアコンポーネント
- 主要ユースケース
- 設定・操作の具体例
- 類似サービス比較表
- ベストプラクティス
- トラブルシューティング
- 2025-2026 最新動向
- 学習リソース・参考文献
- 実装例
- チェックリスト
- まとめ
- 参考文献
概要
初心者向けメモ: Lightsail は「月額固定料金で VPS が借りられる AWS サービス」です。EC2 は「CPU・メモリ・ストレージを自由に選んで秒単位で課金」で料金が変動しますが、Lightsail は「プラン選択 → 月額固定料金」で予算管理が容易。WordPress・LAMP・Node.js などのアプリをワンクリックで起動でき、初心者でも数分でサイトを立ち上げられます。
Amazon Lightsail 公式定義:
“Amazon Lightsail is the easiest way to get started with Amazon Web Services (AWS) for anyone who needs to build websites or web applications.”
Lightsail の位置づけ
graph LR
A["Web サイト<br/>カテゴリ"]
subgraph Simplicity["シンプル度(設定難易度)"]
Heroku["Heroku<br/>(最高抽象<br/>コマンドのみ)"]
Lightsail["Lightsail<br/>(高抽象<br/>VPS感覚)"]
EC2["EC2<br/>(中抽象<br/>インスタンス制御)"]
Bare["Bare Metal / VPS<br/>(低抽象<br/>root access)"]
end
A --> Heroku
A --> Lightsail
A --> EC2
A --> Bare
style Heroku fill:#e6f3ff
style Lightsail fill:#e6ffe6
style EC2 fill:#fff9e6
style Bare fill:#ffe6e6
このサービスを選ぶ理由
なぜ Amazon Lightsail か?
| 理由 | 詳細 |
|---|---|
| 料金の予測可能性 | EC2 は従量課金で月額変動、Lightsail は CPU / メモリ / ストレージ / 転送量込みの月額固定($3.50〜) |
| 設定の簡素さ | EC2 は VPC / SG / IAM / EBS を学ぶ必要、Lightsail は GUI で数クリック |
| ワンクリックアプリ | WordPress / LAMP / Magento / Node.js / Django などをブループリントで即座に起動 |
| スケーリングの容易さ | 成長に応じてスナップショット → EC2 へ移行、段階的スケーリング可能 |
| 統合リソース | インスタンス・DB・ロードバランサー・CDN・静的 IP を一か所で管理 |
具体的なユースケース
- 個人・中小企業の WordPress ブログ・サイト
- スタートアップの MVP サーバー(コスト予測容易)
- 社内 Wiki・Redmine・Rocket.Chat などのツール運用
- Shopify 代替の Magento ストアフロント
- 開発者の個人プロジェクト・ポートフォリオ
Lightsail が解決する課題
| 課題 | EC2 + VPC | Lightsail 解決方法 |
|---|---|---|
| セットアップ複雑性 | VPC・SG・IAM・EBS の 4-5 ステップ | ワンクリック、3 分完了 |
| 料金予測困難 | CPU・メモリ・転送量・スナップショットで月額 50-500 変動 | 月額固定 3.50-160、予算管理簡単 |
| ブループリント不在 | OS のみ、アプリ設定は手動 | WordPress / LAMP / Node.js 等をワンクリック |
| スケーリング複雑性 | Auto Scaling Group・Target Group 設定が必要 | スナップショット → EC2 へ移行で段階的スケール |
| 백엔드 DB 管理 | RDS 別途契約・VPC 設定 | Managed MySQL / PostgreSQL 統合、ピアリング不要 |
| SSL 証明書管理 | ACM 手動バインド | ロードバランサー統合で自動管理 |
主な特徴
1. インスタンス(VPS)
プラン選択型
- Nano(512MB /
3.50/月) 〜 2XLarge(32GB /160/月) - OS:Linux(AL2023 / Ubuntu / Debian / CentOS / FreeBSD)/ Windows Server
- ブループリント:WordPress / LAMP / LEMP / MEAN / Django / Ghost / Plesk
- SSH / RDP アクセス、ファイアウォール(ポート・IP ベース)
スナップショット(バックアップ)
- 自動作成機能(毎日・毎週 等)
- スナップショットから新インスタンス起動
- インスタンス移行時の AMI エクスポート対応
2. コンテナサービス
Fargate ベース
- Nano(0.25 vCPU / $7/月) 〜 大規模インスタンス
- Docker イメージ指定でデプロイ
- 公開エンドポイント自動配置
- ALB ベースのロードバランシング
3. マネージドデータベース
MySQL 8.0 / PostgreSQL 15
- Micro(1GB RAM /
15/月) 〜 Large(16GB RAM /320/月) - 自動バックアップ(7日保持)
- 高可用性オプション(マルチ AZ)
- スタンドアロン / クラスター両対応
4. ロードバランサー
HTTP/HTTPS 統合
- 月額固定 $18
- ACM 証明書自動管理
- ターゲットインスタンス複数指定
- セッション永続化・ヘルスチェック設定可能
5. ストレージ
ブロックストレージ
- $0.10/GB/月
- インスタンスにマウント、追加容量確保
オブジェクトストレージ(Bucket)
- $1/月(5GB) 〜
- CloudFront ベース Distribution(CDN)連携
6. Distribution(CDN)
CloudFront ベース
- Bucket / カスタムオリジンからキャッシング
- 全リージョンのエッジロケーション活用
- SSL/TLS 自動化
- キャッシュ無効化API
アーキテクチャ
graph TD
A["インターネット"]
A -->|HTTPS| B["Lightsail<br/>ロードバランサー<br/>(月額 $18)"]
B -->|HTTP| C["インスタンス<br/>ターゲット 1<br/>($3.50-160/月)"]
B -->|HTTP| D["インスタンス<br/>ターゲット 2"]
C -->|SQL| E["Managed Database<br/>MySQL / PostgreSQL<br/>($15-320/月)"]
F["静的ファイル<br/>(HTML/CSS/JS/画像)"]
A -->|CDN| G["Distribution<br/>(CloudFront<br/>$0.085/GB)"]
G --> F
H["スナップショット<br/>(バックアップ)"]
C -.->|Auto Snapshot| H
H -.->|Restore / EC2 Export| I["EC2 インスタンス<br/>(スケーリング後)"]
style B fill:#99ccff
style C fill:#99ff99
style E fill:#ffcc99
style G fill:#ff99cc
コアコンポーネント
1. Instance(インスタンス)
| プラン | vCPU | RAM | SSD | 転送量 | 月額 |
|---|---|---|---|---|---|
| Nano | 2 | 512MB | 20GB | 1TB | $3.50 |
| Micro | 2 | 1GB | 40GB | 2TB | $7 |
| Small | 2 | 2GB | 60GB | 3TB | $12 |
| Medium | 2 | 4GB | 80GB | 4TB | $20 |
| Large | 2 | 8GB | 160GB | 5TB | $40 |
| XLarge | 4 | 16GB | 320GB | 6TB | $80 |
| 2XLarge | 8 | 32GB | 640GB | 7TB | $160 |
OS / ブループリント
- OS のみ:Ubuntu / Debian / CentOS / FreeBSD / Windows Server
- スタック:LAMP / LEMP(Nginx)/ Mean.js / Ruby on Rails
- アプリケーション:WordPress / Drupal / Joomla / Ghost / Magento / Plesk
2. Container Service
- Power:Nano / Micro / Small / Medium / Large / XLarge
- Scale:1-20 インスタンス
- イメージ:Docker Hub / Lightsail Container Registry
- メモリ / CPU:自動配置
3. Managed Database
MySQL 8.0
- 単一マスター / マルチ AZ 対応
- 自動バックアップ(7日)
- 読み取りレプリカ生成可能
PostgreSQL 15
- JSONB / 全文検索サポート
- Windows / Linux ホスト両対応
4. Block Storage
- インスタンスアタッチ型
- $0.10/GB/月
- 最大 16TB(ただしEC2への移行推奨)
5. Static IP / DNS
Static IP
- 無料(インスタンスにアタッチ中)
- インスタンス再起動後も IP 不変
- 複数 Static IP 設定可能
DNS Management
- 無料(5 ゾーンまで)
- Route 53 ベース
- A / CNAME / MX / TXT レコード設定可能
主要ユースケース
1. WordPress ブログ / サイト
シナリオ
- 小〜中規模ブログ・コーポレートサイト
- SEO 最適化・プラグイン豊富
- スケーリング不要な安定サイト
実装例
aws lightsail create-instances \
--instance-names my-wordpress-site \
--availability-zone ap-northeast-1a \
--blueprint-id wordpress \
--bundle-id small_2_0 # 2GB RAM / 60GB SSD / $12/月
2. Node.js / Python Web アプリ
シナリオ
- 小規模 API サーバー
- リアルタイム通信(Socket.IO)
- バッチ処理スケジューラー
実装例
- MEAN.js ブループリント(MongoDB / Express / Angular / Node.js)
- または Ubuntu 直接インストール + npm start
3. LAMP スタック(PHP / MySQL)
シナリオ
- レガシー PHP アプリ移行
- Magento / Drupal ホスティング
- 小規模 e-コマース
実装例
aws lightsail create-instances \
--instance-names lamp-ecommerce \
--blueprint-id lamp_8 \
--bundle-id medium_2_0
4. 社内ツール・Wiki
シナリオ
- Redmine(プロジェクト管理)
- Rocket.Chat(社内チャット)
- Confluence 代替(Dokuwiki / MediaWiki)
利点
- VPN 不要(Static IP + ファイアウォール IP 制限)
- バックアップ自動化
- 定額料金で運用コスト固定
5. データベース主体のアプリケーション
シナリオ
- 分析ダッシュボード
- CRM システム
- 在庫管理システム
構成
- Lightsail コンテナ(アプリ)
- Lightsail Managed Database(MySQL / PostgreSQL)
- Lightsail ロードバランサー(高可用性)
設定・操作の具体例
CLI 例 1:WordPress インスタンス作成
# WordPress Small プラン(2GB / 60GB / $12/月)を東京リージョンで起動
aws lightsail create-instances \
--instance-names wordpress-prod \
--availability-zone ap-northeast-1a \
--blueprint-id wordpress \
--bundle-id small_2_0 \
--tags '[{"key": "Environment", "value": "production"}]'
# インスタンス起動確認
aws lightsail get-instances \
--query 'instances[*].{Name:name, State:state.name, IP:publicIpAddress, Bundle:bundleId}'
CLI 例 2:Static IP アタッチ
# Static IP 割り当て
aws lightsail allocate-static-ip \
--static-ip-name wordpress-prod-ip
# Static IP をインスタンスにアタッチ
aws lightsail attach-static-ip \
--static-ip-name wordpress-prod-ip \
--instance-name wordpress-prod
# 確認
aws lightsail get-static-ip \
--static-ip-name wordpress-prod-ip \
--query 'staticIp.{IP:ipAddress, State:isAttached, AttachedTo:attachedTo}'
CLI 例 3:スナップショット(バックアップ)
# スナップショット作成
aws lightsail create-instance-snapshot \
--instance-name wordpress-prod \
--instance-snapshot-name wordpress-backup-20260426
# スナップショット一覧
aws lightsail get-instance-snapshots \
--query 'instanceSnapshots[*].{Name:name, Size:sizeInGb, CreatedAt:createdAt}'
# スナップショットから復元
aws lightsail create-instances-from-snapshot \
--instance-snapshot-name wordpress-backup-20260426 \
--instance-names wordpress-restored \
--availability-zone ap-northeast-1a \
--bundle-id small_2_0
CLI 例 4:Managed Database 作成
# MySQL 8.0 データベース作成(Micro / $15/月)
aws lightsail create-relational-database \
--relational-database-name wordpress-db-prod \
--availability-zone ap-northeast-1a \
--relational-database-blueprint-id mysql_8_0 \
--relational-database-bundle-id micro_1_0 \
--master-database-name wordpress \
--master-username admin \
--master-user-password 'ChangeMe!SecurePassword123' \
--no-publicly-accessible
# データベース接続エンドポイント取得
aws lightsail get-relational-database \
--relational-database-name wordpress-db-prod \
--query 'relationalDatabase.masterEndpoint.{Address:address, Port:port}'
# MySQL クライアントで接続
mysql -h wordpress-db-prod.xxxxx.lightsail.aws \
-u admin \
-p wordpress
CLI 例 5:ロードバランサー作成
# ロードバランサー作成(月額 $18)
aws lightsail create-load-balancer \
--load-balancer-name wordpress-lb \
--instance-port 80 \
--protocol HTTP
# インスタンスをターゲットに追加
aws lightsail attach-instances-to-load-balancer \
--load-balancer-name wordpress-lb \
--instance-names wordpress-prod-1 wordpress-prod-2
# SSL/TLS 証明書作成・アタッチ
aws lightsail create-load-balancer-tls-certificate \
--load-balancer-name wordpress-lb \
--certificate-name wordpress-cert \
--certificate-domain-name api.example.com
# HTTPS ターゲット設定
aws lightsail update-load-balancer-attribute \
--load-balancer-name wordpress-lb \
--attribute-name HealthCheckPath \
--attribute-value '/index.php'
CLI 例 6:Container Service デプロイ
# コンテナサービス作成(Nano / $7/月)
aws lightsail create-container-service \
--service-name my-api-container \
--power nano \
--scale 1
# イメージをデプロイ
aws lightsail create-container-service-deployment \
--service-name my-api-container \
--containers '{
"api": {
"image": "nginx:latest",
"ports": {
"80": "HTTP"
},
"environment": {
"NODE_ENV": "production"
}
}
}' \
--public-endpoint '{
"containerName": "api",
"containerPort": 80,
"healthCheck": {
"healthyThreshold": 2,
"unhealthyThreshold": 2,
"timeoutSeconds": 2,
"intervalSeconds": 5,
"path": "/health"
}
}'
# サービス URL 確認
aws lightsail get-container-services \
--service-name my-api-container \
--query 'containerServices[0].url'
SDK 例(Python)
import boto3
lightsail = boto3.client('lightsail', region_name='ap-northeast-1')
# WordPress インスタンス作成
response = lightsail.create_instances(
instanceNames=['blog-prod'],
availabilityZone='ap-northeast-1a',
blueprintId='wordpress',
bundleId='small_2_0',
tags=[
{'key': 'Environment', 'value': 'production'},
{'key': 'App', 'value': 'WordPress'}
]
)
print(f"Instance creating: {response['operations'][0]['operationId']}")
# インスタンス一覧取得
instances = lightsail.get_instances()
for inst in instances['instances']:
print(f"{inst['name']}: {inst['state']['name']} - IP: {inst['publicIpAddress']}")
# Static IP アタッチ
lightsail.allocate_static_ip(staticIpName='blog-ip')
lightsail.attach_static_ip(
staticIpName='blog-ip',
instanceName='blog-prod'
)
IaC 例(CloudFormation)
AWSTemplateFormatVersion: '2010-09-09'
Description: 'Amazon Lightsail WordPress Stack'
Resources:
WordPressInstance:
Type: AWS::Lightsail::Instance
Properties:
InstanceName: wordpress-prod
AvailabilityZone: ap-northeast-1a
BlueprintId: wordpress
BundleId: small_2_0
Tags:
- Key: Environment
Value: production
StaticIP:
Type: AWS::Lightsail::StaticIp
Properties:
StaticIpName: wordpress-ip
AttachedTo: wordpress-prod
Database:
Type: AWS::Lightsail::Database
Properties:
RelationalDatabaseName: wordpress-db
Engine: mysql
EngineVersion: 8.0
MasterUsername: admin
MasterUserPassword: !Sub '{{resolve:secretsmanager:lightsail-db-password:SecretString:password}}'
AvailabilityZone: ap-northeast-1a
PubliclyAccessible: false
BackupRetentionPeriod: 7
Outputs:
InstanceIp:
Value: !GetAtt StaticIP.IpAddress
Description: Static IP of WordPress Instance
DatabaseEndpoint:
Value: !GetAtt Database.RelationalDatabaseAddress
Description: Database Endpoint
IaC 例(Terraform)
# Lightsail Instance
resource "aws_lightsail_instance" "wordpress" {
name = "wordpress-prod"
availability_zone = "ap-northeast-1a"
blueprint_id = "wordpress"
bundle_id = "small_2_0"
tags = {
Environment = "production"
App = "WordPress"
}
}
# Static IP
resource "aws_lightsail_static_ip" "wordpress_ip" {
name = "wordpress-ip"
}
resource "aws_lightsail_static_ip_attachment" "wordpress_attach" {
static_ip_name = aws_lightsail_static_ip.wordpress_ip.name
instance_name = aws_lightsail_instance.wordpress.name
}
# Managed Database
resource "aws_lightsail_database" "wordpress_db" {
relational_database_name = "wordpress-db"
engine = "mysql"
engine_version = "8.0"
availability_zone = "ap-northeast-1a"
master_username = "admin"
master_password = random_password.db_password.result
publicly_accessible = false
backup_retention_days = 7
depends_on = [aws_lightsail_instance.wordpress]
}
resource "random_password" "db_password" {
length = 20
special = true
}
output "instance_public_ip" {
value = aws_lightsail_static_ip.wordpress_ip.ip_address
description = "Public IP of WordPress Instance"
}
output "database_endpoint" {
value = aws_lightsail_database.wordpress_db.address
description = "Database Endpoint"
}
類似サービス比較表
| 観点 | Lightsail | EC2 | DigitalOcean Droplet | Linode | Heroku | Vultr |
|---|---|---|---|---|---|---|
| 料金体系 | 定額制(月額固定) | 従量課金(秒単位) | 定額制(月額固定) | 定額制 | 定額制 | 従量課金 |
| 最低料金 | `3.50/月 | 0.0116/時 (≈8/月) |
`4/月 | `2.50/月 | `7/月 | $2.50/月 |
| セットアップ時間 | 3分(ワンクリック) | 15分 | 2分 | 5分 | 2分 | 10分 |
| ブループリント | 豊富(WordPress / LAMP 等) | OS のみ | OS のみ | OS のみ | 制限的 | OS のみ |
| スケーラビリティ | Low(手動スナップショット) | High(Auto Scaling) | Medium | Medium | High(自動) | High(API) |
| VPC / ネットワーク | 限定的(ピアリング) | フル VPC | Private Network | VLAN | 統合 | Advanced |
| Managed Database | MySQL / PostgreSQL | RDS 別途 | 統合 (MySQL) | 統合 (MySQL) | PostgreSQL / MySQL | 提供なし |
| CDN | Distribution(CloudFront) | CloudFront 別途 | Spaces CDN | Longview | - | 別途 |
| サポート | AWS サポート | AWS サポート | チケット+コミュニティ | 電話+チケット | 有料プランのみ | チケット |
| 推奨用途 | 初心者・中小企業・固定負荷 | エンタープライズ・可変負荷 | 開発者・可変負荷 | バランス型 | Python / Node.js 初心者 | カスタマイズ志向 |
ベストプラクティス
チェックリスト(優先順)
✅ 推奨事項
- [ ] Static IP をアタッチ → インスタンス再起動で IP 変更防止、DNS 安定化
- [ ] スナップショット定期実行 → 自動スナップショット設定(毎日・毎週)、7日保持
- [ ] ロードバランサー使用時は HTTP → HTTPS リダイレクト → SSL/TLS 強制
- [ ] Managed Database を別インスタンスで運用 → インスタンス再起動時も DB 不影響
- [ ] ファイアウォール設定(IP / ポート制限) → SSH(22)は信頼できる IP からのみ
- [ ] CloudWatch 監視有効化 → CPU / メモリ / ネットワーク異常検知
- [ ] 転送量の月次モニタリング → 超過は $0.09/GB、プラン見直し検討
- [ ] バックアップ計画策定 → RPO 24時間以内、RTO 1時間以内
- [ ] スケーリング計画 → 成長時は EC2 / RDS への移行パス確認
- [ ] セキュリティグループ最小権限 → 必要なポートのみ開放
❌ アンチパターン
| アンチパターン | 問題 | 代替 |
|---|---|---|
| 全アプリを Lightsail で運用 | スケーラビリティ低、可変負荷対応困難 | EC2 Auto Scaling / ECS 推奨 |
| スナップショット未作成 | データ損失時に復旧不可 | 自動スナップショット有効化 |
| SSH キー管理不十分 | 不正アクセスリスク | SSH キー暗号化保存、定期更新 |
| ロードバランサー未設定 | 単一インスタンス障害で完全停止 | ロードバランサー + ターゲット 2 台 |
| Managed Database 非使用 | インスタンス障害で DB も停止 | 別インスタンス DB 運用 |
| DNS 管理を外部に依存 | Lightsail との一体管理不可 | Lightsail DNS 統合 |
| 転送量無制限と勘違い | 超過料金発生 | 月間転送量確認、CDN 活用 |
トラブルシューティング
| 症状 | 原因 | 解決策 |
|---|---|---|
| インスタンス作成失敗 | リージョン容量枯渇 / 仕様エラー | 別 AZ 選択 / バンドルサイズ確認 |
| IP アドレス変更される | Static IP 未アタッチ | Static IP 割り当て・アタッチ |
| WordPress 初期パスワード不明 | ログイン情報未取得 | SSH 接続 → /home/bitnami/bitnami_credentials 確認 |
| DB 接続エラー | Publicly Accessible: false | RDS / EC2 ピアリング確認、SG 規則確認 |
| ロードバランサー経由で接続できない | ヘルスチェック失敗 | ターゲットの HTTP/健康確認エンドポイント確認 |
| 転送量超過料金 | スナップショット頻繁転送 / 無限スクレイピング | CDN(Distribution)活用、レート制限設定 |
| バックアップ復元失敗 | スナップショット破損 / 容量不足 | 別 AZ で復元、バンドル増大 |
| SSH 接続タイムアウト | ファイアウォール規則エラー / OS 起動中 | ファイアウォール規則確認、起動待機 |
| **メモリ不足(OOM) | ブループリントのメモリ不足 | プラン upgrade(Small → Medium) |
| WAF / Distribution キャッシュ有効でない | キャッシュキー / TTL 設定ミス | CloudFront キャッシュ設定見直し、無効化実行 |
2025-2026 最新動向
地域拡張:Malaysia リージョン対応(2026年4月)
新リージョン
ap-southeast-2(Malaysia)- 全 14 リージョンで利用可能:US East / West、Canada、Europe(6 リージョン)、Asia Pacific(7 リージョン)
Malaysia リージョンの利点
- 東南アジア顧客への低レイテンシー
- GDPR / Data Residency 要件対応
- 地域拡張企業の統合ハブ
Container Service 安定化
- Fargate ベース完全移行:EC2 ベースは廃止
- Horizontal Pod Autoscaling(HPA)試験的対応:負荷ベースのスケーリング
- Service Mesh 統合検討:Istio / Linkerd との連携
Managed Database 拡張
- MySQL 8.0 / PostgreSQL 15 GA
- Automatic Major Version Upgrade オプション追加
- マルチ AZ 高可用性強化:RTO 短縮
Load Balancer L4 対応
- L4(TCP / UDP)トラフィック対応:ゲーム・IoT ワークロード向け
- プライベートロードバランサー試験版:VPC 内部通信
Distribution(CDN)拡張
- エッジロケーション追加:430+ エッジ(CloudFront 統合メリット)
- Cache-Control ヘッダー詳細設定
- Image Optimization 自動化
学習リソース・参考文献
公式ドキュメント
-
Amazon Lightsail User Guide
-
Lightsail API Reference
-
Lightsail Pricing
-
AWS Compute Blog - Lightsail
- Lightsail チュートリアル・運用事例
公式チュートリアル
- Lightsail for Research
- 学術・研究用 Lightsail
- RStudio / Jupyter Notebook プリセット
OSS / サードパーティリソース
-
AWS Samples - Lightsail
- GitHub 公式サンプルコード
-
Terraform - aws_lightsail Module
- Infrastructure as Code テンプレート
-
CloudFormation Lightsail リソース
AWS::Lightsail::Instance/Database等
ベンダー・学習プラットフォーム
-
A Cloud Guru - Lightsail for Research
- ハンズオンコース
-
Pluralsight - AWS VPS vs EC2 Comparison
- 初心者向けコース
実装例
例 1:WordPress サイト(ロードバランサー + 高可用性 DB)
構成
- Lightsail インスタンス(WordPress Small)× 2
- ロードバランサー(月額 $18)
- Managed Database(MySQL 8.0 Micro)
デプロイ手順
# インスタンス 2 台作成
for i in 1 2; do
aws lightsail create-instances \
--instance-names wordpress-prod-$i \
--availability-zone ap-northeast-1a \
--blueprint-id wordpress \
--bundle-id small_2_0
done
# DB 作成
aws lightsail create-relational-database \
--relational-database-name wordpress-db \
--engine mysql \
--engine-version 8.0 \
--bundle-id micro_1_0
# ロードバランサー作成
aws lightsail create-load-balancer \
--load-balancer-name wordpress-lb \
--instance-port 80 \
--protocol HTTP
# インスタンスをロードバランサーに登録
aws lightsail attach-instances-to-load-balancer \
--load-balancer-name wordpress-lb \
--instance-names wordpress-prod-1 wordpress-prod-2
# SSL/TLS 証明書作成
aws lightsail create-load-balancer-tls-certificate \
--load-balancer-name wordpress-lb \
--certificate-name wordpress-cert \
--certificate-domain-name example.com
例 2:Node.js Microservice(Container Service)
Dockerfile
FROM node:18-alpine
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]
デプロイ
# コンテナサービス作成
aws lightsail create-container-service \
--service-name my-api \
--power micro \
--scale 1
# イメージプッシュ(Lightsail Container Registry)
aws lightsail push-container-image \
--service-name my-api \
--label my-api:latest \
--image-path ./Dockerfile
# デプロイ
aws lightsail create-container-service-deployment \
--service-name my-api \
--containers '{"api": {...}}'
例 3:PHP + MySQL Web アプリ
LAMP Stack on Lightsail
# LAMP インスタンス作成
aws lightsail create-instances \
--instance-names lamp-app \
--blueprint-id lamp_8 \
--bundle-id medium_2_0
# Database 作成
aws lightsail create-relational-database \
--relational-database-name app-db \
--engine mysql \
--bundle-id micro_1_0
# ファイアウォール設定
aws lightsail put-instance-public-ports \
--instance-name lamp-app \
--public-port-configs '[
{"fromPort": 80, "toPort": 80, "protocol": "tcp"},
{"fromPort": 443, "toPort": 443, "protocol": "tcp"},
{"fromPort": 22, "toPort": 22, "protocol": "tcp"}
]'
チェックリスト
デプロイ前
- [ ] リージョン・AZ 選択完了(高可用性は 2+ AZ)
- [ ] ブループリント / OS 選択完了
- [ ] バンドルサイズ決定(RAM / 転送量 確認)
- [ ] Static IP 割り当て決定
- [ ] ロードバランサー必要性確認
- [ ] Managed Database 構成決定
デプロイ後
- [ ] インスタンス起動・接続確認
- [ ] ブループリント初期設定完了(WordPress 管理者パスワード等)
- [ ] ファイアウォール規則設定確認
- [ ] Static IP アタッチ確認
- [ ] DNS CNAME / A レコード設定確認
- [ ] スナップショット初回実行
- [ ] ロードバランサー動作確認(ヘルスチェック)
- [ ] DB バックアップ有効化確認
運用時
- [ ] 週 1 回:CloudWatch メトリクス確認
- [ ] 月 1 回:セキュリティ監査(ファイアウォール規則)
- [ ] 月 1 回:スナップショット戦略見直し
- [ ] 月 1 回:転送量・コスト確認
- [ ] 四半期ごと:スケーリング評価(EC2 移行判断)
まとめ
Amazon Lightsail は 「月額固定料金で簡単に VPS クラウド運用できるサービス」 です。WordPress・LAMP・Node.js などをワンクリックでデプロイでき、初心者・中小企業・シンプルなサイト運用に最適。スナップショット・ロードバランサー・Managed Database を統合管理でき、成長に応じて EC2 / RDS への段階的なスケーリングも可能。
Lightsail が向いている場合
- 月額費用を固定したい
- サーバー設定を最小化したい
- WordPress / LAMP などのプリセットを活用したい
- VPS 管理経験がある
EC2 / RDS への移行検討時期
- 月額 500ドル以上のコスト発生
- Auto Scaling による可変負荷対応が必要
- VPC 内部リソース統合が複雑化
- マルチリージョン・マルチ AZ 高可用性要件
2026年の Malaysia リージョン対応・Container Service 拡張により、東南アジア展開・コンテナワークロード対応の選択肢も拡大しました。
最終更新:2026-04-26 バージョン:v2.0