年末の疲れで昨晩は夕食を食べずに寝落ちして、そのまま朝を迎えてしまったため、
投稿が遅れてすみません。
AWSって知らない人はいないですよね。
知らないとヤバイですよ!と、感じでクラウド界の王者として君臨している訳ですが、
じゃあ、何から使おうかと悩んでしまうほどサービスは豊富です。
とりあえず、邪道な入門を書いてみます。
正統な入門はQiitaや某C社、某N社のブログなんか見て下さい。
1.アカウントを作成する
メールアドレスとクレジットカードがあればアカウントが作れる。(当たり前だけどw)
全くの初めてだと1年分の無料利用枠が貰えたりするけど、1年なんてあっという間だし、
ちょっといろんなことをやろうとしたら、課金が必要なので無料枠は期待しない方が良い。
2.とりあえずログイン
ログインすると、びっくりするくらいのメニューアイコンが並んでいる管理画面が表示される。
でも、VPSとかレンタルサーバから引っ越して来たくらいの初心者は、左上のEC2とかその下にある
VPCなんかしか使わない。
3.まずはLAMPサーバを作りましょう
何か具体的な例があると分かりやすいと思うので、とりあえずLAMP1台作る。
LAMPサーバの条件
・CentOS互換 ⇒AMIでいいんじゃね?
・PHP version5.5以上
・MySQL Version 5.5以上
・Apache Version 2.2程度
そんな感じのサーバを作る
4.最初はVPC
一番面倒くさいのが、昔は無かったけど、今は必須となったVPC(バーチャールプライベートクラウド)。
ようは、仮想のサーバラックを作る。
そのサーバラックに設置出来るサーバの台数は、ここの設定で決まるので要注意。
「VPCの作成」ボタンを押すと、名前とCIDRブロックの入力を求められるので入力。
CIDRブロックは開発環境であれば「192.168.0.0/28」なんかで良いのでは?
あとから修正出来ないなので、本番環境であれば、ちゃんと検討しよう。
出来上がったVPCは一覧で表示されるので、一覧で表示したら、
VPCのアクションで「DNS解決の編集」「DNSホスト名の編集」をそれぞれ「はい」にする。
これをしないと、パブリックDNSが割り当てられない。
5.VPCにネットワークを作ろう
出来上がったVPCは、ネットワークにつながってない引き籠もりなので、
とりあえず、インターネットに接続するルータを設置する。
VPCダッシュボードのメニューにインターネットゲートウェイという項目があるので、選択。
「インターネットゲートウェイの作成」ボタンを押すと、名前を入力して、これで終わり。
ただし、先ほど作ったVPCにこのインターネットゲートウェイを繋げてあげる必要があるので、
「VPCにアタッッチ」ボタンで、VPCにアタッチしてあげる。
次に、このインターネットゲートウェイというルータのルーティング処理を設定する。
VPCダッシュボードのメニューにルートテーブルという項目があるので、選択。
ルートテーブル一覧から、VPCを選択して編集フォームを開く。
編集フォームに「ルート」というタブがあるので、選択。
「編集」ボタンを選択すると、「別ルートの追加」ボタンが表示されるので、選択。
入力ホームに、「送信先」と「ターゲット」があるので、
「送信先」に、「0.0.0.0/0」と入力。(インターネットへの公開)
「ターゲット」に、先ほど作ったインターネットゲートウェイ名が補完されるので、選択。
「保存」を押して、完了。
最後に、サブネットを作成する。
VPCダッシュボードのメニューにサブネットという項目があるので、選択。
「サブネットの作成」ボタンを選択。
名前とVPCとCIDRブロックを入力する。
VPCは、今回作成したVPC名、CIDRブロックはVPCと同じで、「192.168.0.0/28」で良いと思う。
これをやらないと、サーバを作ってもインターネットから接続できない。
6.ようやくEC2
左上のオレンジ色の箱を選択するとTOPメニューに戻れるので、TOPメニューへ戻る。
EC2を選択。
「インスタンスの作成」ボタンを選択。
「ステップ 1: Amazon マシンイメージ(AMI)」が表示される。一番上にある
「Amazon Linux AMI」を選択。(これが通称:アミ。と呼ばれるやつ)
「ステップ 2: インスタンスタイプの選択」が表示され、一番安いやつ「t2.micro」を選択。
(他のは金がかかるし、後からでもスケールアップが可能)
「次の手順:インスタンスの詳細設定」ボタンを選択。
「ステップ 3: インスタンスの詳細の設定」が表示され、VPCとサブネットの項目を埋めて行く。
選択するだけなので、問題なし。
「自動割り当てパブリック IP」は「有効」に選択する。
有効にしていないと、パブリックIPが割り当てられないので、外部からアクセスできない。
他の項目は後からでも設定可能。
「次の手順:ストレージの設定」ボタンを選択。
「ステップ 4: ストレージの追加」が表示されるけど、ストレージが標準の8GBでよければ、
「次の手順:インスタンスのタグ付け」ボタンを選択。
「ステップ 5: インスタンスのタグ付け」が表示。「値」にサーバに名前を付けてあげてね。
「次の手順:セキュリティグループの設定」ボタンを選択。
「ステップ 6: セキュリティグループの設定」が表示。
初期はSSHしか許可されていないので、必要に応じて、HTTP、HTTPS、SMTPなどを追加。
Railsなんかは、3000番ポートを空けるておくと良いかも。
SMTPは、送信元の許可は「マイIP」にすること。まあ、本番はそれぞれで。
「確認と作成」ボタンを押す。
「ステップ 7: インスタンス作成の確認」が表示され、作成されるインスタンス(サーバ)の
内容が表示されるので、確認だけはしておく。
「作成」ボタンを押す。
「SSH鍵認証」用の鍵の確認ダイアログが表示され、
・新規に作成する
・既存のを使う
を選択する。
選択すると、インスタンスの作成と起動が行われる。(時間が少しかかる)
9.sshでログイン
鍵のファイルのアクセス権限を400にする。(MacやLinuxの場合、Windowsは読込専用)
ssh -i "鍵のファイル名" ec2-user@<インスタンスのパブリックIP>
sudoコマンドは使用可能。
sudo su - とすれば、rootユーザで操作も可能。
10.あとは普通のサーバセットアップ作業
あとは普通に、
・yum update
・yum install php.....
などでインストール。
Ruby on Railsの場合は、rbenvをgitから持って来てビルドしないといけないけどね。
通常であれば、yumのインストールでほとんど大丈夫。
11.おかねをたいせつに
VPSやレンタルサーバとの違いは、完全に従量課金制なので、使った分(動かしている分)だけ
お金がかかってしまう。
なので、使わない時はサーバを「停止」したり、
インスタンス(サーバ)の作成自体をプログラミング化(chefなど)してしまって、
使う度にインスタンスを作って消す、なんてことをすると良いかも。
まあ、chef自体が結構時間かかるので、あまりおすすめしないので、
自分は使わないときは「停止」派です。
AWS自体、レンタルサーバ屋さんじゃなくて、総合的なiDCソリューション屋さんなので、
他にも数え切れないくらいのサービスがあります。
自分にあったサービスを探すだけでも大変ですが、見つけられると新たな武器を手に入れられるかも。
詳しいことは、他のかたの投稿を参考にしてください。
明らかな間違いは修正しますので、コメントください。