月別アーカイブ 3月 31, 2022

投稿者:kuze_k

lightsailのマルチサイト化②

昨日に引き続いてlightsailのマルチサイト化にチャレンジします。

いろいろ調べてみましたがサブドメインでのマルチサイト化はできますが、サブディレクトリでのマルチサイト化は簡単にはできなさそうでした。。

いったんサブドメインでのマルチサイト化で進めようと思ったのですが、今度は別のトラブルに遭遇しています。

サブドメインになったので当然SSL化する際にも異なる証明書が必要になりますが、そこがうまく動かないようです。

sudo /opt/bitnami/bncert-tool

で証明書作成をしたのですが、メインサイトはSSL化後も表示できるのですが、後から作ったサブサイトが見えない事象が発生。。

下記サイトを参考にマルチサイトでのSSL化を実施しました。

AWS Lightsail でWordPress を簡単に常時SSL化

結論としては、メインサイトはbncert-toolで証明書更新までいってくれたのですが、サブサイトの方はwordpressの管理画面にて、site-urlを手動で書き換えることでSSL化できました。。

今日はこれぐらいにしておきます。

投稿者:kuze_k

lightsailのマルチサイト化①

これまでTechネタを中心に書いてきましたが、たまには息抜きで趣味ネタも書きたいなーと思い始めました。このブログ内に趣味ネタまでごちゃ混ぜで書くのもイマイチだと思って、調べていたらマルチサイトという機能があることを発見しました。今回はこれにチャレンジしてみようと思います。

lightsailで動かしているのでそれ前提でマルチサイト化を検討してみます。

lightsailでインスタンス作成時にシングルとマルチが選択できたことを思い出しました。。

まずはlightsailの管理コンソールに入って、お試しで新規にマルチサイトでインスタンスを作成、、数分でデプロイ完了です。

/wp-adminへログインしたところ、メインサイトがあるのは当然として、最初から新規メニュー項目で”参加サイト”があることを確認。

参加サイト ー サイトネットワーク管理 - サイトをメニューを辿って、”新規追加”をクリックすると新サイトの作成画面が出ました。

マルチサイトを作るだけならとっても簡単でした。ですが、、

標準ではサブドメイン構成になってしまいます。方式としてはサブドメインとサブディレクトリの2パターンがあるのですが、SEOを考えるとサブドメインよりも、サブディレクトリの方が良いみたいです。

⇒サブディレクトリは、1つのドメインに多数のコンテンツがあるように見えるため

 サブドメインで分けてしまうと別物と判断されてしまう(ドメイン違うので当然ではある)

wordpressのGUI上で簡単に方式変更ができず、いろいろググってみると同様に困っていた人がいたようで、CLIから設定変更が必要な模様。

wp-config.phpファイルを修正し、

define( ‘SUBDOMAIN_INSTALL’、true); → define( ‘SUBDOMAIN_INSTALL’、false); へ修正したら、”新規追加”からサイトはサブディレクトリで作れるようになった。 なんだ簡単じゃんと思ったのもつかの間、新サイトを閲覧してみたら、画面表示が一部おかしくてテーマがちゃんと表示されない形に。。文字情報は見えるけど。。 他に.htaccessファイルも修正が必要みたいで試してみるも、改善されず。。

AWSのlightsailのドキュメントを探したところサブディレクトリはなくて、サブドメインの記載のみ。

明日もう少し調べることにします。

投稿者:kuze_k

Aws developer associate

最近awsについて投稿していますが、せっかくなので資格取得しようと思い参考書を購入しました。

秀和システム

アソシエイト試験ポケットスタディ

Aws認定デベロッパーアソシエイト

2310円

最初に参考問題がありますが、ぜんぜん正解がわかりません。おとなしく解説読んで勉強します。

実際にawsさわりながら、勉強したことをblogに書きながら合格を目指します。

ちなみに私はsaaを所持していますが、大分内容がちがいますね。。当たり前ですが。

1か月ぐらいで合格できることを目指します。

今日はこれぐらいにしておきます。

投稿者:kuze_k

