AWS の EC2 と S3 をちょっとさわった

目的はある特定の数日間だけサーバーが欲しいということだったんだけど、いろいろ流れて使わないことになった。でもまあ AWS のさわりくらいやっておこう。というメモ。

ざっくりとした理解

とりあえず公式やそれに準じるドキュメントを読めばだいたいわかる。あとはググれば導入くらいの話はわりとある。
アマゾン ウェブ サービス | クラウド プラットフォーム活用を支援する Amazon の Iaas, Paas 型クラウド (AWS 日本語)
Amazon EC2 (仮想サーバー Amazon Elastic Compute Cloud) | アマゾン ウェブ サービス(AWS 日本語)
AWSのはじめかた | アマゾン ウェブ サービス(AWS 日本語)
あとは自分のざっくりとした理解

  • 導入には amazon のアカウント、AWS 用のアカウント、決済としてクレカかそれに準ずるなにか、あとは本人確認のために電話番号が必要
    • 企業でやるならメルアドはそりゃそうだけど、決済のクレカあたりまわりは少し気をつけたほうが利用料金の請求時にどうとかあるらしい
  • EC2 が基本と考えていい。EBS はES2 のためのハードディスクのようなもので、S3 はあくまでそれとは独立したストレージ。RDS は DB だけど、細かい設定をしなかったりある程度手軽にパラメータなどを管理画面から行えるというあたりが楽らしい。
  • public DNS が AWS 環境下での接続するための名前(というか DNS)。だけど、IP や DNS は変わるようなので静的な IP をつけることができる。それが EIP。
  • EC2 において STOP は EC2 の料金がかからないけれど、EBS を保持する料金はかかる。terminate は AMI ごと終了する。警告もでる。
  • AMI は AWS で使うイメージファイルのようなもの。ディストリビューションごとにセットで配布されてたりもするし、自分で設定した AMI を保存してそれを適合することもできる

かるくためした

さわっただけ。だいたいは資料と触った感じでわかったけど、以下の記事が導入としてわかりやすかった。いろいろ忘れてた。
新規に作成した鍵でEC2インスタンスにSSH接続する - 虎塚

  • リージョンは Tokyo にした。なんとなく。EC2 は micro の一番小さいやつ。AMI は Amazon Linux AMI(64bit) を使用
  • 秘密鍵はリージョン単位らしい
  • 初期設定でのユーザーは ec2-user なので、そこから作業を開始しないといけない。root ではない。でもsudo 権限はついているので sudo su できる(なんかUbuntu っぽい)
    • 具体的には ssh ec2-user@ec2-xx-xxx-xxx-xx.ap-northeast-1.compute.amazonaws.com -i hoge.pem という感じ。
  • EIP については適当に作成してくれるアドレスを associate Address で EC2 インスタンスに紐づけてやればいい。release で開放。その IP 自体を消すのはなんかそれっぽいものがある。

あとは普通に物理マシン、仮想マシンレンタルサーバーでもVPNでも同じように ssh の鍵を配置してつなぐだけ。管理画面からも公開鍵の管理ができて、キーペアの作成もできるっぽい。コンソールに接続するのもブラウザに Java のプラグインがはいっていれば使えるっぽい(さくらのVPNでもそうだった)

S3 に関してはとりあえずファイルを置く、消す、WWW に公開するというところまでやった。触るだけなら特に難しいことはない。

まあ

触るのは簡単。あとは適切に使えるか。適切にスケールアウトさせたり止めたりとか。

蛇足

AWS を本格的に業務で使うときにどのインスタンスをどのくらいどんな構成でどんな AMI でやるほうがいいのかはわからない。でも、AWS を触るだけなら簡単だったというのは、今まで自宅サーバーしてたりさくらのVPNを使っていたということ、Linux を触る時に基礎的なユーザーの追加やパーミッションとオーナーの設定をとりあえず触れる程度に知っていたからだ。もうすこしいえば公開鍵認証というものがあって、公開鍵を ~/.ssh/authorized_keys に登録するという手順まで知っていたからだ*1

差分を吸収するとはそういうことで、それすらわからない状況がプログラミングや仕事において大量にある。そういうことを少しずつメモしてあるのを公開したい。そして Sphinx あたりにドキュメントとしてまとめて公開したい。かつての自分のために。プログラミングやエンジニアの「これくらいできて当然だよね」という水準は際限なく上がる*2。なまじそういう界隈をみているというのもある。でも、彼らの「当然」の話は、おれには全然当然じゃなかったことはものすごくたくさんある。

それを本家にパッチを送ったりパッケージを公開する人もいるだろう。YAPC や PyCon みたいな運営、あるいは勉強会をする人もいるだろう。ほんとうにすごいとおもう。自分は勉強会とかオフ会経由でこの業界にはいった。その恩恵は受けている。でも、そうじゃなくて、おれはあくまでインターネットに、 WWW に公開された場所に、そういうなにかをおいておきたい気持ちがある。このブログは基本的にただの備忘録だけど、そういう側面はわりとある。

まあ、やるかはわからない。明日には忘れてるかもしれない。

*1:まあここの名前はたしか sshd の設定で変えられたはずだけど、慣習的には変えないと思う

*2:まあ別にプログラミング/エンジニアだけじゃなくて音楽やイラストの界隈でもあるけど