AmazonVPCFullAccessAmazonEC2FullAccessAmazonRDSFullAccessAmazonS3FullAccess| 用語 | 意味 | 家に例えると |
|---|---|---|
| VPC | 仮想プライベートクラウド | 敷地・土地 |
| サブネット | VPC内の区画 | 敷地内の部屋・エリア |
| インターネットゲートウェイ | 外部接続の出入口 | 玄関ドア |
| セキュリティグループ | ファイアウォール | 玄関の警備員 |
| EC2 | 仮想サーバー | 家そのもの |
| RDS | データベースサービス | 倉庫(データ保管場所) |
yuto-nakahara-essential-1-vpc10.10.0.0/16「アクション」メニューで「DNSホスト名を編集」が表示されない場合:
ec2:ModifyVpcAttributeが必要)以下の4つのサブネットを作成:
| サブネット名 | タイプ | CIDR | AZ |
|---|---|---|---|
pub-a | パブリック | 10.10.1.0/24 | ap-northeast-1a |
pub-c | パブリック | 10.10.3.0/24 | ap-northeast-1c |
pri-a | プライベート | 10.10.2.0/24 | ap-northeast-1a |
pri-c | プライベート | 10.10.4.0/24 | ap-northeast-1c |
10.10.0.0/16(全体の範囲)/24(256個のIPアドレス)/16が表示されても、サブネットには/24を手入力yuto-nakahara-essential-1-rtb-pub0.0.0.0/0pub-a、pub-cを選択インバウンドルール:
| タイプ | ポート | ソース | 説明 |
|---|---|---|---|
| SSH | 22 | マイIP | 管理者のみSSH接続可能 |
| HTTP | 80 | 0.0.0.0/0 | 全世界からWebアクセス可能 |
インバウンドルール:
| タイプ | ポート | ソース | 説明 |
|---|---|---|---|
| MYSQL/Aurora | 3306 | websgのSG ID | WebサーバーからのDB接続のみ許可 |
203.0.113.1:80 → IPが住所、80番がHTTPサービスの部屋番号dbsubnetgpri-a、pri-cを選択既存のdbsubnetgが残っている場合:
dbsubnetg-v2)で作成chapter1wpuserwppassworddb.t3.micro(バースト可能クラスに変更が必要)dbsubnetgdbsgmykey.pemt2.micromykeypub-awebsgec2-user.pemファイルec2-user# パッケージ更新
sudo yum -y update
# PHP と関連モジュールのインストール(2023版では dnf を使用)
sudo dnf install -y php php-mysqlnd php-fpm php-mbstring php-xml php-gd php-opcache php-pdo php-json
# Apache のインストール
sudo dnf install -y httpd
# Apacheを有効化&起動
sudo systemctl enable httpd
sudo systemctl start httpd
# WordPressをダウンロード&配置
wget http://ja.wordpress.org/latest-ja.tar.gz
tar zxvf latest-ja.tar.gz
sudo cp -r ./wordpress/* /var/www/html/
sudo chown apache:apache -R /var/www/htmlamazon-linux-extrasコマンドは廃止yumの代わりにdnfを使用http://<EC2のパブリックDNS>/wp-admin/setup-config.phpにアクセスwordpresswpuserwppasswordchapter1.xxxxx.ap-northeast-1.rds.amazonaws.com)RDSコンソール → データベース → インスタンス詳細 → 「接続とセキュリティ」タブ
adminhttp://<EC2のパブリックDNS>/wp-content/uploads/...形式であることを確認ielove-nakahara(グローバルで一意)IAMユーザーではiam:CreateRole権限がないためエラーが発生する場合があります。
rootユーザーでログインして実行してください。
AmazonS3FullAccessWP-RoleWP-Roleを選択して保存ielove-nakaharaS3バケット → アクセス許可 → バケットポリシーに以下を追加:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::ielove-nakahara/*"
}
]
}https://ielove-nakahara.s3.ap-northeast-1.amazonaws.com/...形式になることを確認| 項目 | EC2内保存 | S3保存 |
|---|---|---|
| 保存場所 | EC2インスタンス内 | S3バケット |
| 可用性 | EC2停止時にアクセス不可 | EC2停止時もアクセス可能 |
| 拡張性 | ストレージ容量に制限 | 無制限 |
| 信頼性 | EC2に依存 | 99.999999999%の耐久性 |
| CDN連携 | 困難 | CloudFrontと簡単連携 |
間違った順序で削除すると「依存関係エラー」が発生します。
chapter1-snapshot2)WP-Role選択VPCを削除する前に、以下を順番に削除:
最終確認として、AWSコンソール → 請求ダッシュボードで不要な課金が発生していないことを確認してください。
この構築プロセスにより、以下が実現されます:
dnfを使用(amazon-linux-extrasは廃止)このガイドに従うことで、同様の問題を回避し、スムーズにWordPress環境を構築できるはずです。