2017年10月29日日曜日

オンデマンドインスタンスとリザーブドインスタンスの違い

オンデマンドインスタンスと比べて、リザーブドインスタンスは主に以下2つのメリットがあります。
  • コスト - オンデマンドインスタンスの料金と比べて大幅な割引をうけられます(最大75%)。
  • 保証される - 利用可能なリージョンで、いつでも利用可能な状態を保てることを保証されています。
上記の2つのメリット、それぞれを見ていきましょう。
保証される
名前の通り、リージョンさえ利用可能であれば、インスタンスは可能である状態を保証されている意味です。
通常時に特にメリットを感じないかもしれませんが、主に災害時に、もし隣のリージョンは何かの理由でダウンになってしまったら、同然こっちのリージョンの需要が高まってきます。オンデマンドなら、混雑時になかなか立ち上がれない可能性がありますが、もしリザーブドなら、稼働しつづけることを保証されているので混雑時でも利用可能です。
ディズニーリゾートの混雑時利用可能な「スポンサーパスポート」と似てますね。
コスト
コストの詳細、アマゾンのオフィシャルサイトの次のリンクでご確認できます。→AWS EC2リザーブドインスタンスの料金詳細
リザーブドインスタンスの料金プラン、以下の図で示した通りに主に以下の3種類があります。

① スタンダード 1 年間 
契約期間は1年間のプランになります。
② スタンダード 3 年間 
契約期間は3年間のプランになります。
③ コンバーチブル 3 年間 
スタンダートプラントと比べて割引率が多少劣ろうが、契約後アベイラビリティーゾーン、インスタンスサイズ、およびネットワークタイプの変更が可能です。

また、支払いタイプも以下の三つが用意されています。
① 全額前払
名前の通り、契約時に全額支払う必要です。
② 一部前払い 
契約時に一部料金を支払って、残りの残金は契約期間内で毎月ゆっくり払っていくプランです。
③ 前払いなし 
名前の通り、前いはいっさい不要で、契約期間終了までの間、毎月支払うプランです。

2017年10月24日火曜日

Composer updateで「PHP Fatal error: Allowed memory size of xxxx bytes exhausted」の対処法

方法は以下の2つがあります。
  1. もしcomposer.lockも一緒にコミットされていたら、vendorを”まるごと”再度「composer install」で解消できます。具体的な操作手順は以下の通りです。

    # vendorをバックアップをとっておくと安心
    mv vendor vendor_bk
    composer install
    composer info 或いは composer show でインストール済みの全パッケージの情報を確認

    ※ ここ一つ大きな制限事項があります。他の誰か既にcomposer update済み、かつcomposer.lockが最新の状態であることが前提としています。
  2. 一時的にメモリのサイズを指定してアップデータを実行します。具体的な操作手順は次の通りです。

    # まずcomposerコマンドのパスを表示
    which composer
    # 以下のような結果が出ると思います。
    /usr/local/bin/composer
    # メモリサイズを設定してアップデータを実行
    php -d memory_limit=-1 /usr/local/bin/composer --no-dev update バッケージ名

2017年10月17日火曜日

Jqueryでiframe内部の要素を選択する方法

jqueryの他の要素の取得と違って、iframeの中の要素を取得するには、まずiframeのcontentsを取得しないといけません。

例:名前は「frame-test」のiframeの中のcss「item-menue」 を選択するには、

$('iframe[name=frame-test]').contents().find('.item-menue');

2017年10月12日木曜日

php stdClassのインスタンスを生成すると同時に属性を設定する方法

例:以下2つの動作を一つにするには、

$obj = new \stdClass();
$obj->attr = 'testKey';

以下の書き方で一つに纏められます。↓

$obj = (object) array(
    'attr'=>'testKey'
);