AWS Budgetsで予算管理

最近AWSを触る機会が増えてきたので、コストが高くなってびっくりしないようにするためにAWS Budjetsを設定してみました。

設定は至って簡単で登録名や予算額・閾値(%)・メール通知先などを設定するだけで簡単に設定できました。設定時間は数分あれば完了。

実際に閾値まではまだ達してないのでアラート来てないですが、今後様子見して動作確認しようと思います。

なお、通知方法はメール以外にもslackへもできそうでした。また通知だけでなくアクションも自動起動できるようです。詳細は未調査ですが、予算超過したら指定サービスを自動停止させるようなイメージかなと考えています。時間あるときに確認してみようと思います。

調べていてびっくりしたのはAWS Budgets自体が必ずしも無料ではないことですw。

2アラーム設定までは無料でいけるようですが、それ以上アラーム設定する場合は、課金されるそうです。。


Your first two action-enabled budgets are free (regardless of the number of actions you configure per budget) per month. Afterwards each subsequent action-enabled budget will incur a $0.10 daily cost.


AWS Cloud Financial Management | Pricing | Amazon Web Services

今日はこれぐらいにしておきます。

投稿者:kuze_k

VADPとVDDKについて(おさらい)

突然ですが、VMwareのVADPとVDDKについて記載します。

この2つの用語について曖昧に理解していましたので改めて整理します。

VADP : VMware vSphere Storage APIs – Data Protection

仮想マシンを保護したい場合に、APIを利用して仮想マシンをバックアップすることができる仕組み。

VMware vSphere のスナップショット機能を活用し、仮想マシンのダウンタイムなしで仮想マシンをまるごとバックアップできる。

仮想マシン内へエージェントインストールが必須でなく、CBTを利用した差分バックアップもできる。

詳細は以下を参照。

https://kb.vmware.com/s/article/1021175?lang=ja

一方でVDDKは、VDDK : Virtual Disk Development Kitの略。

VDDKはVMware社が提供しているSDKであり、主にバックアップソフトウェアベンダーが利用してバックアップソフトに組み込んで利用する。バックアップソフトをゼロから作ることを考えるとソフトベンダーは開発が楽で、VADPバックアップの仕組みの中でVDDKが利用されている。

https://developer.vmware.com/web/sdk/7.0/vddk

VADPを使ったバックアップシステムを構築する際は、バックアップソフト側で対応するVDDKを選択する必要がある。バックアップソフト/vSphere/VDDKのバージョンすべてのコンパチビリティを確認する必要があり、適当に選択するとバックアップが正常にできなかったりメーカーサポートが受けられない事になりかねないので注意が必要。

なお、vSphereバージョンは年を追うごとに新しくなっていますが、VDDKについても同様に新しいものがリリースされています。

最新はVDDK7.0.3がリリースされていました。

詳細は下記に記載ありますが、地味に新機能なども記載されています。

https://vdc-download.vmware.com/vmwb-repository/dcr-public/1ad87f77-0120-44f0-9517-4da7a9161679/53034008-3cbc-4b67-8d60-37b52fd4fc51/VDDK-703-ReleaseNotes.html

たとえば、

Configurable NFC AIO buffers.
As of VDDK 7.0.3, users can configure asynchronous I/O buffers for NBD(SSL) transport. With high latency storage, backup and restore performance may improve after increasing NFC AIO buffer size.

とあるので、NBDモードにおけるバックアップスループットの改善のためにバッファサイズが調整されています。

NBDモードはいわゆるLANベースのバックアップですが、それ以外にも以下のモードがあります。

LAN (NBD) Transport Mode

SAN Transport Mode

HotAdd Transport Mode

上記はArcserve社の情報ですが、基本的にVADPであれば他社製品でも同様だと思います。

https://support.arcserve.com/s/article/202777085?language=en_US

https://support.arcserve.com/s/article/202092839?language=en_US

各モードごとに特性があるので、理解した上で設計しないといけないですね。

NBDモードは実装が簡単ですが、スループットが出しにくい傾向があると思うので、バックアップスケジュール要件によっては、HotAddやSANモードについても検討する。

