独自ドメインでウェブサイトを手に入れよう。
ボランティア団体やNPOにとって社会的認知やブランディングのためにウェブサイトは欠かせません。
団体ウェブサイトとしてブログサービスやfacebookページを使っている団体が多いと思いますが、もう一歩レベルアップして自前のウェブサイトを独自のドメインで作ってみませんか。
独自ドメインとは「https://www.skill-boat.org/wp」などのように自分で選んだ文字列をウェブサイトのURLにすることです。
一般にこうした登録作業やサーバの運営は業者に発注することが多いですが、それなりにコストがかかるものです。しかし、これを自前で行うことも不可能ではありません。
クラウドサービス全盛の今日では、ウェブサーバもきわめて低価格で高安定なものがあります。また、独自ドメインは一番安いもので年間180円から3,000円程で取得できます。
もし、コンテンツ作成(html, CSS)がある程度分かるのであれば、サーバの方はウェブサービスを使って手軽に構築したらいかがでしょうか。
今回はドメイン登録サービスの「お名前.com」と、超低価格・高安定のクラウドサービス「AWS(S3 + Route53)」を使って独自ドメインのウェブサイトを構築してみましょう。
注意:今回、構築するウェブサーバではサーバアプリ(WordPress…, PHP, musql, Python)は稼働しません。サイトは静的コンテンツのみで構成されることなります。
全体の流れは以下のようになります。
1. ドメインネームを選択して年間利用権を購入(お名前.com)
2. AWSにユーザ登録
3. ドメインネームをDNS(ドメインネームサーバ)に登録(AWS/Route53)
4. ウェブホスティングを設定(AWS/S3)
5. ウェブサーバ(S3)とDNS(Route53)を連結
6. ドメインネーム(お名前.com)とDNS(Route53)を連結
ドメインネームの選択
注意:お名前.comでドメインネームを申し込みするにはクレジットカードが必要です。
それでは先ずお名前.comで自分の使いたいドメインネームがあるか探してみましょう。
お名前.comを開いてください。
http://www.onamae.com
画面上部の「まずは、ドメイン名を検索してみよう」枠にご希望の文字列を入力して「検索」ボタンを押してください。
検索結果画面が表示されます。
「com」や「co.jp」は組織の種類(トップレベルドメイン)をあらわします。ここに「×」がなければ使用可です。
一般的にボランティア団体やNPOでは非営利団体に適用される「or.jp」や「org」を使用することが多いでしょう。
価格の行にあるようにトップレベルドメインはそれぞれ金額が違いますので、それぞれの条件を判断して決定してください。検索は何度でも繰り返すことができます。
チェックしてあるドメインを購入することになります。1個でよければそれ以外のチェックを外してください。
ドメインネームの申し込み
決定したら必要なトップレベルドメインのみにチェックして画面右側の「お申込みにすすむ」ボタンを押してください(複数を申し込みすることも可能です)。
「お申込み内容の確認」画面に移動します。
ドメインネームの利用権は複数年で申し込みすることも可能です。これも条件を判断して選択してください。
1年単位で申し込んだ場合、お名前.comより期限切れの6ヶ月前から更新の連絡があります。
「お申込み内容の確認」画面右側の「お名前.com会員情報」枠で「次に進む」ボタンを押してください。
もし、お名前.comを利用したことがあり「お名前ID」をお持ちであれば、ここにお名前IDとパスワードを入力してください。今回はお名前.comを初めて利用する場合として進めます。
「お名前.com会員情報の入力」画面に移動します。ここに必要な情報を入力してください。
注意:この情報はお名前.comへの会員情報というだけでなく、取得するドメインネームの管理者として世界中に告知する情報となります。メールアドレスなどは国際的なインターネット管理機関に公示されますので慎重に判断してください。
入力が完了したら画面下端の「次に進む」ボタンを押してください。
その後、「会員情報の確認」画面と「確認/お支払い方法の選択」画面を経てお申し込みが完了します。
「確認/お支払い方法の選択」画面の「サーバーの選択」枠でサーバを選択するように促されますが、選択する必要はありません。これはお名前.comが運営するレンタルサーバです。今回はAWSのサーバを使用します。
「お申込み完了」画面に移動します。
お申し込みが完了すると「お名前.com会員情報の入力」画面で登録したメールアドレス宛てに3通のメールが届きます。
AWSにユーザ登録する
次にクラウドサーバのAWSでウェブサーバを取得します。AWSはAmazon.comによる世界最大のクラウドサービスです。
AWSの使用にはユーザ登録(無料)が必要です。
注意:ユーザ登録にはクレジットカードが必要です。途中で電話音声による暗証番号の確認がありますので電話番号が必要です。サポートプランは「Basic(Free)」でOKです(後で変更することもできます)。
ユーザ登録の方法については以下に分かりやすく紹介されていますのでご参照ください(動画もあります)。
「無料アカウント作成の流れ(AWS)」
http://aws.amazon.com/jp/register-flow/
S3でバケットを作成
では、AWSにログインしてS3を設定しましょう。
AWSトップページ(http://aws.amazon.com/jp/)を開き、画面上部の「アカウント/コンソール」プルダウンメニューから「AWSマネジメントコンソール」を選択してください。
「サインアップ」画面に移動します。
ここでAWSにユーザ登録したメールアドレスを入力してください。
次に、「I am a returning user and my password is:」を選択し、パスワードを入力してから「Sing in using our secure server」ボタンを押してください。
「AWSマネジメントコンソール」画面に移動します。
「AWSマネジメントコンソール」画面でS3ボタンを押してください。
S3画面に移動します。
S3は基本的にクラウドストレージ、つまりクラウド上にハードディスクやUSBメモリのようなデータを保管するスペースを提供するサービスです。このスペースをバケットと呼んでおり、今回はバケットをウェブとして公開するオプションを使ってこれをウェブサーバとします。
画面上部の「Create Bucket」ボタンを押してください。
「Create a Bucket」ダイアログが表示されます。
「Bucket Name」にお名前.comで取得したドメインネーム(例:skill-boat.org)を入力してください。Regionは「Tokyo」でOKです。
ダイアログ下部の「Create」ボタンを押してください。
バケットリストに作成したバケットが追加されます。
バケットをウェブサイトとして公開
それではこのバケットをウェブサイトとして公開する設定を行います。
画面上部で「Propertied」ボタンを押してから、バケットリストで先ほど作成したバケットをクリックしてください。
画面右側にバケットのプロパティが表示されます。
プロパティの「Static Website Hosting」をクリックしてください。
「Enable website hosting」を選択し、「Index Document:index.html」、「Error Document:404.html」と入力し「Save」ボタンを押してください。
同じ枠内に「Endpoint: skill-boat.org.s3-website-ap-northeast-1.amazonaws.com」という記述があります。これが現在のこのウェブサイトのURLアドレスとなります。これを後ほどRoute53でドメインネームと連結させなくてはなりません。
さて、このバケットにコンテンツ(html, CSS, png…)をアップロードしてウェブサイトを構築していくのですが、これらアップロードする個々のアイテムをウェブ公開する設定が必要です。
プロパティの「Permissions」をクリックしてください。
「Edit Bucket Policy」をクリックしてください。
「Bucket Policy Editor」ダイアログが開きます。
以下の内容をコピー&ペーストしてから「Save」ボタンを押してください。
{
“Version”: “2008-10-17”,
“Statement”: [
{
“Sid”: “Allow Public Access to All Objects”,
“Effect”: “Allow”,
“Principal”: {
“AWS”: “*”
},
“Action”: “s3:GetObject”,
“Resource”: “arn:aws:s3:::skill-boat.org/*”
}
]
}
skill-boat.org/の部分は、お名前.comで取得したドメインネームに置き換えてください。末尾にスラッシュ(/)が必要です。
DNS(Route53)を設定
それでは前記したように、S3に作成したバケットのエンドポイントをRoute53でドメインネームと連結します。
S3画面のバケットプロパティでエンドポイントのリンクをコピーしておいてください。
「AWSマネジメントコンソール」画面に戻り、Route53ボタンを押してください。
Route53画面に移動します。
Route53の作業は、先ずホストゾーンを作成し、次にホストゾーンのレコードセットを編集という工程になります。
「Create Hosted Zone」ボタンを押し、画面右側で「Domain Name」を入力してください。
ここで入力するのはお名前.comで取得したドメインネームです。
「Domain Name」を入力したら画面下部の「Create」ボタンを押してください。
「Domain Name」リストにドメインネームが追加されます。
リストから作成したドメインネームを選択し、「Go to Record Sets」ボタンを押してください。
「Record Sets」画面に移動します。
レコードセットには「NSレコード」と「SOAレコード」が登録されています。
この「NSレコード」情報は後ほどお名前.comでネームサーバを登録するときに使用します。
通常のウェブサイト公開には「Aレコード」が必要です。
新たなレコードセットを作成します。「Create Record Set」ボタンを押してください。
画面右側にレコードセット情報入力枠が表示されます。
以下のようにName枠にはドメインネーム、Alias TargetにはS3バケットのエンドポイントのリンクを入力し画面下部の「Create」ボタンを押してください。
これでウェブサーバ(S3)とDNS(Route53)の連結が完了しました。
ドメインネームとDNSを連結する
最後にお名前.comでドメインネームの参照先としてRoute53を登録します。
先ほど「NSレコード」情報をお名前.comで使用すると書きました。Route53のレコードセット画面でこの情報を表示させたままで、別ウィンドウでお名前.comを開いてください。
お名前.com画面右上の「ドメインNaviへログイン」をクリックしてください。
ログイン画面に移動します。
「Step1 ご利用サービスの選択」で「ドメインNavi」を選択、「Step2 ログイン」枠で「お名前ID」と「パスワード」を入力して「ログイン」ボタンを押してください。
「お名前ID」と「パスワード」はお名前.comにユーザ登録したときのメールに記載されています。
「ドメイン一覧」画面に移動します。
リストから対象とするドメインネームの「ネームサーバー:変更する」ボタンを押してください。
「ネームサーバーの変更」画面に移動します。
今回はAWSのRoute53を使用しますので「他のネームサーバーを利用」タブを押してください。
「ネームサーバー情報を入力」枠にRoute53の4件の「NSレコード」情報を入力し、最下段の「確認する」ボタンを押してください。
確認画面を経て「ネームサーバーの変更 完了」画面が開きます。
これでご自分のドメインによるウェブサイト公開が設定されました。ドメインネームが世界的に伝播する(プロパゲーション)まで数時間から数日かかると言われています。私の場合はいつも1時間ほどでどこからも接続できるようになりました。
S3にファイルをアップロードする
AWSにログインして「AWSマネジメントコンソール」画面でS3ボタンを押してください。
S3画面に移動します。
バケットリストでバケットを選択してください。
バケットのアイテムリストが表示されます。
画面左上の「Upload」ボタンを押してください。
「Upload – Select Files and Folders」ダイアログが開きます。
ダイアログの「Add Files」ボタンを押してファイルを選択し、「Start Upload」ボタンを押してください。
アップロードが開始されます。
とりあえず「inidex.html」といくつかのファイルをアップロードしてサイトを表示させてみましょう。
まとめ
いかがでしょうか。
やや専門的な工程になりますが、時間をかければ専門家でなくても決してできないものではないと思います。
予算がないけど時間はあるという団体の方はぜひ試していただきたいです。
いずれにしても年間数100円で独自ドメインが取得でき、月10円程度で高安定サーバが使えるのですから試行錯誤の手間をかけてもいいと思いませんか。
さて、このS3の月10円という金額についてもっと詳しくはこちらに情報があります。
http://www.awsmicrosite.jp/s3-hosting/#06
ストレージ(コンテンツ)は1GBまで8.5円、データ転送量は1GBまでなら0円です。世の中の90%のウェブサイトはこの範囲に収まるのではないでしょうか。
課題はウェブアプリケーションが動かない、独自ドメインで運用するとSSL接続ができなくなるなどありますが、必要な部分のみ別サーバや別サービスで補えばいいと思います。