supermannerの落書き

基礎からおさらい。おさらいが何よりも大事なのです。ふわっとした知識、撲滅!

AWS??なにそれ!その2

今日理解するべき要点

今日の目標は、セキュリティグループと、IP周りを理解することです。

例のごとく変な絵を交えながら整理していきたいと思います。

セキュリティグループ

いわゆるファイヤーウォールです。

ポート番号やIPアドレスで入れたり入れなかったりします。

有名なポート一覧もググったら一発ですね...

ポート番号 - Wikipedia

これらはEC2インスタンスの生成時に設定するもので、後から変えられません。

小さい時に「知らないおじちゃんをおうちに入れちゃダメ!」っていわれてないと、あとからなかなか対応できない、と覚えましょう。

変えたければSecurity Groupsというタブから脳みその情報をそのまま書き換えてください。

IPアドレスの割り当てあれこれ

前回ちらっと書きましたが、EC2のインスタンスって、再起動するとpublic IP変わっちゃうんですよね。そこで、固定IP割り当てのため「Elastic IP Adress」の出番というわけです。

ただここに大きな罠が2個あって...

  • Elastic IPアドレスだけ取得してEC2紐付けてない
  • 紐付けてるけどEC2は停止している

のとき、カネがかかります

おまけ

今回結構まとめようと思ってたことがあっさりしていたので、私がちょっと戸惑ったものをご紹介...

自分で張り切ってAWSをかりたものの、自分用のアカウントでのログイン場所がわからない...(自分の方はルートしか設定していません)

f:id:mannerbookmarking:20150420164901p:plain

図の、これ、っていうところから無事メールアドレスとパスワードでログインするいつもの場所にたどり着きました。

 

ところが今度は逆に、このIAMコンソールに戻れなくなった....

docs.aws.amazon.com

ちゃんと、documantationに戻り方書いてありました。

もちろん、アカウントIDはちゃんとメモってありましたとさ。

 

基本的なところはわかってきたので、次はなにか動かした忘備録にしたいと思います。

 

初めてアウトプットしてみたよ!

Qiitaに初めて投稿しました

最初はこちらのブログに記述しようかなと思ったのですが、もっとスマートに書ける方法とか知りたかったので、もしあったら意見がいただけるかな?と思いまして。

投稿はこちらです。

qiita.com

Qiitaとブログの使い分けについて

まだまだアウトプットは初心者なこともあり、本当にメモてきな感じでQiitaをつかってしまっていいのかなー、と悩んでいた時にこちらの記事を参考にさせていただきました。

kadoppe.com

この方は事実はQiita、意見はブログという風に分けるのが良いのではと述べられています。

やっぱり低スペックからするとQiitaは少々ハードルが高いので、前回みたいなまとめ、知識の整理をするのはブログ(変な図をQiitaに晒すのもおこがましいというのもありw)FBがほしいだとかコードベースで行ったものはQiita、ブログでもお知らせという風にして自分の頭のなかをアウトプットしていけたらなと思います。

AWS??なにそれ!その1

そもそも、前の会社がインフラが独立した部署におりまして...何も知らなくてもポイっと環境が与えられるいたでりつくせり、なところだったのであります。

この度、ちょこっとお手伝いすることになったお仕事で改めてAWSを使わなくてはならなくなったので、勉強したことを自分なりにまとめて整理します。

 

AWSとは?

lab.sonicmoov.com

いいたいことはすべて誰かが綺麗にまとめてくれているとはよく言ったものです。

しかしながら私は自分なりに具体的な記号として落としておかないと覚えられないので、私が勉強した時に書いた図を雑なりに発表してみたいと思います。

今回はその1回めで、基本的にAWSのEC2がどういう感じなのかをめもった記録です。

怖くないEC2

 

f:id:mannerbookmarking:20150415170715p:plain

手持ちのお絵かきソフトがSkitchしかなかったのでSkitchで書きました\(^o^)/

EC2インスタンスくんです。

彼は彼の鋳型であるマシンイメージ(AMI)を元に作成されます。

コレが彼のスペックを決めるので、自由に選んでください。いいやつはお金がかかります。金とスペックが比例する、残酷ですが単純な世界に彼は生きています。

