Alibaba CloudのCDNおよびRDSサービスの利用

この記事はAIによって中国語から翻訳されました。

Alibaba Cloudのサーバーを使い始めてから約1ヶ月が経ちましたが、全体的にはかなり満足しています~~~
ただ、当初構成を選択する際に512Mメモリを選んだため、MySQL 5.6がリソースを消費しすぎてしまい、
メモリ不足時にシステムによってメモリ使用量トップのプロセスとしてkillされることが数回発生しました。。。
そこで、解決策として2つの方法があります。1つは1Gメモリへのアップグレード、もう1つはサードパーティのデータベースサービスの利用です。

最初は前者の方法を採用し、月額20元を追加して1Gメモリにアップグレードしたところ、確かにメモリ不足の問題は再発しませんでした。
しかし、色々と試してみたいという思いから、平穏な1ヶ月を経て、後者の方法を試してみることにしました~~~
このサードパーティのデータベースサービスとは、Alibaba Cloudが提供する別のサービス「RDS(リレーショナルデータベース)」のことです。

MySQLとSQL Serverのどちらかを選択でき、最小構成はストレージ5G、メモリ240Mで、現在キャンペーン中で月額わずか5元です。
特徴としては、すぐに使えて安定性が高く、柔軟にスケーリング可能なオンラインデータベースサービスである点です。多重セキュリティ対策と充実したパフォーマンスモニタリング機能を備えており、
さらに各RDSインスタンスは2つの物理ノードによるマスター・スレーブのホットスタンバイ構成となっており、マスターノードに障害が発生した場合、秒単位でスレーブノードへ切り替わります。
外部ネットワークへの通信はトラフィック課金ですが、内部ネットワーク間の通信は無料なので、クラウドサーバーと同じ杭州リージョンを選択すれば、トラフィック料金無料で利用できます~~

詳細はこちらをご参照ください:http://www.aliyun.com/product/rds

比較すると、セキュリティ、安定性、速度のいずれにおいても、自身のサーバー上にデータベースサービスを構築するよりも遥かに優れています。
しかも、メモリを512M増設するよりもずっと安いです~~~ ということで、迷わず試してみることにしました。

支払い完了後、瞬時にサービスが有効化され、データベースの移行作業に入れます。まずは元のデータベースと同じ名前で新しいデータベースを作成します。
標準で移行ツールが提供されており、説明に従って権限を設定し関連情報を入力すれば、ワンクリックで移行が完了します。

迁移

ただし、対応しているのはMySQL 5.1および5.5のみで、私は5.6を使用していたため、mysqldumpを使ってデータベースをエクスポートし、
その後mysqlコマンドでリモートデータベースにインポートする必要がありました。手順自体は比較的簡単で、公式サイトにも詳細なドキュメントが用意されています。
準備が整ったら、Webサイトのバックエンド設定にあるデータベース接続パラメータを変更するだけでOKです。同時に自サーバー上のMySQLを停止したところ、
メモリ使用率が瞬時に50〜60%から30%未満に低下し、再起動後はなんと18%まで下がりました。。。やはり512Mメモリでも十分でした。

RDS管理コンソールでは、ユーザーやデータベースの管理だけでなく、各種メトリクスのモニタリング、
ログの確認、自動バックアップ、閾値アラートの設定、パフォーマンス最適化、ホワイトリスト設定なども行えます。
これにより、WordPress側でデータベースのバックアップを行う必要もなくなりました~~
データベースの内容管理については、内蔵のiDB Cloudのほか、phpMyAdminも利用可能です。

RDS控制台

次にCDNサービスについてお話ししましょう。
当初サーバーをカスタマイズした際、帯域幅が1Mbpsしかないことに気づき、「こんなに小さいのか」と思い、20元を追加して2Mbpsにアップグレードしました。。
しかし実際使ってみると、大量の画像アクセス時には2Mbps帯域幅でもまだ遅く感じられ、一方でコードなどのアクセス時には1Mbps帯域幅すら使い切れないことがわかりました。

