<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Ec2 on 水源一二三</title><link>https://theweidi.net/tags/ec2/</link><description>Recent content in Ec2 on 水源一二三</description><generator>Hugo</generator><language>zh-TW</language><lastBuildDate>Sat, 14 Aug 2021 19:58:19 +0000</lastBuildDate><atom:link href="https://theweidi.net/tags/ec2/index.xml" rel="self" type="application/rss+xml"/><item><title>[2021] 遷移 WordPress 小記</title><link>https://theweidi.net/2021-wordpress-migration/</link><pubDate>Mon, 04 Jan 2021 13:34:15 +0000</pubDate><guid>https://theweidi.net/2021-wordpress-migration/</guid><description>&lt;p&gt;（2021/02：更新 Spot instance 還有安裝過程。）&lt;br&gt;
（2021/03：更新憑證更新的注意事項。）&lt;/p&gt;
&lt;p&gt;先前用的是 &lt;a href="https://gohugo.io/"&gt;Hugo&lt;/a&gt; 來生成靜態頁面，但覺得編輯上還是有點麻煩，心血來潮遷移到 WordPress。大概紀錄一下流程，在這之前完全沒有安裝 / 使用 WordPress 的經驗。&lt;/p&gt;
&lt;h2 id="主機選擇"&gt;主機選擇&lt;/h2&gt;
&lt;p&gt;比較熟 AWS 所以就直接開了 EC2。&lt;code&gt;t3a.micro&lt;/code&gt; 搭配三年的 Reserved instance 大概每小時 $0.005 美金、一個月大概 $3.6 美金。&lt;/p&gt;
&lt;p&gt;對照組用了 Spot instance (persistent request) 開了 &lt;code&gt;t3.micro&lt;/code&gt;，從&lt;a href="https://aws.amazon.com/about-aws/whats-new/2020/01/amazon-ec2-spot-instances-stopped-started-similar-to-on-demand-instances/"&gt;去年&lt;/a&gt;開始已經可以支援 stop/start，感覺費用應該跟 Reserved instance 差不多但有更多彈性。&lt;/p&gt;
&lt;p&gt;[2021/08] Spot instance &lt;code&gt;t3.micro&lt;/code&gt; 每 24 小時 $0.1 美金、一個月大概才 $3 美金，跑了半年都沒有被中斷，比 &lt;code&gt;t3a.micro&lt;/code&gt; reserved instance 還好用。&lt;/p&gt;
&lt;h2 id="安裝過程"&gt;安裝過程&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;看&lt;a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-lamp-amazon-linux-2.html"&gt;這篇&lt;/a&gt;在 Amazon Linux 2 上把 LAMP 裝起來。&lt;/li&gt;
&lt;li&gt;看&lt;a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hosting-wordpress.html"&gt;這篇&lt;/a&gt;裝最新的 WordPress，我依照步驟設定起來是 5.6。裝完後可以用 HTTP 來存取 WordPress 了。&lt;/li&gt;
&lt;li&gt;綁定 EIP。&lt;/li&gt;
&lt;li&gt;CloudFront 由於先前已經有設定，只是增加新的 Origin — 用 HTTP only 的方式指到 EC2，但發現會有 mixed content block 的問題 (https:// 連上 CloudFront 但頁面的物件用 http:// 去請求會被阻擋)。&lt;/li&gt;
&lt;li&gt;為了解決此問題需要回源使用 HTTPS，於是參考&lt;a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SSL-on-amazon-linux-2.html"&gt;這篇&lt;/a&gt;搭配 certbot 開啟了 TLS。這邊記得憑證的 &lt;code&gt;subjectAlternativeName&lt;/code&gt; 要包含回源所使用的域名，這樣 CloudFront 回源不帶 Host 的時候才不會有問題。&lt;/li&gt;
&lt;li&gt;CloudFront 改為使用 HTTPS 回源。確定已經可以用 https:// 瀏覽及管理 WordPress。&lt;/li&gt;
&lt;li&gt;在官網找一個自己喜歡的 &lt;a href="https://www.wordpress.org/themes/"&gt;Theme&lt;/a&gt; 裝起來，搭配 &lt;strong&gt;Additional CSS&lt;/strong&gt; 去微調一下版面，就可以開始使用了。&lt;/li&gt;
&lt;li&gt;參考&lt;a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UsingAlarmActions.html#AddingRecoverActions"&gt;這篇&lt;/a&gt;把 EC2 Auto Recovery 設定起來，避免 EC2 突然壞掉。&lt;/li&gt;
&lt;li&gt;參考&lt;a href="https://aws.amazon.com/blogs/security/automatically-update-security-groups-for-amazon-cloudfront-ip-ranges-using-aws-lambda/"&gt;這篇&lt;/a&gt;在 EC2 上只放行 CloudFront 流量。&lt;/li&gt;
&lt;li&gt;搭配 &lt;a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-lifecycle.html#dlm-permissions"&gt;EBS Lifecycle Policy&lt;/a&gt; 設定自動備份。&lt;/li&gt;
&lt;li&gt;把 Google Analytics 放到 Theme Header (header.php) 裡面。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="其他小記"&gt;其他小記&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;目前還不知道 WordPress 的架構，也沒裝什麼 plugins。先依據&lt;a href="https://aws.amazon.com/blogs/networking-and-content-delivery/how-to-accelerate-your-wordpress-site-with-amazon-cloudfront/"&gt;這篇&lt;/a&gt;文章的建議設定了 CloudFront cache behavior，之後有時間可能會想要把 static content 放在 S3 上。&lt;/li&gt;
&lt;li&gt;certbot 憑證更新需要放行 port 80，不然憑證會更新失敗。要再找時間看能不能走其他驗證方式，例如透過 DNS 或是 port 443。&lt;/li&gt;
&lt;li&gt;怕太單調想要找圖可以去&lt;a href="https://www.artic.edu/collection"&gt;芝加哥藝術博物館&lt;/a&gt;找無限制使用用途的圖，也就是有標示 Public Domain (CC0) 的畫作 [1]。例如本 blog 用的就是 &lt;a href="https://www.artic.edu/artworks/10932/snow-at-akabane-bridge-in-shiba-shiba-akabane-no-yuki-from-the-series-famous-places-in-the-eastern-capital-toto-meisho"&gt;Snow at Akabane Bridge in Shiba&lt;/a&gt;。&lt;/li&gt;
&lt;li&gt;寫在 Notion 上的筆記竟然可以無痛直接貼到 WordPress 編輯器真是不錯。&lt;/li&gt;
&lt;li&gt;如何增加 WordPress 的安全性？&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;[1] &lt;a href="https://www.artic.edu/open-access/open-access-images"&gt;https://www.artic.edu/open-access/open-access-images&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>