今日はこれぐらいにしておきます。


2022/3/23追記

VADP/VDDK関連する事項を記載しておきます。

・VADPで仮想マシンリストアする際に、vCenter管理下にいるESXiの場合は、vCenter経由でしかリストアできない。ESXiを指定してリストアしようとするとvSphere側の仕様によりリストアに失敗する。

・上記に関連して、vCenter経由でリストアする際、仮想マシンの実データ転送はESXi<=>バックアップソフトウェア間で行われる。vCenterを実データが流れるわけではないのでvCenter負荷はそこまで気にしなくても基本的に大丈夫。

投稿者:kuze_k

Google Search Consoleへ登録

本ブログですが、google検索で見つかるように登録していなかったので、Google Search Consoleへ登録しました。

登録は以下URLから実施しました。

https://search.google.com/search-console/about?hl=ja

Googleアカウントは以前からもっていたので、本ブログのFQDNを入力し、そのあとでDNSサーバへgoogleから指定されたtxtレコードを追加するだけで登録完了となりました。

txtレコードの追加時に少し悩んだ点としては以下があります。

hostnameは空のままで、contentとしてgoogle-site-verification=****を入力します。(****の部分は各自googleから指定された文字列を入れてください)

最初よくわからなかったので、適当にhostnameのところへgoogle-site-verification入れて、contentへ****を入れるのかと思ったのですが、登録エラーに。。

その他については登録で迷う部分はなく、全体でも数分程度で完了できました。

・・・

まだgoogle検索してもサイトは表示されませんでしたww。気長に待とうと思います。

また、google search consoleにて検索状況が見えるようなので、後日データがたまったら確認してみようと思います。

今日はこれぐらいにしておきます。

参考にさせていただいたサイト

https://www.howtonote.jp/google-search-console/setup/index4.html

投稿者:kuze_k

lightsailのhttps化②

lightsailのhttps化の続きです。
AWSサイトの以下チュートリアルにのっとってやったのですが、結果うまくできませんでした。。
 チュートリアル: Amazon Lightsail の WordPress インスタンスで Let’s Encrypt の SSL 証明書を使用する
 最終更新日: 2021 年 12 月 20 日

少し調べていたらbncert-toolでもssl化できる模様。
こちらで試したら手順も簡単であっさりできましたw。

ブラウザで確認したところちゃんと鍵マークになっていたので大丈夫そうです。

Let’s Encryptは有効期限が90日なので、更新部分などは追って確認したいと思います。

参考にしたサイト
https://hiroyama.info/2021/06/22/aws-lightsail-ssl/

投稿者:kuze_k

lightsailのhttps化①

サイトのSEO対策などを調べていると、https化の記載があったため本blogについてもチャレンジしてみようと思います。

letsencriptというサービスで無料証明書の配布/更新ができるようなのでそれをベースで考えています。

letsencriptは非営利団体で運営されており、更新処理も自動化されているので無償提供ができるようです。ただし、一般的に有償の証明書サービスは有効期限が年単位ですが、letencriptについては有効期限が90日間しかないです。よって、更新処理も自動化しないと現実的に使い続けるのは難しいと思います。

AWSサイトでlightsailのletsencriptについてもドキュメント化されていたのでそれに倣って実施しようと思います。

https://lightsail.aws.amazon.com/ls/docs/ja_jp/articles/amazon-lightsail-using-lets-encrypt-certificates-with-wordpress

ただし、

上記サイトをみるにVPSへSSHログインし、コマンドラインでいろいろ触る必要があるので、バックアップ目的でいったんlightsailのスナップショットをとることにしました。

操作は至って簡単で、lightsailコンソール上でsnapshotsをクリックし、Manual snapshotsのところにある”Create snapshot”をクリックする。snapshot nameを入力し、createをクリックすると数分で作成された。

スナップショットを使いたくなった(復旧させたい)場合は、create new instanceすれば良さそうですが今回はそこまでは試していません。もしletsencriptのセットアップで失敗したら、リストアすることを考えます。。