彼は主に4つの命令を聞くことができて、以下がその4つです。

  1. Start(起動)
  2. Stop(停止)
  3. Reboot(再起動)
  4. Terminate(終了)

EC2くんは名前であるIPもちゃんと割り当てられていて

  • Public(Grobal)IP
  • Elastic IP
  • Private IP

の3つがあります。ちなみにPrivate IPはリージョンをまたいでも通信できません。

EC2くんは色々とものをノートに書き記します。これがストレージであるEBSです。

EBSとの通信を高速化するオプションもあるのですが、コレもお金を払わなければダメです。

EBSはスナップショットといってその時のその状態を保存しとくことができます。巻き戻したり、複製したりするのに使えそうです。GBごとの従量課金だそうです。課金...懐かしい響きですね。

 

もう一つ、EC2くん自身が覚えておくこともできます。これがローカルインスタンスストアです(小さくてすみません)ただ、この部分は揮発性があってEC2くんが停止すると保存データ全て吹き飛んでしまいます。キャッシュ向き。

 

EC2くんのもろもろのスペックは後から変更可能なのですが、生きてるときにスペックは変えられないので、一旦停止しなければなりません。

 

EC2の出で立ちはこんなかんじでキャラに見立てて覚えました。

次はネットワーク周りについても簡単に図にして整理しようと思います。

キャッシュってなんなの?美味しいの?

ものを知らなすぎてがけっぷちエンジニア

なので、何を知らなかったのかを残していこうと思います。

今日はキャッシュについて調べたよ。

いろんなキャッシュがいた話

当方、LAMP環境で開発をしていたのです。其の中でもよく耳にするキャッシュと言うワード...とりわけよく聞いてて、名前だけ知ってるっていうのだけでも4個くらいいました。

  1. APC
  2. memcache
  3. ブラウザキャッシュ
  4. アプリケーションキャッシュ

 一個一個、調べていこうと思います。

PHPアクセラレータ

今日はAPCについて調べようと思います。

APCとは...???公式がものすごく丁寧に解説してくれてました。

PHP: 導入 - Manual

PHPアクセラレータのひとつとありますね。APC以外にもあるみたいです。

コンパイル後の中間コードをキャッシュしておくもの、この表現すごくわかりやすいですね。

ちなみに当方は一応大学は情報系の学部を出ておりました、C言語の授業は出たことが有ります。gccコマンドでコンパイルをした記憶もあります。

ですがPHPにはそんなもんないなーと思ってたので、先日お友達に

PHPってコンパイルしてたんやな。」

っていうと

「機械は結局1と0しか読めへんねんから、全部プログラム言語はコンパイルされてるんやで。」

ってすごく恥ずかしい指摘をされたのがこちらのアカウントになります。

PHPインタプリタ方式でコンパイルされるのでゴニョゴニョっていうのはまた別の機会に調べようと思います。

あともう一つ、メモリ上のKVSとしての機能も持ってるみたいです。こっちの使い方はしたことない気がしてる...

何のために?

CPUのパワーが無い場合、毎回コンパイルしてたらふええええ(´・ω・`)状態になるので一回コンパイルしたらそれをキャッシュしておこうよ其のほうが速いんだよ(`・ω・´)ゞ

ってことらしい。

じゃあ、実際入れてみる

こちらのページを参考にしていれてみました。


APCでPHPの処理を高速化 | Webクリエイターネット

途中手順通りにしてたはずがつまずいた

sudo pecl install apc WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update downloading APC-3.1.13.tgz ... Starting to download APC-3.1.13.tgz (171,591 bytes) .....................................done: 171,591 bytes 55 source files, building running: phpize sh: phpize: コマンドが見つかりません ERROR: `phpize' failed

 

調べてたら、どうもphp-develにバージョン番号がいらなかった模様なので、そこ外してもう一度インストールを図ったら行けました。

 

その後、コンソール画面が表示されないなどのアクシデントにみまわれつつ、

結局apacheの再起動してなかったせいなのかな、試行錯誤のすえ

f:id:mannerbookmarking:20150203132752p:plain

 ちゃんとでた。

 

apcを採用するときはググって設定をカスタムしてみようと思います。