6.30.2013

AWS: EC2 Settings for System Time

AWS: EC2 RHELインスタンスの時刻周りの設定

NTPの設定

ntpd が起動していなくても

/sys/devices/system/clocksource/clocksource0/current_clocksource

が 「xen」 に設定されていれば、このゲストOSはホストノードの時刻と同期されている。

つまり、初期状態で何もしなくても時刻同期は行われていると考えてよい。

タイムゾーンの設定

システムのタイムゾーンを日本時間に変えるには、/etc/localtime を書き換える必要がある。
fabric のスクリプト(かなり手抜き)で実施。

# -*- coding: utf-8 -*-
"""
Initial setup for AWS EC2.
"""

from fabric.api import local, env, cd, lcd, run, sudo, put
from fabric.decorators import runs_once, roles, task

env.use_ssh_config = True


@task
def setup():
    """Initial setup."""
    _set_timezone()


def _set_timezone():
    sudo('mv -i /etc/localtime /etc/localtime.orig')
    sudo('ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime')

fab コマンド投入

$ fab -f ./setup_aws.py -H ec2-user@<対象サーバ> setup

More Settings for AWS

AWS: その他の初期設定

  • EC2: Elastic IP Addresses
    EC2インスタンスを固定のグローバルIPアドレスに紐づけるサービス。
  • インスタンスイメージの作成
    AMI を作成したり、ディスクのスナップショットを取ったり。 
  • E3: Bucket の作成
  • CloudWatch
    利用料金が 1ドルを越えたらアラートメールを飛ばすよう設定 
  • Hapyrus の FryData (無料で Amazon Redshift の体験ができる) を試してみる
    Hapyrus FryData for Amazon Redshift (ベータ)

 

 

References

Settings for AWS Command Line Interface

AWS Command Line Interface (CLI) の設定

AWS CLI とは

コマンドラインから AWS の操作を行うための Python スクリプト。 
AWS Command Line Interface

前提パッケージ
  • Python 2.6 以上
  • easy_install または pip

 

インストール

pip でのインストール例

$ sudo pip install awscli

 

初期設定

  • アクセスキーの作成
    Management Console のアカウント -> Security Credentials からキーを作成。
    Screenshot 6 30 13 03 15
    ダウンロードしたファイル(rootkey.csv)に AWSAccessKeyId と AWSSecretKey が書かれている。

     
  • 設定ファイルを作る
    アクセスキーとリージョンの設定
    (Dropbox上にファイルを置く例)
    $ vi $DROPBOX_DIR/config/awscli.conf
    [default]
    aws_access_key_id=<AWSAccessKeyId>
    aws_secret_access_key=<AWSSecretKey>
    region=ap-northeast-1
    $ chmod 600 $DROPBOX_DIR/config/awscli.conf
  • ログインシェルで設定
    設定ファイルのパスとオートコンプリートの設定
    (zsh の場合の例) 
  • # Settings for Amazon Web Services CLI
    if [ -f /usr/local/bin/aws ]; then
      export AWS_CONFIG_FILE=$DROPBOX_DIR/config/awscli.conf
      source /usr/local/bin/aws_zsh_completer.sh
    fi
    

 

実行例

EC2インスタンス一覧の表示

$ aws help
$ aws ec2 help
$ aws ec2 describe-instances

結果が JSON フォーマットで返ってくる。
コマンドラインで JSON をパースできるように jq を入れると便利かも。

 

References

 

 

6.29.2013

Getting Started with Amazon Web Services

Amazon Web Services (AWS) を始める

Amazon Redshift が俄に盛り上がっているようで、調べてみると 2013/7/1 までAWSクラウド無料体験キャンペーン
なるものが開催中とのこと。

Screenshot 6 29 13 13 04

虹の配色が少し気持ち悪いが、これを機にアカウントを作ってみたいと思う。

AWS アカウント作成

  • AWSアカウント作成ページを開く
    https://portal.aws.amazon.com/gp/aws/developer/registration/index.html 
  • Amazon.com のIDでログイン (なければここで作成?)
  • 氏名、住所、電話番号を入力し規約同意のチェックを付ける
  • クレジットカードの番号、名義、有効期限を入力
  • 電話による身元確認
    • 電話番号を指定すると画面に4桁のPIN番号が表示
    • 直後、電話がかかってくるので、PIN番号を電話で入力し、認証完了
  • サポートプランの選択 -> 今回はBasic を選択
    • Basic (Free)
    • Developer ($49/month)
    • Business (Starting at $100/month) - Recommended
    • Enterprise (Starting at $15,000/month)
  • アカウント作成完了。Thank you メールが飛んでくる。
AWS Management Console が使えるようになった。

Screenshot 6 29 13 13 30 2

忘れずに、キャンペーンの応募もしておく。

Screenshot 6 29 13 13 33 3

 

Amazon EC2 インスタンス作成