snapshotについても課金される認識ですが今のところ請求書には表示されていないですね。そもそもlightsailが最初の3か月無償なのでそのおかげかもしれませんが(詳細は未確認)。。

なお、snapshotは毎日自動でとることもできるようです。その場合7世代までスナップショットを保持できるようです。

https化の別手法として、lightsail load balancerを作成し、そちらでSSL化することもできるようです。

lightsailコンソール上でネットワーキングをクリックすると、”ロードバランサーの作成”がありますが、こちらは月18$するので、https化だけのために使うのは高額ですね。本来lightsailを冗長/負荷分散させたい場合の利用だと思うので、今回は対象外とします。

今日はここまでとし、letsencriptを使ったhttps化は日を改めて実施しようと思います。

投稿者:kuze_k

AWSとのVPN接続

自宅環境とAWSとの間をVPN接続することを試してみました。

結論から言うと問題なくVPN接続はできたのですが、AWSのVPNは現状アグレッシブモードに対応していないため、長期運用する場合は自宅側に固定グローバルIPが必須になります。私の場合は固定ではなく動的グローバルIPなため、テスト的にVPN接続することはできた・・というものになります。よって自宅機器のグローバルIPが変更になったらVPNも当然切れてしまいます。あくまでお試しというレベル。

実施したことは至ってシンプルですが、メモとして記載しておきます。

<AWS側の作業>

・VPCを作成

 →AWS上で使用するCIDRを指定

・subnetを作成

 →上記CIDRから今回使用するサブネットとして切り出し

・EC2を作成

 →自宅=AWSとの疎通確認用に準備 上記サブネットへ接続する

  セキュリティグループ設定でPING応用するようにルール追加

★ここから今回メインのVPNに必要な作業

・カスタマーゲートウェイを作成

 →VPN接続先を指定する設定 自宅グローバルIPを指定する

・仮想プライベートゲートウェイを作成

 →AWS側の仮想VPN装置を作成 作成した後に、VPCにアタッチする必要あり

・サイト間のVPN接続の作成

 →上記で作成したカスタマーゲートウェイ・仮想プライベートゲートウェイなどを結びつける設定

 →静的IPプレフィックスには自宅のローカルサブネットを指定●

・設定のダウンロード

 →AWS上で自宅機器向けの設定サンプルをダウンロード 私はCisco設定をダウンロード

<自宅側の作業>

・作業前確認として、自宅側ルータからAWSのVPN接続先IPへPingで疎通確認

 →Pingが飛ばない場合は、ACLの設定やルーティングなどを確認 疎通性がないとVPN張れないため

・ダウンロードしたCisco設定を実施へ投入

 →ダウンロードした設定ファイルにはTunnelインタフェースが2つあったが、今回はテストなため1つのみ投入

 →ダウンロードした設定ファイルにはoption設定があったが、今回はテストなため一旦無視

 →自宅ルータにはACLを設定しているため、VPN接続用の許可ACLを追加●

 →設定したtunnelインタフェースをno shutdownし、ステータスがUpになることを確認する。

  (自宅環境はそれぞれ構成差異があると思うので、必要に応じて追加/修正は必要と思います)

・自宅PCからAWS上に作っておいたEC2へPingで疎通確認

 →Ping問題なし tracertで経路確認

私がハマったポイントは●をつけた2箇所。

・はじめてVPN設定したときは、静的IPプレフィックスに何を書くべきなのかよくわからなかった。

・自宅ルータのACLでdropされていて、ISAKAMP/IPSECのやりとりができず、tunnelインタフェースがUPにならなかった。

もともとオンプレ機器でIPSECは使ったことがあるので基本的な理解はありましたが、AWS用語が最初よくわからず悩みましたが、賞味半日ぐらいで無事にVPNつなげることができました。

なお、自宅で固定グローバルIPを取得しようとすると1IPで月額5000ほどするので高額。

アグレッシブモードに対応したVPN装置をEC2で立てることで対応できそうだが、EC2x1台分のコストが余計に発生する。AWSさんが動的グローバルIPでもVPN接続に対応できるようになってくれるのを期待!です。

