何でも屋エンジニアのブログ

ソフトウェア関連技術、コミュニティ、日々の雑貨

AWS体験ハンズオン ~セキュア&スケーラブルウェブサービス構築~に参加してきました。

RDSの導入を検討していたので、AWS体験ハンズオンに参加してきました。

5月19日 AWS体験ハンズオン ~セキュア&スケーラブルウェブサービス構築~(東京都)

  1. ハンズオンの流れ
    導入: VPC・サブネット・ルートテーブル・IAMなどの説明をして頂きました。
    ハンズオン: サーバ1台構成から立ち上げ、web + DB の2台構成、LB + web×2 +DB の3台構成、最後にLB + web×2 +DB×2のDBサーバ冗長化構成を作成するという流れでした。最後のDB冗長化構成は、時間が余った人のオプションという扱いでした。 LBにはAWSのサービスであるロードバランサーを使用し、DBにはRDSをMySQLで使用しています。

  2. RDSについて
    RDSの導入のインセンティブが主に冗長化構成だったので、それに関して書きます。RDSは、マルチAZ配置のon/offの切り替えで、Master/Slave構築を行ってくれます(ホットスタンバイ)。セミナーでお聞きした特徴は以下の通りです。

    • Onlineで設定の変更ができる
    • マルチAZ配置をon にするだけで、masterとは別のAZにRDSインスタンスを起動し、レプリケーションを始めてくれる(slave起動時にデータの同期を行いmasterのI/O負荷が上がるので、マルチAZ配置の設定を変更する際には夜などに行うことを推奨しているそうです)
    • masterが落ちた場合は1~3分程で自動フェイルオーバーを完了する
    • パッチ当ても自動でしてくれる
    • パッチを当てる時間も指定できる毎週土曜の午前何時などなど
  3. 感想
    弊社のようなスタートアップではまだインフラ専任のエンジニアがいないため、Act/SbyのDBサーバの運用構築作業や、障害時にフェイルオーバーし原因を特定して切り戻す作業など、これらの作業を滞りなく行うのは厳しいと言わざるを得ないので、RDSを導入するメリットがかなり高いです。ハンズオンで分かりましたが、RDSのインスタンスの作成もEC2インスタンスの要領で簡単に出来ました。

  4. 疑問・課題
    フェールオーバーした後、落ちた方のサーバの復旧はどうするのか聞き忘れました。調べないと。

  5. 最後に
    無料にも関わらず非常に分かりやすいハンズオンでした。スタッフのみなさん本当にありがとうございました。

シェル変数の末尾の文字を削除する

シェル変数の末尾の文字を削除する

シェルスクリプトを書く際、変数の末尾についた余分な記号を取りたいとき、以下のように行っていた(以下、"bananapencilbook"という文字列から"book"を削除する)。OSはCentOS、シェルはbashです。

$ echo ${testvar}
bananapencilbook

$ echo ${testvar} | sed -e 's/book$//g'
bananapencil

上の方法は末尾の文字列以外にも適用できるので楽なのだが、他に何かないか探していたところ、 同じことが以下のようにできるらしい。

$ echo ${testvar%book}
bananapencil

%以下の文字列に後方一致するものを削除するという機能なのだが、他にも便利な記法があるようで、 以下にまとまっている。

qiita.com

あるものは使いましょう。とりあえずsedで何とかしちゃうのダメですね。