Help us understand the problem. What is going on with this article?

AWS事始め

More than 5 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ソリューション屋さんなので、
他にも数え切れないくらいのサービスがあります。
自分にあったサービスを探すだけでも大変ですが、見つけられると新たな武器を手に入れられるかも。

詳しいことは、他のかたの投稿を参考にしてください。
明らかな間違いは修正しますので、コメントください。

mesaka
元フリーランス的なLAMPの受託開発をメインに仕事をしていた個人事業主(法人化済み)のエンジニア。PHPが好き。Javaも出来る。AWSとかラズパイとか、新しモノ好き。でも、最近自分の会社を辞めて、正社員として就職しました。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away