そこで静的ファイルの配信高速化を検討し始め、最初に思いついたのがCDN(コンテンツデリバリーネットワーク)でした。
CDNはオリジンサーバーのコンテンツを全国のノードにキャッシュ・配信することで、ユーザーがオブジェクトを取得する際の遅延を短縮し、
Webサイトへのアクセス応答速度と可用性を向上させます。これにより、ネットワーク帯域幅の不足、大量のユーザーアクセス、拠点分布の偏りといった問題を解決できます。
Alibaba Cloudも同様のサービスを提供しており、
詳細はこちらをご参照ください:http://www.aliyun.com/product/cdn

Alibaba Cloud CDNは国内に44のノードを持ち、China Unicom、China Telecom、China Mobile、Great Wallなどに対応しており、海外にも5つのノードがあり、単一ノードの帯域幅は10Gbpsです。
トラフィック課金制で、初期費用は無料、トラフィック料金も非常に安く、1GBあたり0.4元です。
以前のサーバー記録によると、私のWebサイトの月間トラフィックは約10〜20GB程度なので、料金はわずか4〜8元で済みます。
これで各地からの高速アクセスを実現でき、試用結果も非常に満足のいくものでした。別途1Mbps帯域幅を購入するよりも効果的でかつ安価です。

以下にCDNの具体的な設定方法をご紹介します。まず、CDNは動的ファイルを処理できず、動的ファイルの高速化も行えません。
そのため最初に行うべきことは動静分離です。Webサイトで高速化したいファイルを独立したフォルダに移動し、サブドメインを設定します。
私のWebサイトで主に高速化が必要なのは写真だったので、すべての写真を新しいフォルダに移動し、
cdn.cnsjw.cnというサブドメインを設定して、まずアクセスできるようにしました。

CDNコンソールでこのドメインと対応するサーバーIPアドレスを追加し、ドメインの有効性が検証されると、
システムがサーバー上のファイルをキャッシュ・配信し始めます。これには多少時間がかかりますが、実際の使用感はかなり高速です。
特に新規ファイルのアップロード時は、ほぼ瞬時にCDNによる高速化が適用されました。。。

WordPressの場合、主に以下の3つのステップが必要です。
1 まず記事内のすべての画像ファイルのURLを変更します。これは非常に簡単で、phpMyAdminを開き、
データベース内の www.cnsjw.cn/wp-content/uploads/ を cdn.cnsjw.cn/uploads/ に置換するだけです。
変更後、すべての画像が正常に表示されることを確認できます。

2 メディアのアップロードディレクトリとアクセスURLを変更します。
WordPressにはこの設定項目が存在しますが、管理画面からは直接アクセスできません。まず /wp-admin/options.php にアクセスし、
upload_path と upload_url_path の2つのパラメータを検索して、下図のように適切な値を入力します。
これでメディアライブラリ内のすべてのファイルがCDN経由でアクセス可能になり、アップロード時も直接静的ファイル用フォルダに保存されて即座に高速化されます。
変更後、メディア設定画面に以下のオプションが表示されるようになります:

3 最後に、以前の画像URLが第三者によって転載されたり、検索エンジンにインデックスされている可能性があるため、
リダイレクトを設定して、第三者からのアクセスでも引き続き表示できるようにしつつ、検索エンジンに対してURLが変更されたことを通知します。
.htaccessに以下を追加するだけです

RewriteCond %{REQUEST_URI} ^/wp-content/uploads/ 
RewriteRule /wp-content/uploads/(.*) https://img.cnsjw.cn/$1 [R=permanent,L]

最後にAlibaba Cloud CDNの課金方式について説明します。課金サイクルは1時間単位で、毎時精算されます。私のWebサイトはトラフィックが少ないため、
精算時に1分钱(0.01元)に満たないことがよくあります。請求額は小数点以下第2位までで、第3位以下は切り捨てられます。
つまり、1時間のトラフィックが25MB未満であれば、その時間は無料となります。

色々と試してみるつもりでしたが、予想以上に良い結果が得られ、多くの知識を学ぶことができました。
さらにサーバー構成を下げることができ、計算すると毎月30元の節約になります。。。しかも速度も向上しました。
Alibaba Cloudのおかげで、私のような小規模なサイト運営者でもこんな高品質なサービスを利用できるようになりました。。ハハハ~~~

コメントはWeChat公式アカウントへ

, , , ,


サポート