今後AWSおよびVPN接続をどうするかは別途検討。。。

なお、請求ダッシュボードで確認したところVPN費用は以下でした。

 $0.048 per VPN Connection-Hour

0.048*119yen*24h*31d = 4249.728 月額4250円は個人で払うにはちょっと高いですね。。

今日はこれぐらいにします。

参考にさせていただいたサイト

https://infrastructure-engineer.com/tcpip-advanced-0003/

VPNのアグレッシブモードについて

https://www.infraexpert.com/study/ipsec24.html


2022/3/21追記

上記はテスト的にVPN接続していたということもあり、後日AWSから下記のメールが届きました。

参考までに内容記載しておきます。

表題 : Important notice about your AWS Account regarding VPN connections

内容:You’re receiving this message because you have at least one VPN Connection in the ap-northeast-1 Region, for which your VPN Customer Gateway is not using both tunnels. This mode of operation is not recommended as you may experience connectivity issues if your active tunnel fails.

・・・

For Static VPNs, enabling both tunnels may lead to asymmetric routing, which will need to be permitted by your Customer Gateway Device. For configuration options, please refer to your vendor specific documentation.

上記はメール抜粋ですが、要するに1つだけVPN接続しているけど、耐障害性を上げるために2つのVPN接続してね!ということです。

また、2つVPN接続する際は、非対称ルーティングになる可能性があるので注意してね!ということです。


2022/3/22追記

VPN接続ですが通信有無にかかわらず課金されますのでご注意ください。

試しに、オンプレのCiscoルータ側でVPN用インタフェース(tunnel)をshutdownさせておいたのですが、課金は継続していました。

AWSの請求書にて、$0.048 per VPN Connection-Hourの時間がカウントアップしていました。。

投稿者:kuze_k

mydnsについて

本blogサイトのDNSもmydnsで管理してますので、実装内容を簡単に記載しよう思います。

ちなみに、

mydnsはいわゆるdynamic dnsサービスの1つでDNS更新を動的にできるものですが、アカウントを登録すれば無料で使える便利なサービスです。具体的には、自宅サーバなどグローバルアドレスが固定でない場合に使うことで公開WEBを建てられるなど便利になるものです。

詳細はmydnsサイトに記載ある使い方を見てもらえればと思いますが、今回はlightsailのインスタンスへsshログインし、cronで定期実行するスクリプトを置いてあります。このスクリプトがmydnsサイトと通信することで、IPアドレスが変更された場合にDNSレコードを書き換えてくれます。

スクリプトについては以下サイト、参考になります。

以前からmydnsは利用させてもらっていたので、今回は新たにサブドメインを作成しdelegate設定をして、サブドメイン委任する形にしました。

ここまで実装してあとで気づいたのですが、lightsailは固定IP設定ができ、固定IPにしても費用が追加されないようです。よってdynamic dnsでなくても普通のDNSサーバでレコード登録すればいいことになりますね。。

ドメイン移譲については以下、参考になります。

———————————————–

https://www.mydns.jp/#howtouse

子IDへのサブドメインの移譲(DELEGATE)について

MyDNS.JPでは、最初のMasterID(親ID)でログイン後に、USER INFOで必要分だけ子IDを取得することで、親IDで登録したドメインのサブドメインを、子IDに対して移譲(DELEGATE)する事が可能です。 例えば友達同士でドメインを共有するとか、会社の本社支社毎にサブドメインを分ける、というようなことが可能です。(子IDは後から増やすこともできます)

例: 親IDで tokyo.mydns.jp を登録して、追加した子IDのそれぞれに chiyoda.tokyo.mydns.jp, hachioji.tokyo.mydns.jp, miyake.tokyo.mydns.jp を移譲する、ということが可能です。

———————————————–

以前からmydnsは利用させてもらっていたこともあり、ドメイン移譲について特に悩むことなく設定でき、本blogについても即座にDNSアクセスできるようになりました。

本日は以上にします。