SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

流行りのクラウドサービスを操ってみよう!Amazon EC2/S3環境構築のすべて

Amazon EC2を動かしてみよう
~Amazon EC2/S3環境構築のすべて~

第3回

Amazon EC2を実際に利用する ~その2

インスタンス起動に必要となる設定

 「Amazon EC2」上で起動したインスタンス(仮想サーバ)へのアクセスは基本的にSSH経由でのアクセスとなるので、ログインに必要となるキーを生成し、Amazon側に登録する必要があります。

 キーの生成とAmazon側への登録には、次のコマンドを実行します。

$ ec2-add-keypair fedora_test | sed -e "1d" > fedora_test.id
$ chmod 400 fedora_test.id

 上記コマンド例では、仮にキーの名前を「fedora_test」としました。この部分は任意の文字列で構いません。

 2行目のコマンドで、生成されたキー(上記例ではfedora_test.id)のパーミッションを自分のみがアクセスできるよう設定しています。

インスタンスの起動

 ここまでの設定が完了した時点で、いよいよ「Amazon EC2」上でインスタンスを起動する準備できたことになります。

 では、次のコマンドを実行してインスタンスを起動させてみましょう。なお、このタイミングから実際に課金が開始されます。

$ ec2-run-instances ami-2b5fba42 -k fedora_test
RESERVATION     r-8e0eaae7      xxxxxxxxxxxx    default
INSTANCE        i-2222944b      ami-2b5fba42                    pending fedora_test     0               m1.small        2008-11-15T17:56:25+0000        us-east-1b      aki-a71cf9ce    ari-a51cf9cc

 ec2-run-instancesは、EC2のインスタンスを起動するコマンドで、必須となる引数として「AMIのID」と「ログイン時に利用するキー」を指定します。この例では、先ほど準備した「ami-2b5fba42」と「fedora_test」となります。

 上記コマンド例では、その他の任意のオプションを何もつけていないため、最も小規模なsmallインスタンス(m1.small)で起動しています。より大きいリソースを持つインスタンスで起動したい場合は--instance-typeオプションを使いましょう。

 --instance-typeオプションで指定できるオプションは、現時点(2008/11)でm1.smallm1.largem1.xlargec1.mediumc1.xlargeがあります。Instance Typeの詳細は、下記のリンク先を参照ください。

 上記リンク先ページ内の「Instance Type name」の部分が指定できるオプション名となります(図5)。

図5
図5

 数十秒程待つとインスタンスが起動します。インスタンスの状態を見るには、次のコマンドを実行します。

$ ec2-describe-instances
RESERVATION     r-8e0eaae7      xxxxxxxxxxxx    default
INSTANCE        i-2222944b      ami-2b5fba42    ec2-75-101-200-115.compute-1.amazonaws.com      domU-12-31-39-02-62-31.compute-1.internal       running fedora_test     0               m1.small        2008-11-15T17:56:25+0000        us-east-1b      aki-a71cf9ce    ari-a51cf9cc

 「running」と表示されていれば、無事起動していることを意味します。

 上記の例では、起動したインスタンスに「ec2-75-101-200-115.compute-1.amazonaws.com」というドメインネームが付与されています。アクセスする際に必要となるのでメモしておきましょう。

アクセス可能ポートの設定

 初期状態では、起動しているすべてのインスタンスへのアクセスが不可能となっているので、ポートの設定を行いアクセス可能にする必要があります。

 起動時に何も指定していない場合、インスタンスは「default」グループとなっています。下記コマンドで、defaultグループに所属するインスタンスに対して、SSH(22番ポート)のアクセスを許可する設定を行います。また、よく使うであろうHTTP(80番ポート)のアクセスを許可する設定も一緒に行っています。

$ ec2-authorize default -p 22
GROUP           default
PERMISSION      default  ALLOWS  tcp     22      22      FROM    CIDR   0.0.0.0/0

$ ec2-authorize default -p 80
GROUP           default
PERMISSION      default  ALLOWS  tcp     80      80      FROM    CIDR   0.0.0.0/0

インスタンスへアクセス

 先ほど「インスタンス起動に必要となる設定」の項にて作成した、「ログイン時に必要となるキー」を使い、SSHにてアクセスします。接続先は、事前にメモしておいたドメインネームを利用します。

$ ssh -i fedora_test.id root@ec2-75-101-200-115.compute-1.amazonaws.com

         __|  __|_  )  Fedora 8
         _|  (     /    32-bit
        ___|\___|___|

 Welcome to an EC2 Public Image
                       :-)
    Base

 --[ see /etc/ec2/release-notes ]--

[root@domU-12-31-39-02-62-31 ~]#

 SSHコマンドを使用して上記例のようにログインできたら成功です。ここからは、普通のサーバと同じように扱えます。1つのサーバのroot権限を所有しているのと同じため、好きなソフトウェアをインストールしたり、自分の作ったサービスを公開したりと、さまざまな利用方法があります。

次のページ
EC2のインスタンスを使う上での注意点

この記事は参考になりましたか?

流行りのクラウドサービスを操ってみよう!Amazon EC2/S3環境構築のすべて連載記事一覧

もっと読む

この記事の著者

並河 祐貴(ナミカワ ユウキ)

TIS株式会社 / 社内ベンチャーカンパニー「SonicGarden」所属。オブジェクト指向開発、開発環境・ツール整備に従事した後、近年はRuby on Railsを中心としたオープンソース系ミドルウエアの検証 / 導入や、X...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/3325 2008/12/09 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー