AWS
lifehacks
AdventCalendar2015
More than 3 years have passed since last update.

年末の疲れで昨晩は夕食を食べずに寝落ちして、そのまま朝を迎えてしまったため、

投稿が遅れてすみません。

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ソリューション屋さんなので、

他にも数え切れないくらいのサービスがあります。

自分にあったサービスを探すだけでも大変ですが、見つけられると新たな武器を手に入れられるかも。

詳しいことは、他のかたの投稿を参考にしてください。

明らかな間違いは修正しますので、コメントください。