目次

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 ベース、エッジロケーション拡大

目次

  1. 概要
  2. Lightsail が解決する課題
  3. 主な特徴
  4. アーキテクチャ
  5. コアコンポーネント
  6. 主要ユースケース
  7. 設定・操作の具体例
  8. 類似サービス比較表
  9. ベストプラクティス
  10. トラブルシューティング
  11. 2025-2026 最新動向
  12. 学習リソース・参考文献
  13. 実装例
  14. チェックリスト
  15. まとめ
  16. 参考文献

概要

初心者向けメモ: 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・IAMEBS の 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 自動化

学習リソース・参考文献

公式ドキュメント

  1. Amazon Lightsail User Guide

  2. Lightsail API Reference

  3. Lightsail Pricing

  4. AWS Compute Blog - Lightsail

    • Lightsail チュートリアル・運用事例

公式チュートリアル

  1. Lightsail for Research
    • 学術・研究用 Lightsail
    • RStudio / Jupyter Notebook プリセット

OSS / サードパーティリソース

  1. AWS Samples - Lightsail

    • GitHub 公式サンプルコード
  2. Terraform - aws_lightsail Module

    • Infrastructure as Code テンプレート
  3. CloudFormation Lightsail リソース

    • AWS::Lightsail::Instance / Database

ベンダー・学習プラットフォーム

  1. A Cloud Guru - Lightsail for Research

    • ハンズオンコース
  2. 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