説明スライド(http://www.slideshare.net/kentamagawa/3amazon-ec2)の手順に沿って実施。

  • EC2 の管理画面から Tokyo リージョンを選択し、Launch Instance ボタンを押下
  • ウィザードを選択 -> 今回は Classic Wizard
  • マシンイメージ(AMI)の選択 -> 今回は Red Hat Enterprise Linux 6.4 64bit (星印が無料枠で使用可能)
  • インスタンス詳細
    • Number of instances: 1
    • Instance Type: T1 micro (CPU: 2ECU以下 1core, メモリ: 613MB)
    • Launch into: Subnet: No Preference (default subnet in any AZ)
    • Kernel ID, RAM Disk ID: 暫くLoading表示だった後、空のリストになってしまった
    • Monitoring: とりあえずチェックなし
    • User Data: as text
    • Termination Protection: とりあえず無効のまま
    • Shutdown Behaviour: Stop
    • IAM Role: None
    • Tenancy: Default
    • Storage Device Configuration: とりあえずデフォルトのまま
    • タグ: Name だけ指定
  • キーペアの作成
    • 名前を入れてボタンを押せば、pem ファイルをダウンロードできる
  • ファイアウォールの設定
    • Security Group Name: quick-start-1
    • Inbound Rules
      • 22 (SSH) 0.0.0.0/0
      • 80 (HTTP) 0.0.0.0/0 <- 追加
  • 最後に確認画面が出て、いざLaunch!
Public DNS に対して、ssh で ec2-user でログインできた。
このユーザには、あらかじめ sudo 権限も付いている。 

pem ファイルの設定など

$ mv -i ~/Download/foo.pem ~/.ssh/
$ cd ~/.ssh
$ chmod 400 ./foo.pem
$ ssh -i ./foo.pem ec2-user@<Public DNS=インスタンスに付与されているグローバルアドレス>

 

References

 

 

6.23.2013

Diving Into Kana-Typing

かな入力の練習

仕事の半分以上(あるいはそれ以上)の時間を日本語入力に費やしているので、効率化のためにも
かな入力を覚えたいと思い立った。

  • Mac で英語配列キーボードを使った場合のかな入力レイアウト
+----+----+----+----+----+----+----+----+----+----+----+----+----+----------+
|〜 |    |    |ぁ  |ぅ  |ぇ  |ぉ  |ゃ  |ゅ  |ょ  |を  |    |「  |Back Space|
|`  |ぬ  |ふ  |あ  |う  |え  |お  |や  |ゆ  |よ  |わ  |ほ  |゜  |          |
+-------+----+----+----+----+----+----+----+----+----+----+----+----+-------+
|Tab    |    |    |ぃ  |    |    |    |    |    |    |    |」  |ー  |       |
|       |た  |て  |い  |す  |か  |ん  |な  |に  |ら  |せ  |゛  |む  |へ     |
+---------+----+----+----+----+----+----+----+----+----+----+----+----------+
|Caps Lock|    |    |    |    |    |    |    |    |    |    |ろ  |Enter     |
|         |ち  |と  |し  |は  |き  |く  |ま  |の  |り  |れ  |け  |          |
+------------+----+----+----+----+----+----+----+----+----+----+------------+
|Shift       |っ  |    |    |    |    |    |    |、  |。  |・  |Shift       |
|            |つ  |さ  |そ  |ひ  |こ  |み  |も  |ね  |る  |め  |            |
+------------+----+----+----+----+----+----+----+----+----+----+------------+

行ごと(あ行、か行、etc)の位置関係を覚えていくのが良さそうだ。

 

  • ローマ字入力 -> かな入力の対応
あいうえお    : a i u e o      -> 3 e 4 5 6
    ぁぃぅぇぉ: la li lu le lo -> S-3 S-e S-4 S-5 S-6
かきくけこ    : ka ki ku ke ko -> t g h ' b
    がぎぐげご: ga gi gu ge go -> t[ g[ h[ '[ b[
さしすせそ    : sa si su se so -> x d r p c
    ざじずぜぞ: za ji zu ze zo -> x[ d[ r[ p[ c[
たちつてと    : ta ti tu te to -> q a z w s
    だぢづでど: da di du de do -> q[ a[ z[ w[ s[
なにぬねの    : na ni nu ne no -> u i 1 , k
はひふへほ    : ha hi hu he ho -> f v 2 \ -
    ばびぶべぼ: ba bi bu be bo -> f[ v[ 2[ \[ -[
    ぱぴぷぺぽ: pa pi pu pe po -> f= v= 2= \= -=
まみむめも    : ma mi mu me mo -> j n ] / m
や ゆ よ    : ya yu yo       -> 7 8 9
    ゃ ゅ ょ: lya lyu lyo    -> S-7 S-8 S-9
らりるれろ    : ra ri ru re ro -> o l . ; S-'
わ を ん ー : wa wo nn -     -> 0 S-0 y S-]

 

  • トレーニングはこのサイトが良さそう

インターネットでタイピング練習 イータイピング | e-typing かなタイピング

 

この投稿もかな入力で書いたので、相当の時間を費やしてしまった。

6.08.2013

How to Use Cocoa Emacs in Terminal

最新の Cocoa Emacs をターミナル上で動かす方法

Emacs で reST を書きたいと思って rst.el を入れてみたけどこのようなエラーが出てしまう。

Symbol's function definition is void: characterp

Emacs のバージョンが古いのが原因らしいが、Mac には最新バージョンが入っているはず。
調べてみるとどうやらターミナルからはGUIとは別のバージョンの Emacs が呼び出されているようだった。

$ emacs --version
GNU Emacs 22.1.1
Copyright (C) 2007 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.

 ~/.zshrc (他のシェルの場合は適宜読み替え)に以下のエイリアス設定を追加して、無事動くようになった。

alias emacs='/Applications/Emacs.app/Contents/MacOS/Emacs -nw'

 

References

rst.el

never meant: ターミナルで使うemacsをアップグレートするメモ