AWSのITコストを削減 Simpline

選ばれ続けること

 

エンジニアブログ

ホーム - エンジニアブログ - 2014年7月

swap

2014.07.29

スワップ領域の取り扱いがよくわからなくなってきた。以前は物理メモリの1〜2倍の領域が必要と言われていたようだが、最近の物理メモリを十分に積んだ環境では一体どの程度用意するのが適正なのか?

(redhatカスタマーポータルより)




























システム内の RAM の容量 推奨されるスワップ領域 ハイバネーションを可能にする場合に推奨されるスワップ領域
2GB 以下の RAM RAM 容量の 2 倍 RAM 容量の 3 倍
2GB から 8GB の RAM RAM 容量と同じ RAM 容量の 2 倍
8GB から 64GB の RAM RAM 容量の 0.5 倍 RAM 容量の 1.5 倍
64GB 以上の RAM 4GB のスワップ領域 追加の領域は不要

サーバでハイバネーションなんて使わないので、かなり少なくても良さそうな。OSによってはdump領域としても利用されると前は教えられたけど。Linuxではざっくりと物理メモリが4GB超えたぐらいからは物理メモリよりも少ない容量を確保するで問題無いと理解した。
swap割り当てルール、やっぱりRAMの2倍?

EC2環境では?と確認していたところ、「公式Linux AMIの初期構成にはswapパーティションが無い」との記事を発見(正確にはm1.small、c1.mediumを除く)。恥ずかしながら全く確認していなかった。。。
Amazon EC2(Linux)のswap領域ベストプラクティス

microインスタンスはEphemeralディスクが使えないけど、大きなインスタンスのProduction環境設計時には考慮が必要と覚えておく。

cloud-init

2014.07.27

早いところchefやpuppetといった自動化ツールを使いこなせるようになりたいところだけど、まずはAWS標準で実装できるものが他に無いものか確認していたところ、ようやくcloud-initについて概要が理解できた。

(Amazon EC2ユーザガイドより)

cloud-init パッケージは、Canonical によって構築されたオープンソースアプリケーションであり、Amazon EC2 などのクラウドコンピューティング環境で Linux イメージをブートストラップするときに使用されます。Amazon Linux にはカスタマイズされたバージョンの cloud-init が含まれています。これにより、起動時のインスタンスに対するアクションを指定することができます。インスタンスの起動時に、ユーザーデータフィールドを使用して必要なアクションを cloud-init に渡すことができます。つまり、さまざまなユースケースに対して共通の AMI を使用し、起動時にその AMI を動的に設定できます。また、Amazon Linux は cloud-init を使用して、ec2-user アカウントの初期設定を実行します。
ひとまずAmazon LinuxかUbuntuのAMIにデフォルトで導入されているらしい。まずはAmazon Linuxで挙動を確認してみる。
# ls -la /etc/rc3.d/*cloud*
lrwxrwxrwx 1 root root 26 7月 26 15:51 /etc/rc3.d/S50cloud-init-local -> ../init.d/cloud-init-local
lrwxrwxrwx 1 root root 20 7月 26 15:51 /etc/rc3.d/S51cloud-init -> ../init.d/cloud-init
lrwxrwxrwx 1 root root 22 7月 26 15:51 /etc/rc3.d/S52cloud-config -> ../init.d/cloud-config
lrwxrwxrwx 1 root root 21 6月 11 16:51 /etc/rc3.d/S98cloud-final -> ../init.d/cloud-final

「#cloud-config」以外にも「#cloud-boothook」があるらしく、boothook指定しておけばネットワーク以外の各種サービスが起動する前(上記S50のタイミング)で動作させることもできるらしい。ひとまずcloud-configで初期設定すべき推奨を早めに決めておきたい。

このあたりのページに詳しく書いてありました。

Amazon EC2(Linux)システム管理で知らないとハマる5つの環境設定

CDP:Bootstrapパターンでcloud-initとcloud-boothookの活用!

CloudInit を使って Amazon EC2 のホスト名を自動的に設定する

 

EBSにSSDが追加されていたので情報収集

2014.07.25

EBSからSSDが選択できるようになっていたので調べてみた。

EBS作成時に選択可能なタイプは以下の通り。

  • General Purpose (SSD) = gp2

  • Provisioned IOPS(SSD) = io1

  • Magnetic = standard


一覧表示するとこんな感じ。

ebs

 

ただし、gp2はI/O Creditを使い果たすとIOPS激減との情報が。

SSDのEBSに変更したのですが突然IOPSが激減しました

 

この仕様についてはこのあたりに詳しい説明がありました。

EC2に全く新しいSSD-Backed EBSがきたぞ!

Amazon EBSのGeneral Purpose(SSD)のトークンバケットの仕様について

 

ディスク性能が安定しないっていうのは使いづらい気がしてしまいます。

始めてみる

2014.07.25

下記の記事に触発されたこともあり、技術ブログを始めてみよう。

とても苦手な継続することから。

優秀なエンジニアになりたければブログを書け!