Taiki's Blog

ビジネスとテクノロジーの変化に迫る

【ブログ移行計画②】AWSのWordPressに投稿データを移行してみた

こんにちは、Taikiです。

前回はAWSを契約しインスタンスの作成までを行いました。

vtaiki.hatenablog.com

その構成はこんな感じです。ネットワークはInternet経由、InstanceはEC2(tc2.microの無料枠)です。

f:id:vtaiki:20191103101059p:plain

今回はドメイン取得とDNS登録し、投稿データを移行の上、サイト公開まで行います。

目次はこちらです。

インスタンスIPアドレスの対応付け

前回選択したAMIはWordPressのプレインストール版ですが、このAMIの提供者は、先日VMWareが買収したBitnamiです。

このBitnamiについて少し解説を。この会社はYコンビネータというスタートアップを中心としたファンドの出資により立ち上がりました。WordpressRedmineなどのオープンソースをパッケージ化してクラウドベンダーに提供しています。

一方、VMWareクラウドやオンプレのマルチクラウドインフラ市場に「VMware vSphere」を提供していますが、今後インフラ市場だけでは生きていけません。KubernetesやAnsible、AMI複製などインフラ屋がいなくても開発者、リテラシーあるユーザーが自力でインフラ構築できる時代です。VMWareもアプリケーションプラットフォームに力をいれるために同社を買収したそうです。

では話を戻します。まずインスタンスIPアドレスを割り当てるためにElastic IPを使います。

f:id:vtaiki:20191103103926p:plain

ここではAmazonプールを使用します。もしオンプレリソースとAWSを結びたいなら、ユーザー所有を選び、VPN GatewayやNAT Gatewayを使うことになります。

f:id:vtaiki:20191103104256p:plain

割り当てられたIPアドレスをEC2インスタンスと関連付けします。

f:id:vtaiki:20191103171542p:plain

ドメイン取得とDNS登録

新規ドメインの取得はRoute53で行います。お名前.コムなど日系サービスと比較するとドメインの相場はRoute53が高いですね。。xyzドメインですが、年間13ドルほどでした。

f:id:vtaiki:20191103172209p:plain

次に、DNS登録を行います。DNS登録を行うとドメインとIPを関連付けし、このブログをインターネットに公開できます。

タイプ列の「A」がIPアドレスドメインの関連付けに必要なレコードです。

f:id:vtaiki:20191103172926p:plain

WordPressから投稿データの移行

最後にWordPressから投稿データをテキストベースで移行し、WordPress側でそのデータをインポートすれば完了です。アイキャッチ画像やレイアウトなどまだカスタマイズ不十分ですが、テスト移行できました。データ移行の手順はこちらを参考にさせていただきました。

はてなぶろぐからワードプレスへ引っ越し。移行手順を1から説明します。 | トレーダーが漫画を描いています

接続方法と認証情報について

今回AWSWordPressを立てる上で一番苦戦したことが、AWSWordPressへの接続の仕方や認証まわりです。どのリソースで何をしたいか、によって、接続方法は異なりますが、その認証情報をどう入手するかを調べるのに時間がかかったため、ここで整理しておきます。

AWSマネジメントコンソール

AWSマネジメントコンソールは、WEBでAWSのサービスやリソースを管理するためのGUIサービスです。AWSのサイトをみると、画面右上のこのボタンです。

f:id:vtaiki:20191103192746p:plain

サインインに必要な情報は、AWSアカウントとパスワードです。パスワードは、AWSアカウントを作成する時に登録します。このコンソールでは、サービスやリソースの確認や変更、請求金額の確認などあらゆることが管理できます。

AWS CLI

AWS CLIは、黒窓(CLI)でインスタンスの操作や確認ができます。AWS CLIを使用するためには、アクセスキーやシークレットアクセスキーが必要となります。

アクセスキーの作成

アクセスキーやシークレットアクセスキーの認証情報を取得するためには、AWSサービスの1つであるIAM(Identity and Access Management)でユーザーを追加します。

ユーザーに必要な権限を与え、その認証情報からアクセスキーを作成します。ダウンロードしたCSVファイルは厳重に保管しておきましょう。

f:id:vtaiki:20191103195400p:plain

AWS CLIのインストール

次に、AWS CLIを操作PCにインストールします。インストール手順はこちらです。

https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-windows.html

AWS CLIの操作

インストール後、DOSPowershellなどのネイティブなCLIを起動しこちらのコマンドを打ちます。

aws configure

すると、アクセスキーやシークレットアクセスキーが要求されますので、先で入手した値を入力します。region nameとoutput formatは任意でかまいません。

AWS Access Key ID:

AWS Secret Access Key:

Default region name:

Default output format:

認証が通れば、コマンド操作でインスタンスを起動や停止が可能となります。インスタンス名やリージョン名は、AWS マネジメントコンソールでご確認ください。

インスタンス起動コマンド:

aws ec2 start-instances --instance-ids [インスタンス名] -- [リージョン名]

インスタンス状態確認コマンド:

aws ec2 describe-instance-status --instance-ids [インスタンス名] --region [リージョン名]

インスタンス停止コマンド:

aws ec2 stop-instances --instance-ids [インスタンス名] --region [リージョン名]

AWSSSHで接続する

BitnamiのWordPressにサインインするために、SSHで接続し、コマンド操作により、そのユーザー名とパスワードを入手する必要があります。今回は、TeraTermSSH接続しました。そのためには、先のElastic IPで付与されたグローバルIPAWSアカウント作成時に生成された秘密鍵(pemファイル)、ユーザー名(ubuntu OSではubuntuとなります)とパスワードが必要です。

f:id:vtaiki:20191103205622p:plain

SSHで接続後、下記のコマンドでWordPressのユーザー名とパスワードを取得します。

cat ./bitnami_credentials

以上でめでたく、WordPressにも接続ができ、データの移行を終えることができました。

まとめ

簡単ですが、今回の設定を図にまとめてみましたので、ご参考ください。詳細な手順は省いていますが、お知りになりたい方はお気軽にお問い合わせください。

f:id:vtaiki:20191103212511p:plain