ラベル EC2 の投稿を表示しています。 すべての投稿を表示
ラベル EC2 の投稿を表示しています。 すべての投稿を表示

2014年10月26日日曜日

EC2のInstance Store ボリュームをSWAP領域として利用

EC2には無料で利用できるInstans Store ボリュームを備えているインスタンスタイプがあります。
ただ、このInstans Store ボリュームはEC2をStop/Terminateすると消えてしまうので、データ保存領域としては利用できません。
せっかく無料で利用できるのでSWAP領域として活用することを考えその手順をまとめてみました。
※今回利用したインスタンスタイプ(m3.medium)には4GBのInstans Storeが付随します。

OS: amazon-linux-ami/2014.09 (64-bit)


■Instans Store ボリューム追加
Instans Store ボリュームはデフォルトでは追加されないのでマネージメントコンソールにてEC2作成時に指定します。

■SWAP領域追加前
[ec2-user@alnx-web01 ~]$ free -m
             total       used       free     shared    buffers     cached
Mem:          3768        134       3633          0          7         60
-/+ buffers/cache:         65       3702
Swap:            0          0          0
[ec2-user@alnx-web01 ~]$


■AmazonLinuxのデフォルト設定を修正
## デフォルト設定確認
[ec2-user@alnx-web01 ~]$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  15G  0 disk
└─xvda1 202:1    0  15G  0 part /
xvdb    202:16   0   4G  0 disk /media/ephemeral0
[ec2-user@alnx-web01 ~]$ cat /etc/fstab
#
LABEL=/     /           ext4    defaults,noatime  1   1
tmpfs       /dev/shm    tmpfs   defaults        0   0
devpts      /dev/pts    devpts  gid=5,mode=620  0   0
sysfs       /sys        sysfs   defaults        0   0
proc        /proc       proc    defaults        0   0
/dev/sdb        /media/ephemeral0       auto    defaults,nofail,comment=cloudconfig     0       2
[ec2-user@alnx-web01 ~]$
/dev/sdb が Instans Store ボリュームのデバイスです。/dev/xvdb のシンボリックリンクです。

## マウント解除
[ec2-user@alnx-web01 ~]$ sudo vi /etc/fstab
[ec2-user@alnx-web01 ~]$ tail -1 /etc/fstab
#/dev/sdb       /media/ephemeral0       auto    defaults,nofail,comment=cloudconfig     0       2
[ec2-user@alnx-web01 ~]$ sudo umount /media/ephemeral0
[ec2-user@alnx-web01 ~]$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  15G  0 disk
└─xvda1 202:1    0  15G  0 part /
xvdb    202:16   0   4G  0 disk
[ec2-user@alnx-web01 ~]$
lsblkコマンドで約4GBの Instans Store ボリュームの存在を確認できます。


■SWAP領域作成&有効化
mkswapコマンドでSWAP領域を作成し、swaponコマンドで有効化します。
[ec2-user@alnx-web01 ~]$ ll /dev/sdb
lrwxrwxrwx 1 root root 4 Oct  8 13:40 /dev/sdb -> xvdb
[ec2-user@alnx-web01 ~]$ sudo mkswap /dev/sdb
mkswap: /dev/sdb: warning: wiping old ext3 signature.
Setting up swapspace version 1, size = 4188668 KiB
no label, UUID=8bd2611b-a850-4186-bdf8-b1769ff92a17
[ec2-user@alnx-web01 ~]$ sudo swapon /dev/sdb
[ec2-user@alnx-web01 ~]$

## 確認
[ec2-user@alnx-web01 ~]$ free -m
             total       used       free     shared    buffers     cached
Mem:          3768        139       3628          0          7         62
-/+ buffers/cache:         69       3698
Swap:         4090          0       4090
[ec2-user@alnx-web01 ~]$
約4GBのSWAP領域が追加されました。


■OS起動時にSWAP自動有効化
[ec2-user@alnx-web01 ~]$ sudo vi /etc/fstab
[ec2-user@alnx-web01 ~]$ tail -1 /etc/fstab
/dev/sdb    swap        swap    defaults        0   0
[ec2-user@alnx-web01 ~]$ sudo reboot

## 再起動後に確認
[ec2-user@alnx-web01 ~]$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  15G  0 disk
└─xvda1 202:1    0  15G  0 part /
xvdb    202:16   0   4G  0 disk [SWAP]
[ec2-user@alnx-web01 ~]$ free -m
             total       used       free     shared    buffers     cached
Mem:          3768        137       3630          0          7         60
-/+ buffers/cache:         69       3699
Swap:         4090          0       4090
[ec2-user@alnx-web01 ~]$
今回はfstabにSWAP領域を定義したが、場合によっては/etc/rc.localにswapon情報を記載することも検討の余地ありです。


こちらの情報が何かのお役に立てましたら幸いです。サイト継続ご協力のほどお願い致します。m(_ _)m

2014年8月10日日曜日

AWS上のLinuxにリモートデスクトップ接続

xrdpを利用してAWS上のLinuxサーバにリモートデスクトップ接続する手順をまとめます。
接続元PCはWindows7を利用しました。標準のリモートデスクトップ接続クライアントで接続できるため
とても便利ですが、ベースがVNCのため微妙に描画が遅く感じられることは否めません。
今回利用したAMIのLinuxのデフォルト言語は英語ですが、日本語化する手順も記載します。

OS: RHEL 6.5 (64-bit)
xrdp: 0.5.0
リモートデスクトップ接続クライアント: 6.3.9600


■EC2準備
Quick Startにある下記のAMIからEC2を作成しました。
Red Hat Enterprise Linux 6.5 (PV) - ami-e9aee0e8 (64-bit) / ami-cfbff1ce (32-bit)


■初期ログイン&rootパスワード変更
Using username "ec2-user".
Authenticating with public key "imported-openssh-key"
[ec2-user@ip-10-86-30-138 ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)
[ec2-user@ip-10-86-30-138 ~]$ sudo passwd
Changing password for user root.
New password:
BAD PASSWORD: it is based on a dictionary word
Retype new password:
passwd: all authentication tokens updated successfully.
[ec2-user@ip-10-86-30-138 ~]$
## ec2-userのパスワードも設定
[root@ip-10-86-30-138 ~]# passwd ec2-user


■SELinux/iptables無効化
[ec2-user@ip-10-86-30-138 ~]$ su -
Password:
[root@ip-10-86-30-138 ~]# vi /etc/selinux/config
[root@ip-10-86-30-138 ~]# grep disabled /etc/selinux/config
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
[root@ip-10-86-30-138 ~]# chkconfig iptables off; chkconfig --list iptables
iptables        0:off   1:off   2:off   3:off   4:off   5:off   6:off
[root@ip-10-86-30-138 ~]# chkconfig ip6tables off; chkconfig --list ip6tables
ip6tables       0:off   1:off   2:off   3:off   4:off   5:off   6:off
[root@ip-10-86-30-138 ~]#
AWS上のEC2へのアクセス制御はとりあえずSecurityGroupで。


■TimeZoneとHostName変更
ここの手順は省略可です。後々の運用を考慮して設定しておきます。
[root@ip-10-86-30-138 ~]# date; cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime; date
Sun Aug 10 00:15:37 EDT 2014
cp: overwrite `/etc/localtime'? y
Sun Aug 10 13:15:39 JST 2014
[root@ip-10-86-30-138 ~]#
[root@ip-10-86-30-138 ~]# vi /etc/sysconfig/network
[root@ip-10-86-30-138 ~]# grep HOSTNAME /etc/sysconfig/network
# HOSTNAME=ip-10-86-30-138.localdomain
HOSTNAME=rhel65-rdp
[root@ip-10-86-30-138 ~]# reboot


■GnomeGUIインストール
[root@rhel65-rdp ~]# yum groupinstall "X Window System" "GNOME Desktop Environment" "Desktop"
(中略)
Install     273 Package(s)
Upgrade       6 Package(s)
(以下省略)


■vncserverのインストールと起動準備
xrdpはVNCを利用しているようなので。

## VNCインストール
[root@rhel65-rdp ~]# yum install tigervnc-server
(中略)
===============================================================================
 Package           Arch   Version       Repository                        Size
===============================================================================
Installing:
 tigervnc-server   x86_64 1.1.0-8.el6_5 rhui-REGION-rhel-server-releases 1.1 M
Installing for dependencies:
 xorg-x11-fonts-misc
                   noarch 7.2-9.1.el6   rhui-REGION-rhel-server-releases 5.8 M

Transaction Summary
===============================================================================
Install       2 Package(s)
(以下省略)
## VNCサーバ設定
[root@rhel65-rdp ~]# vi /etc/sysconfig/vncservers
[root@rhel65-rdp ~]# tail -3 /etc/sysconfig/vncservers
VNCSERVERS="1:ec2-user 2:root"
VNCSERVERARGS[1]="-geometry 1024x768"
VNCSERVERARGS[2]="-geometry 1024x768"
[root@rhel65-rdp ~]# chkconfig vncserver on; chkconfig --list vncserver
vncserver       0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@rhel65-rdp ~]#
## VNC接続ユーザパスワード設定
[root@rhel65-rdp ~]# vncpasswd
Password:
Verify:
[root@rhel65-rdp ~]# su - ec2-user
[ec2-user@rhel65-rdp ~]$ vncpasswd
Password:
Verify:
[ec2-user@rhel65-rdp ~]$
## VNCサーバ起動
[root@rhel65-rdp ~]# /etc/init.d/vncserver start
Starting VNC server: 1:ec2-user xauth:  creating new authority file /home/ec2-user/.Xauthority
xauth: (stdin):1:  bad display name "rhel65-rdp:1" in "add" command

New 'rhel65-rdp:1 (ec2-user)' desktop is rhel65-rdp:1

Creating default startup script /home/ec2-user/.vnc/xstartup
Starting applications specified in /home/ec2-user/.vnc/xstartup
Log file is /home/ec2-user/.vnc/rhel65-rdp:1.log

2:root xauth:  creating new authority file /root/.Xauthority
xauth: (stdin):1:  bad display name "rhel65-rdp:2" in "add" command

New 'rhel65-rdp:2 (root)' desktop is rhel65-rdp:2

Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/rhel65-rdp:2.log

                                                           [  OK  ]
[root@rhel65-rdp ~]#


■EPELリポジトリのインストール
[root@rhel65-rdp ~]# rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
Retrieving http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
warning: /var/tmp/rpm-tmp.D24qpa: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing...                ########################################### [100%]
   1:epel-release           ########################################### [100%]
[root@rhel65-rdp ~]#
## yum実行時にEPELリポジトリをデフォルト参照しない設定
[root@rhel65-rdp ~]# sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/epel.repo


■xrdpのインストール
[root@rhel65-rdp ~]# yum --enablerepo=epel install xrdp
(中略)
================================================================================
 Package        Arch             Version                   Repository      Size
================================================================================
Installing:
 xrdp           x86_64           0.5.0-0.13.el6            epel           240 k

Transaction Summary
================================================================================
Install       1 Package(s)
(以下省略)
[root@rhel65-rdp ~]# chkconfig xrdp on; chkconfig --list xrdp
xrdp            0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@rhel65-rdp ~]#


■日本語キーボード対応
km-e0010411.iniをダウンロードしてシンボリックリンクを作成。
[root@rhel65-rdp ~]# cd /etc/xrdp/
[root@rhel65-rdp xrdp]# wget http://www.mail-archive.com/xrdp-devel@lists.sourceforge.net/msg00263/km-e0010411.ini
[root@rhel65-rdp xrdp]# mv km-e0010411.ini km-0411.ini
[root@rhel65-rdp xrdp]# ln -s km-0411.ini  km-e0010411.ini
[root@rhel65-rdp xrdp]# ln -s km-0411.ini  km-e0200411.ini
[root@rhel65-rdp xrdp]# ln -s km-0411.ini  km-e0210411.ini
[root@rhel65-rdp xrdp]#


■xrdp起動
[root@rhel65-rdp xrdp]# /etc/init.d/xrdp start
Starting xrdp:                                             [  OK  ]
Starting xrdp-sesman:                                      [  OK  ]
[root@rhel65-rdp xrdp]#


■リモートデスクトップ接続
事前にSecurity GroupでPort 3389を開放しておきます。
Windows7のRDPクライアントから接続します。バージョンは、6.3.9600です。


AWS上のLinuxにリモートデスクトップで接続できました。



■GUIを日本語化
せっかくなのでGUIを日本語化してみます。

## 日本語化に必要なパッケージインストール
[root@rhel65-rdp ~]# yum groupinstall "Japanese Support"
(中略)
==================================================================================
 Package            Arch   Version         Repository                        Size
==================================================================================
Installing:
 Red_Hat_Enterprise_Linux-Release_Notes-6-ja-JP
                    noarch 5-1.el6         rhui-REGION-rhel-server-releases  98 k
 ibus-anthy         x86_64 1.2.1-3.el6     rhui-REGION-rhel-server-releases 133 k
 ipa-gothic-fonts   noarch 003.02-4.2.el6  rhui-REGION-rhel-server-releases 3.6 M
 ipa-mincho-fonts   noarch 003.02-3.1.el6  rhui-REGION-rhel-server-releases 5.0 M
 ipa-pgothic-fonts  noarch 003.02-4.1.el6  rhui-REGION-rhel-server-releases 3.6 M
 ipa-pmincho-fonts  noarch 003.02-3.1.el6  rhui-REGION-rhel-server-releases 5.0 M
 man-pages-ja       noarch 20100115-6.el6  rhui-REGION-rhel-server-releases 5.5 M
 vlgothic-fonts     noarch 20091202-2.el6  rhui-REGION-rhel-server-releases 2.2 M
 vlgothic-p-fonts   noarch 20091202-2.el6  rhui-REGION-rhel-server-releases 2.2 M
Installing for dependencies:
 anthy              x86_64 9100h-10.1.el6  rhui-REGION-rhel-server-releases 6.0 M
 ibus               x86_64 1.3.4-6.el6     rhui-REGION-rhel-server-releases 337 k
 ibus-gtk           x86_64 1.3.4-6.el6     rhui-REGION-rhel-server-releases  26 k
 ibus-libs          x86_64 1.3.4-6.el6     rhui-REGION-rhel-server-releases  99 k
 im-chooser         x86_64 1.3.1-3.el6     rhui-REGION-rhel-server-releases 144 k
 imsettings         x86_64 0.108.0-3.6.el6 rhui-REGION-rhel-server-releases 190 k
 imsettings-libs    x86_64 0.108.0-3.6.el6 rhui-REGION-rhel-server-releases 103 k
 kasumi             x86_64 2.5-1.1.el6     rhui-REGION-rhel-server-releases  71 k
 libgxim            x86_64 0.3.3-3.1.el6   rhui-REGION-rhel-server-releases 126 k
 notify-python      x86_64 0.1.1-10.el6    rhui-REGION-rhel-server-releases  26 k
 pyxdg              noarch 0.18-1.el6      rhui-REGION-rhel-server-releases  79 k
 vlgothic-fonts-common
                    noarch 20091202-2.el6  rhui-REGION-rhel-server-releases  16 k

Transaction Summary
==================================================================================
Install      21 Package(s)
(以下省略)
## OSの言語を日本語を設定し再起動
[root@rhel65-rdp ~]# vi /etc/sysconfig/i18n
[root@rhel65-rdp ~]# cp -p /etc/sysconfig/i18n /etc/sysconfig/i18n.org
[root@rhel65-rdp ~]# vi /etc/sysconfig/i18n
[root@rhel65-rdp ~]# cat /etc/sysconfig/i18n
LANG="ja_JP.UTF-8"
SYSFONT="latarcyrheb-sun16"
[root@rhel65-rdp ~]# vi .bash_profile
[root@rhel65-rdp ~]# tail -1 .bash_profile
export LANG=ja_JP.UTF-8
[root@rhel65-rdp ~]#
[root@rhel65-rdp ~]# reboot
## 再びリモートデスクトップ接続

日本語GUI画面が表示されました。


こちらの情報が何かのお役に立てましたら幸いです。サイト継続ご協力のほどお願い致します。m(_ _)m

2014年7月11日金曜日

ec2-user以外のユーザでAmazon Linuxにログインする

Amazon Linuxに個別のユーザでssh接続する必要があったりするのでその手順をまとめてみます。

本来は接続元で秘密鍵と公開鍵を作成し、接続先に公開鍵を配置しますが、秘密鍵と公開鍵のペアはどこで作成してもよいので、今回は接続先のLinuxサーバ上で鍵ペアを作成し、秘密鍵を接続元PCに持ち帰る手順を記載します。

OS: Amazon Linux 2014.03 (64-bit)
putty: 0.63


■ユーザ作成
[ec2-user@ip-10-86-30-32 ~]$ sudo useradd user001
[ec2-user@ip-10-86-30-32 ~]$ sudo passwd user001

## sudo権限付与(必要に応じて)
[ec2-user@ip-10-86-30-32 ~]$ sudo visudo
--- 99行目あたりに追記 ---
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
user001 ALL=(ALL)       ALL ←追記


■秘密鍵(id_rsa)と公開鍵(id_rsa.pub)生成
[ec2-user@ip-10-86-30-32 ~]$ su - user001
Password:
[user001@ip-10-86-30-32 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user001/.ssh/id_rsa):
Created directory '/home/user001/.ssh'.
Enter passphrase (empty for no passphrase): ←パスフレーズ入力
Enter same passphrase again: ←パスフレーズ入力
Your identification has been saved in /home/user001/.ssh/id_rsa.
Your public key has been saved in /home/user001/.ssh/id_rsa.pub.
The key fingerprint is:
c8:30:57:dc:60:cc:ae:f1:5a:32:b0:8e:11:c5:a2:bc user001@ip-10-86-30-32
The key's randomart image is:
+--[ RSA 2048]----+
|       ++o       |
|    . .o+ .      |
|    oo.+         |
|    +=+.o .      |
| . . *oS+o       |
|  o .  o o       |
|   .   o         |
|  D   .          |
|                 |
+-----------------+
[user001@ip-10-86-30-32 ~]$
.sshディレクトリのパーミッションは700で自動生成されます。

## authorized_keysに公開鍵を登録
[user001@ip-10-86-30-32 ~]$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
[user001@ip-10-86-30-32 ~]$ chmod 600 .ssh/authorized_keys
[user001@ip-10-86-30-32 ~]$ ll .ssh/
total 12
-rw------- 1 user001 user001  404 Jul 11 14:28 authorized_keys
-rw------- 1 user001 user001 1766 Jul 11 14:28 id_rsa
-rw-r--r-- 1 user001 user001  404 Jul 11 14:28 id_rsa.pub
[user001@ip-10-86-30-32 ~]$


■秘密鍵をローカルPCに保存
[user001@ip-10-86-30-32 ~]$ cat .ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,8781E4937DE990254DE539C21439ABE1

XyHTJcMs/9BQpoctuFG4NeR8vo6yxu/XaXyy01HtobrLU+QFUMo96rZsl79DWroL
doa5RfBNKcT1/IQHuNNOrlJMJmvz7mQyN+j2tC6GPohE/ai+ytGCeWUGwkvysXBl
(中略)
xZun1TzEp9z1F19+EWmTkQzzULCY/faZK4jmnTPEMnoLYlfJQfYmwxbGaRm3v58S
+VuQ30YJsOfSUrhFG5kF0xHcepBN6AkzViYvUdc1/wf35dNlzCaw0tfeQWpcMaqQ
-----END RSA PRIVATE KEY-----
[user001@ip-10-86-30-32 ~]$
クリップボード経由でローカルPCの"C:\aws_keys\user001.pem"に保存。

## id_rsaとid_rsa.pubの削除
[user001@ip-10-86-30-32 ~]$ rm .ssh/id_rsa*
[user001@ip-10-86-30-32 ~]$ ll .ssh/
total 4
-rw------- 1 user001 user001 404 Jul 11 14:28 authorized_keys
[user001@ip-10-86-30-32 ~]$
セキュリティ的にも、作業済みで不要となった鍵は削除しておく。


■PUTTY用の鍵を生成
PUTTYGEN.EXEを利用してuser001.pem → user001.ppk を生成。




"C:\aws_keys\user001.ppk"に保存。


■user001でログイン


Using username "user001".
Authenticating with public key "imported-openssh-key"
Passphrase for key "imported-openssh-key": ←パスフレーズ入力
Last login: Sun Jul 11 15:02:20 2014

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2014.03-release-notes/
9 package(s) needed for security, out of 19 available
Run "sudo yum update" to apply all updates.
[user001@ip-10-86-30-32 ~]$
ログイン成功!!


こちらの情報が何かのお役に立てましたら幸いです。サイト継続ご協力のほどお願い致します。m(_ _)m

2014年6月8日日曜日

VMwareのOVFファイルをAWSへインポートする手順

VMWareESXi上で動作している仮想マシン(VM)をAWS環境にインポートする手順をまとめます。
今回インポートするVMのOSはCentOS6.5を例としています。インポートできるOSには制限があります。

1) VMWareESXi上のVMをOVFテンプレートのエクスポートでローカルPC等に保存。
2) AWSにてAmazon LinuxのEC2を作成。(Amazon EC2 API Tools がインストール済みだから)
3) 1)のOVFファイル群の中のvmdkファイルを2)で作成したEC2にFTP等でアップロード。
4) 2)のEC2にてec2-import-instanceコマンドでvmdkファイルからEC2を生成。

※keyやIDの値は実際には存在しないものに変更しています。

作業OS: Amazon Linux AMI release 2014.03
インポート対象OS: CentOS 6.5 (64-bit)



■Amazon EC2 API Tools の確認
[ec2-user@amazon-lnx ~]$ ll /opt/aws/apitools/ec2/
total 88
drwxr-xr-x 2 root root 20480 Mar 25 14:59 bin
-rw-r--r-- 1 root root   134 Jan 28 05:48 environment.sh
drwxr-xr-x 2 root root  4096 Mar 25 14:59 lib
-rw-r--r-- 1 root root  4852 Jan 28 05:48 license.txt
-rw-r--r-- 1 root root   539 Jan 28 05:48 notice.txt
-rw-r--r-- 1 root root 46468 Jan 28 05:48 THIRDPARTYLICENSE.TXT
[ec2-user@amazon-lnx ~]$
## 動作確認
[ec2-user@amazon-lnx ~]$ ec2-describe-regions -O AKIAXXXXE2DB7AVDFRE4 -W yXXXXXSKGX0mKsn8oL805DzOlR+rt56Drewi85MEmg
REGION  eu-west-1       ec2.eu-west-1.amazonaws.com
REGION  sa-east-1       ec2.sa-east-1.amazonaws.com
REGION  us-east-1       ec2.us-east-1.amazonaws.com
REGION  ap-northeast-1  ec2.ap-northeast-1.amazonaws.com
REGION  us-west-2       ec2.us-west-2.amazonaws.com
REGION  us-west-1       ec2.us-west-1.amazonaws.com
REGION  ap-southeast-1  ec2.ap-southeast-1.amazonaws.com
REGION  ap-southeast-2  ec2.ap-southeast-2.amazonaws.com
[ec2-user@amazon-lnx ~]$


■VMDKファイルを準備
※.ovfおよび.mfファイルはAWSには取込めないので不要。
[ec2-user@amazon-lnx ~]$ ll /home/ec2-user/cent65-web-disk1.vmdk
-rw-r--r-- 1 ec2-user ec2-user 1644029440 May 23 15:19 /home/ec2-user/cent65-web-disk1.vmdk
[ec2-user@amazon-lnx ~]$


■インポート用シェルスクリプト作成
[ec2-user@amazon-lnx ~]$ cat vmdk_import.sh
#!/bin/bash

ec2-import-instance \
    --region ap-northeast-1 \
    --aws-access-key AKIAXXXXE2DB7AVDFRE4 \
    --aws-secret-key yXXXXXSKGX0mKsn8oL805DzOlR+rt56Drewi85MEmg \
    --instance-type c3.large \
    --group forpublic-sg03 \
    --format VMDK \
    --architecture x86_64 \
    --platform Linux \
    --bucket cloud-bucket05 \
    --owner-akid AKIAXXXXE2DB7AVDFRE4 \
    --owner-sak yXXXXXSKGX0mKsn8oL805DzOlR+rt56Drewi85MEmg \
    --availability-zone ap-northeast-1a \
    --subnet subnet-62ac600b \
    /home/ec2-user/cent65-web-disk1.vmdk

exit 0
[ec2-user@amazon-lnx ~]$
keyはあらかじめ環境変数に設定しておけば指定する必要はありません。
セキュリティーグループを指定しても、なぜかデフォルトグループが設定されます。
インポートできるインスタンスタイプに制限があります。こちらを参考にしてください。
availability-zoneを指定しないと下記のようなエラーに陥る場合があります。
[ec2-user@amazon-lnx ~]$ ./vmdk_import.sh
Requesting volume size: 100 GB
Client.InvalidParameter: Subnet 'subnet-62ac600b' is in the availability zone 'ap-northeast-1a'.
[ec2-user@amazon-lnx ~]$


■インポート実行
[ec2-user@amazon-lnx ~]$ ./vmdk_import.sh
Requesting volume size: 100 GB
TaskType        IMPORTINSTANCE  TaskId  import-i-fg5bb5f2       ExpirationTime  2014-05-30T07:51:01Z    Status  active  StatusMessage  Pending InstanceID      i-cdee1cd4
DISKIMAGE       DiskImageFormat VMDK    DiskImageSize   1644029440      VolumeSize      100       AvailabilityZone        ap-northeast-1c        ApproximateBytesConverted       0       Status  active  StatusMessage   Pending : Downloaded 0
Creating new manifest at cloud-bucket05/106dee24-5fff-4b4d-ac72-96b759e81450/cent65-web-disk1.vmdkmanifest.xml
Uploading the manifest file
Uploading 1644029440 bytes across 157 parts
0% |--------------------------------------------------| 100%
   |==================================================|
Done
Average speed was 7.145 MBps
The disk image for import-i-fg5bb5f2 has been uploaded to Amazon S3
where it is being converted into an EC2 instance.  You may monitor the
progress of this task by running ec2-describe-conversion-tasks.  When
the task is completed, you may use ec2-delete-disk-image to remove the
image from S3.
[ec2-user@amazon-lnxw ~]$
インポート作業中にS3を確認すると、指定したバケットに10MBのファイルがVMDKファイルサイズ分作成されていく。
インポートは成功。マネージメントコンソール上に新たなEC2が表示された。


■インポートしたVMの起動
マネージメントコンソールからstartしたが、下記エラー。
Are you sure you want to start this instance?
i-cdee1cd4 (cent65-web)
Error starting instances
Invalid value 'i-cdee1cd4' for instanceId. Instance does not have a volume attached at root (/dev/sda1)
原因はEBSを準備中に起動しようとしたため。しばらく待てば起動できた。
EC2正常起動完了後は、不要となったS3上のファイルは削除しました。


この情報が何かのお役にたてれば幸いです。m(_ _)m

2014年5月6日火曜日

WordPressのパーマリンク設定をデフォルト以外にした場合の対処

WordPressのインストールについては前回まとめたとおり、無事ダッシュボードを表示するに至りました。
しかし、WordPressのパーマリンク設定をデフォルト以外に設定すると、投稿したページがなぜかNot Found (404 Error)になってしまいます。
https://api.wordpress.org/secret-key/1.1/salt/ にアクセスして認証用ユニークキーをwp-config.phpに設定すれば解消するとの噂もありましたが・・・。
試した限りではAllowOverrideの設定だけでした。とりあえず手順をまとめます。

Amazon Linux AMI release 2014.03
WordPress 3.9 日本語版
ドメイン(仮): lnx-cms.linuxnow.com


パーマリンク設定を「月と投稿名」に変更


ほとんどの人がこの設定を変更したいと思いそうですが・・・。自分だけ?!

とりあえず、何か記事を投稿して確認してみます。

はい残念。○| ̄|_

■パーマリンク設定をデフォルト以外にしても404を起こさない設定

## mod_rewriteが有効になっていることを確認
[root@lnx-cms ~]# grep mod_rewrite /etc/httpd/conf/httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so
[root@lnx-cms ~]#

## .htaccessの確認
[root@lnx-cms ~]# cat /var/www/html/wordpress/.htaccess

# BEGIN WordPress

RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]


# END WordPress
[root@lnx-cms ~]#
※特に変更は不要でした。

## wp-config.phpの修正
ブラウザにて https://api.wordpress.org/secret-key/1.1/salt/ にアクセスして 認証用ユニークキーを設定すれば解消するとの噂もありましたが、そのままでも 大丈夫でした。

## WordPressのディレクトリに対してAllowOverrideを設定
[root@lnx-cms ~]# vi /etc/httpd/conf.d/wp.conf
[root@lnx-cms ~]# cat /etc/httpd/conf.d/wp.conf
<Directory "/var/www/html/wordpress">
    AllowOverride All
</Directory>
[root@lnx-cms ~]#
## httpdを再起動して反映
[root@lnx-cms ~]# /etc/init.d/httpd restart
Stopping httpd:                                         [  OK  ]
Starting httpd:                                         [  OK  ]
[root@lnx-cms ~]#
## 再び投稿ページへ

Not Found 解消!!


こちらの情報が何かのお役に立てましたら幸いです。ちょこっと右サイドも見ていただければ幸いです。m(_ _)m

2014年5月5日月曜日

Amazon LinuxにWordPressをインストールする手順

AWSのEC2(Amazon Linux)にWordPressをインストールする手順です。必要パッケージ(Apache、MySQL、PHP等)を準備して、データベースを作成してからWordPressをドキュメントルートに展開後、コンフィグ設定すれば、だいたい完了です。
後は画面にてインストールプロセスに必要な項目を入力し、ログインしてダッシュボードを表示するところまでまとめます。
パーマリンク設定をデフォルト以外に設定しても404エラーを出さない方法については、別途記載できればと思います。

Amazon Linux AMI release 2014.03
WordPress 3.9 日本語版
ドメイン(仮): lnx-cms.linuxnow.com


■既存パッケージの確認

[root@lnx-cms ~]# rpm -qa | grep -e httpd -e mysql -e php | sort
[root@lnx-cms ~]#
何も入っていません。Amazon Linuxは本当にシンプル。


■必要パッケージの準備

[root@lnx-cms ~]# yum install httpd mysql-server php php-mysql php-mbstring
(中略)
===============================================================================
 Package                   Arch      Version              Repository      Size
===============================================================================
Installing:
 httpd                     x86_64    2.2.27-1.2.amzn1     amzn-updates   1.2 M
 mysql-server              noarch    5.5-1.6.amzn1        amzn-main      2.8 k
 php                       x86_64    5.3.28-1.5.amzn1     amzn-updates   2.8 M
 php-mbstring              x86_64    5.3.28-1.5.amzn1     amzn-updates   2.3 M
 php-mysql                 x86_64    5.3.28-1.5.amzn1     amzn-updates   178 k
Installing for dependencies:
 apr                       x86_64    1.5.0-2.11.amzn1     amzn-updates   115 k
 apr-util                  x86_64    1.4.1-4.14.amzn1     amzn-main       87 k
 apr-util-ldap             x86_64    1.4.1-4.14.amzn1     amzn-main       17 k
 generic-logos             noarch    17.0.0-2.5.amzn1     amzn-main      589 k
 httpd-tools               x86_64    2.2.27-1.2.amzn1     amzn-updates    79 k
 mailcap                   noarch    2.1.31-2.7.amzn1     amzn-main       27 k
 mysql55                   x86_64    5.5.37-1.46.amzn1    amzn-updates   7.5 M
 mysql55-common            x86_64    5.5.37-1.46.amzn1    amzn-updates    48 k
 mysql55-libs              x86_64    5.5.37-1.46.amzn1    amzn-updates   812 k
 mysql55-server            x86_64    5.5.37-1.46.amzn1    amzn-updates    13 M
 perl-Compress-Raw-Bzip2   x86_64    2.061-1.10.amzn1     amzn-main       33 k
 perl-Compress-Raw-Zlib    x86_64    2.061-1.10.amzn1     amzn-main       60 k
 perl-DBD-MySQL            x86_64    4.023-2.16.amzn1     amzn-main      148 k
 perl-DBI                  x86_64    1.627-1.7.amzn1      amzn-main      854 k
 perl-Data-Dumper          x86_64    2.145-1.4.amzn1      amzn-main       49 k
 perl-IO-Compress          noarch    2.061-1.1.11.amzn1   amzn-main      298 k
 perl-Net-Daemon           noarch    0.48-4.4.amzn1       amzn-main       58 k
 perl-PlRPC                noarch    0.2020-12.5.amzn1    amzn-main       38 k
 php-cli                   x86_64    5.3.28-1.5.amzn1     amzn-updates   2.6 M
 php-common                x86_64    5.3.28-1.5.amzn1     amzn-updates   1.0 M
 php-pdo                   x86_64    5.3.28-1.5.amzn1     amzn-updates   170 k

Transaction Summary
================================================================================
Install  5 Packages (+21 Dependent packages)
(以下略)

## インストールしたパッケージの確認
[root@lnx-cms ~]# rpm -qa | grep -e httpd -e mysql -e php | sort
httpd-2.2.27-1.2.amzn1.x86_64
httpd-tools-2.2.27-1.2.amzn1.x86_64
mysql55-5.5.37-1.46.amzn1.x86_64
mysql55-common-5.5.37-1.46.amzn1.x86_64
mysql55-libs-5.5.37-1.46.amzn1.x86_64
mysql55-server-5.5.37-1.46.amzn1.x86_64
mysql-server-5.5-1.6.amzn1.noarch
php-5.3.28-1.5.amzn1.x86_64
php-cli-5.3.28-1.5.amzn1.x86_64
php-common-5.3.28-1.5.amzn1.x86_64
php-mbstring-5.3.28-1.5.amzn1.x86_64
php-mysql-5.3.28-1.5.amzn1.x86_64
php-pdo-5.3.28-1.5.amzn1.x86_64
[root@lnx-cms ~]#


■phpinfoで状況確認

[root@lnx-cms ~]# echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
[root@lnx-cms ~]# /etc/init.d/httpd start
[root@lnx-cms ~]# /etc/init.d/mysqld start

## ブラウザにて確認
http://lnx-cms.linuxnow.com/phpinfo.php


■MySQLのrootパスワード設定

[root@lnx-cms ~]# mysqladmin -u root -h localhost password "naisyo"
[root@lnx-cms ~]#


■データベースとユーザの作成

データベース名: wp_db
管理ユーザ名: wp_admin
管理ユーザパスワード: secret
[root@lnx-cms ~]# mysql -u root -pnaisyo
(中略)
mysql> create database wp_db;
Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on wp_db.* to wp_admin@localhost identified by 'secret';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> quit
Bye
[root@lnx-cms ~]#


■自動起動設定

[root@lnx-cms ~]# chkconfig httpd on; chkconfig --list httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@lnx-cms ~]# chkconfig mysqld on; chkconfig --list mysqld
mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@lnx-cms ~]#


■WordPressインストーラ取得

[root@lnx-cms ~]# cd /usr/local/src/
[root@lnx-cms src]# wget http://ja.wordpress.org/latest-ja.tar.gz
--2014-05-05 22:41:13--  http://ja.wordpress.org/latest-ja.tar.gz
(中略)
2014-05-05 22:41:18 (1.37 MB/s) - ‘latest-ja.tar.gz’ saved [6250676/6250676]

[root@lnx-cms src]# ll
total 6108
-rw-r--r-- 1 root root 6250676 Apr 17 17:26 latest-ja.tar.gz
[root@lnx-cms src]#


■WordPressの配置

[root@lnx-cms src]# tar -zxf latest-ja.tar.gz -C /var/www/html/
[root@lnx-cms src]# ll /var/www/html/wordpress/
total 192
-rw-r--r--  1 nobody 65534   418 Sep 25  2013 index.php
-rw-r--r--  1 nobody 65534 19930 Apr 10 08:50 license.txt
-rw-r--r--  1 nobody 65534 10163 Apr 17 11:58 readme.html
-rw-r--r--  1 nobody 65534  3293 Apr 17 11:58 readme-ja.html
-rw-r--r--  1 nobody 65534  4896 Dec 25 03:57 wp-activate.php
drwxr-xr-x  9 nobody 65534  4096 Apr 17 11:58 wp-admin
-rw-r--r--  1 nobody 65534   271 Jan  9  2012 wp-blog-header.php
-rw-r--r--  1 nobody 65534  4818 Feb 19 06:45 wp-comments-post.php
-rw-r--r--  1 root   root   4230 May  5 23:26 wp-config.php
-rw-r--r--  1 nobody 65534  4255 Apr 17 11:58 wp-config-sample.php
drwxr-xr-x  5 nobody 65534  4096 Apr 17 11:58 wp-content
-rw-r--r--  1 nobody 65534  2932 Sep 25  2013 wp-cron.php
drwxr-xr-x 12 nobody 65534  4096 Apr 17 11:58 wp-includes
-rw-r--r--  1 nobody 65534  2380 Oct 25  2013 wp-links-opml.php
-rw-r--r--  1 nobody 65534  2359 Oct 25  2013 wp-load.php
-rw-r--r--  1 nobody 65534 32671 Apr 14 01:06 wp-login.php
-rw-r--r--  1 nobody 65534  8235 Nov 13 20:58 wp-mail.php
-rw-r--r--  1 nobody 65534 11070 Apr  8 05:15 wp-settings.php
-rw-r--r--  1 nobody 65534 25665 Nov 13 12:23 wp-signup.php
-rw-r--r--  1 nobody 65534  4026 Oct 25  2013 wp-trackback.php
-rw-r--r--  1 nobody 65534  3032 Feb 10 05:39 xmlrpc.php
[root@lnx-cms src]#


■wp-config.phpの設定

先ほど作成したデータベース名、ユーザー名、パスワードを設定します。
[root@lnx-cms src]# cd /var/www/html/wordpress/
[root@lnx-cms wordpress]# cp wp-config-sample.php wp-config.php
[root@lnx-cms wordpress]# vi wp-config.php
[root@lnx-cms wordpress]# grep -A 12 "MySQL 設定" wp-config.php
// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', 'wp_db');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'wp_admin');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'secret');

/** MySQL のホスト名 */
define('DB_HOST', 'localhost');

[root@lnx-cms wordpress]#

## ファイル所有者変更
[root@lnx-cms wordpress]# chown -R apache: /var/www/html/wordpress


■WordPressの初期設定

http://lnx-cms.linuxnow.com/wordpress/ (←実在はしませんのであしからず。)

画面の入力項目に従って進みます。

ダッシュボード画面を表示するところまでできました。今回の作業は以上で終了です。
次回は、 パーマリンク設定をデフォルト以外に設定しても404エラーを出さない方法を記載したいと思います。


こちらの情報が何かのお役に立てましたら幸いです。ちょこっと右サイドも見ていただければ幸いです。m(_ _)m

2014年3月29日土曜日

SSH over HTTPを利用してproxy経由でAmazon Linuxに接続


社内proxyサーバ経由でインターネットへ接続する場合、port制限されている場合が多々あります。
port80(http)とport443(https)が認証付で許可されている場合、SSH over HTTP(HTTPS)を利用して
インターネット上のサーバ(今回はAmazon Linux)に接続する回避策が考えられます。その手順をまとめます。
※実際に接続するかどうかは各社のセキュリティーポリシーを遵守してご検討ください。

Amazon Linux AMI release 2014.03
putty 0.63


■sshのportに443を指定

この作業に限ってはデフォルトのSSHのport(22番)で接続してください。
[root@neko-lnx-gw ~]# cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.org
[root@neko-lnx-gw ~]# vi /etc/ssh/sshd_config
[root@neko-lnx-gw ~]# tail -3 /etc/ssh/sshd_config
# add port
Port 22
Port 443
[root@neko-lnx-gw ~]# /etc/init.d/sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]
[root@neko-lnx-gw ~]#
※別プロセス(httpd等というかそれしかないが…)で既にport 443を占有されている場合は競合するのであらかじめ停止しておくこと。

## 確認
[root@neko-lnx-gw ~]# netstat -anp | grep 443
tcp     0    0 0.0.0.0:443       0.0.0.0:*       LISTEN     1892/sshd
tcp     0    0 :::443            :::*            LISTEN     1892/sshd
[root@neko-lnx-gw ~]#
※AWSの場合はセキュリティーグループでport 443接続許可設定が必要。

puttyの設定

## 社内proxyサーバ(認証有り)に対する設定

## Portを22から443に変更

以上でport 443 を利用してSSHの通信が可能となります。


こちらの情報が何かのお役に立てましたら幸いです。サイト継続のご協力お願いいたします。m(_ _)m

2013年2月25日月曜日

AWS(EC2) CentOS 6.3を日本語化

前回、AWS上のEC2(CentOS6.3)にGUIパッケージをインストールしてVNCで接続しましたが、
どうせなら画面表示を日本語化してみたいということで、その手順をまとめます。


■OS日本語化に必要なパッケージインストール
[root@centos63 ~]# yum groupinstall "Japanese Support"
=========================================================================
 Package                    Arch       Version            Repository Size
=========================================================================
Installing:
 ibus-anthy                 x86_64     1.2.1-3.el6        base      133 k
 ipa-gothic-fonts           noarch     003.02-4.2.el6     base      3.6 M
 ipa-mincho-fonts           noarch     003.02-3.1.el6     base      5.0 M
 ipa-pgothic-fonts          noarch     003.02-4.1.el6     base      3.6 M
 ipa-pmincho-fonts          noarch     003.02-3.1.el6     base      5.0 M
 man-pages-ja               noarch     20100115-5.el6     base      5.5 M
 vlgothic-fonts             noarch     20091202-2.el6     base      2.2 M
 vlgothic-p-fonts           noarch     20091202-2.el6     base      2.2 M
Installing for dependencies:
 anthy                      x86_64     9100h-10.1.el6     base      6.0 M
 ibus                       x86_64     1.3.4-6.el6        base      337 k
 ibus-gtk                   x86_64     1.3.4-6.el6        base       26 k
 ibus-libs                  x86_64     1.3.4-6.el6        base       98 k
 im-chooser                 x86_64     1.3.1-3.el6        base      144 k
 imsettings                 x86_64     0.108.0-3.6.el6    base      190 k
 imsettings-libs            x86_64     0.108.0-3.6.el6    base      103 k
 kasumi                     x86_64     2.5-1.1.el6        base       72 k
 libgxim                    x86_64     0.3.3-3.1.el6      base      126 k
 notify-python              x86_64     0.1.1-10.el6       base       26 k
 pyxdg                      noarch     0.18-1.el6         base       79 k
 vlgothic-fonts-common      noarch     20091202-2.el6     base       16 k

Transaction Summary
=========================================================================
Install      20 Package(s)

Total download size: 34 M
Installed size: 69 M
Is this ok [y/N]: y
(以下省略)

■OSの言語を日本語を設定し再起動
[root@centos63 ~]# vi /etc/sysconfig/i18n
[root@centos63 ~]# cat /etc/sysconfig/i18n
LANG="ja_JP.UTF-8"
SYSFONT="latarcyrheb-sun16"
[root@centos63 ~]#
[root@centos63 ~]# vi .bash_profile
[root@centos63 ~]# tail -1 .bash_profile
export LANG=ja_JP.UTF-8
[root@centos63 ~]#
[root@centos63 ~]# reboot

■VNCでサーバに接続しGUIを確認

意外にもあっさり日本語化成功。
標準フォルダの名前も一括して日本語に変更してくれるようです。ステキ。

2013年2月24日日曜日

AWS(EC2) CentOS 6.3をGUI化してVNCで接続

AWS上のEC2(CentOS)にGUIパッケージをインストールしてVNCで接続する手順です。
OracleDataBase等インストール時に、LinuxサーバだとしてもGUIがあれば便利です。
VNCサーバにはtigervnc-serverを利用します。
VNCクライアントにはRealVNCを利用します。

■構成情報
・OS:  CentOS6.3(64bit)
・tigervnc-server:  1.0.90
・RealVNC: 5.0.4


■GnomeGUIインストール

[root@centos63 ~]# yum groupinstall "X Window System" "GNOME Desktop Environment" "Desktop"
(中略)
Install     274 Package(s)
Upgrade       8 Package(s)

Total download size: 120 M
Is this ok [y/N]: y
(以下省略)
パッケージの数が膨大なのでそれなりに時間がかかります。

■VNCサーバインストール

[root@centos63 ~]# yum install tigervnc-server
==========================================================================
 Package             Arch    Version                         Repository  Size
==========================================================================
Installing:
 tigervnc-server     x86_64  1.0.90-0.17.20110314svn4359.el6 base       1.1 M
Installing for dependencies:
 xorg-x11-fonts-misc noarch  7.2-9.1.el6                     base       5.8 M

Transaction Summary
==========================================================================
Install       2 Package(s)
(以下省略)

■ユーザ作成(必要に応じて)

[root@centos63 ~]# useradd operation
[root@centos63 ~]# passwd operation

■VNCサーバ設定

設定ファイルvncserversに下記3行を追記、&自動起動設定
[root@centos63 ~]# cp -p /etc/sysconfig/vncservers /etc/sysconfig/vncservers.org
[root@centos63 ~]# vi /etc/sysconfig/vncservers
[root@centos63 ~]# tail -3 /etc/sysconfig/vncservers
VNCSERVERS="1:operation 2:root"
VNCSERVERARGS[1]="-geometry 1024x768 -nolisten"
VNCSERVERARGS[2]="-geometry 800x600 -nolisten"
[root@centos63 ~]#
[root@centos63 ~]# chkconfig vncserver on
[root@centos63 ~]# chkconfig --list vncserver
vncserver       0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@centos63 ~]#

■VNC接続ユーザパスワード設定

[root@centos63 ~]# vncpasswd
Password:
Verify:
[root@centos63 ~]# su - operation
[operation@centos63 ~]$ vncpasswd
Password:
Verify:
[operation@centos63 ~]$

■VNCサーバ起動

[root@centos63 ~]# /etc/init.d/vncserver start
Starting VNC server: 1:operation xauth:  creating new authority file /home/operation/.Xauthority

New 'centos63:1 (operation)' desktop is centos63:1

Creating default startup script /home/operation/.vnc/xstartup
Starting applications specified in /home/operation/.vnc/xstartup
Log file is /home/operation/.vnc/centos63:1.log

2:root xauth:  creating new authority file /root/.Xauthority

New 'centos63:2 (root)' desktop is centos63:2

Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/centos63:2.log

                                                           [  OK  ]
[root@centos63 ~]#

■VNC利用時のデスクトップをGNOMEに設定

[root@centos63 ~]# vi .vnc/xstartup
[root@centos63 ~]# tail -2 .vnc/xstartup
# twm & ←コメントアウト
exec gnome-session & ←追記
[root@centos63 ~]#

[root@centos63 ~]# su - operation
[operation@centos63 ~]$ vi .vnc/xstartup
[operation@centos63 ~]$ tail -2 .vnc/xstartup
# twm & ←コメントアウト
exec gnome-session & ←追記
[operation@centos63 ~]$
[operation@centos63 ~]$ exit
logout
[root@centos63 ~]# /etc/init.d/vncserver restart
Shutting down VNC server: 1:operation 2:root               [  OK  ]
Starting VNC server: 1:operation
New 'centos63:1 (operation)' desktop is centos63:1

Starting applications specified in /home/operation/.vnc/xstartup
Log file is /home/operation/.vnc/centos63:1.log

2:root
New 'centos63:2 (root)' desktop is centos63:2

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/centos63:2.log

                                                           [  OK  ]
[root@centos63 ~]#

■RealVNCダウンロード

http://www.realvnc.com/download/vnc/latest/
VNC-5.0.4-Windows.exe(約7MB)

■RealVNCインストール


インストールはほぼヴィザードに従って進めるだけで完了できるので省略しますが、今回はVNCビューワがあればよいのでサーバはインストールしません。

■サーバに接続


↑rootユーザ以外での接続が推奨ですが、rootユーザでも接続できます。


↑接続方式が暗号されていないので警告が出ていますがとりあえず無視。


↑vncpasswdで設定したパスワードで接続。


↑rootユーザで接続しようとしているとの警告が出る。


↑回線速度によってカラーモードのビット数が落とされる場合があります。
※時間がたつといきなりフルカラーになったりします。

最後までお読みいただきありがとうございます。この情報が何かのお役にたてれば幸いです。m(_ _)m

2013年1月10日木曜日

AWS(EC2) CentOS 6.3 コンソールのコマンドプロンプトの表示形式変更


AWS(EC2)のCentOSは生成元のAMIによってはコマンドプロンプトの表示形式が
簡素化(?)されているものがあります。
いつもの表示形式:[ユーザ@ホスト名 ディレクトリ]$ じゃないと落ち着かない方に贈る
表示形式変更方法です。ってか、ただの防備録です。

■構成情報
・OS:      CentOS6.3(64bit)


■.bash_profileに環境変数PS1を定義
-bash-4.1# hostname centos63 -bash-4.1# vi .bash_profile -bash-4.1# tail -1 .bash_profile export PS1="[\u@\h \W]\\$ " -bash-4.1#

■確認
-bash-4.1# su - [root@centos63 ~]#
以上。終了。小ネタすぎてすみません。

■主なプロンプト変数
上記だけだとあんまりなんで、主なプロンプト変数を併記しておきます。
\n 改行
\d "曜日,月,日"の書式による日付
\u ユーザ名
\h ホスト名
\s シェル名
\w 現在のカレントディレクトリ
\t 「HH:MM:SS」形式の時間表示
\# 現在入力するコマンドの「コマンド番号」
\! 現在入力するコマンドの「ヒストリ番号」


2012年12月1日土曜日

AWS(EC2) Amazon Linux 初期環境設定


Amazon Linux 構築後にとりあえずやっておいた方がよさそうな初期環境設定です。
もちろんケースバイケースですが、
rootパスワード設定、OSセキュリティ設定解除、TimeZone変更 etc...
今のところ毎回やっているので個人的防備録的にまとめておきます。

■構成情報
・OS: Amazon Linux AMI release 2012.09(64bit)


■SSHログイン(Putty使う場合のおさらい)
EIP割り当て後、Puttyの 接続 > SSH > 認証 > 認証のためのプライベートKeyファイルに xxxxx.ppk を設定後、接続
Using username "ec2-user". Authenticating with public key "imported-openssh-key" __| __|_ ) _| ( / Amazon Linux AMI ___|\___|___| https://aws.amazon.com/amazon-linux-ami/2012.09-release-notes/ [ec2-user@ip-10-77-30-12 ~]$

■rootパスワード設定
[ec2-user@ip-10-77-30-12 ~]$ sudo passwd Changing password for user root. New password: BAD PASSWORD: it is based on a dictionary word Retype new password: passwd: all authentication tokens updated successfully. [ec2-user@ip-10-77-30-12 ~]$ su - Password: [root@ip-10-77-30-12 ~]#

■AMIバージョン確認
[root@ip-10-77-30-12 ~]# cat /etc/system-release Amazon Linux AMI release 2012.09 [root@ip-10-77-30-12 ~]#

■OSセキュリティ設定解除
[root@ip-10-77-30-12 ~]# chkconfig --list iptables iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@ip-10-77-30-12 ~]# chkconfig --list ip6tables ip6tables 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@ip-10-77-30-12 ~]# [root@ip-10-77-30-12 ~]# chkconfig iptables off [root@ip-10-77-30-12 ~]# chkconfig ip6tables off [root@ip-10-77-30-12 ~]# [root@ip-10-77-30-12 ~]# chkconfig --list iptables iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off [root@ip-10-77-30-12 ~]# chkconfig --list ip6tables ip6tables 0:off 1:off 2:off 3:off 4:off 5:off 6:off [root@ip-10-77-30-12 ~]#
※以前は、/etc/sysconfig/selinux の設定をSELINUX=disabledとしていたが、そのファイルが存在しない。

■TimeZone変更
[root@ip-10-77-30-12 ~]# date; cp /usr/share/zoneinfo/Japan /etc/localtime; date Thu Jan 10 15:50:15 UTC 2013 cp: overwrite `/etc/localtime'? y Fri Jan 11 00:50:18 JST 2013 [root@ip-10-77-30-12 ~]#

■root volume増設分を認識させる
EC2作成時、root volumeに20GBを設定したはずだが、デフォルトの8GB分しか認識されていない。下記コマンドで対応する。
[root@ip-10-77-30-12 ~]# df -hT; resize2fs /dev/xvda1; df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/xvda1 ext4 7.9G 836M 7.0G 11% / tmpfs tmpfs 298M 0 298M 0% /dev/shm resize2fs 1.42 (29-Nov-2011) Filesystem at /dev/xvda1 is mounted on /; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 1 Performing an on-line resize of /dev/xvda1 to 4194304 (4k) blocks. The filesystem on /dev/xvda1 is now 4194304 blocks long. Filesystem Type Size Used Avail Use% Mounted on /dev/xvda1 ext4 16G 840M 15G 6% / tmpfs tmpfs 298M 0 298M 0% /dev/shm [root@ip-10-77-30-12 ~]#

■OS再起動
[root@ip-10-77-30-12 ~]# reboot
※VPC上のEC2は再起動してもローカルIPは変わらないし、EIPが外れないので便利。
※このタイミングで一度AMI作成しておくのもありかも。

2012年6月17日日曜日

AWS(EC2) /varにEBSをマウントする場合は要注意

Linux系のEC2インスタンスを作成し、/varに50GBくらいの領域を割当てたいから
新規にEBSを作成して、Attacheして/etc/fstabに追記して、再起動。
そしてそのEC2インスタンスにSSHで接続しようとしたら・・・。
アクセス拒否に遇えるかも。(T-T)


■原因
既存の/varの下にあったファイルがなくなってしまったからです。


■対策
[root@ip-10-0-0-20 ~]# cp -pr /var /tmp/
上記等のコマンドで/tmp等に退避しておき、

EBSを/varにマウントして
[root@ip-10-0-0-20 ~]# echo "/dev/sdi  /var  ext4   defaults   0  0" >> /etc/fstab
[root@ip-10-0-0-20 ~]# mount -a
[root@ip-10-0-0-20 ~]# mv /tmp/var/* /var/
上記等のコマンドで元に戻しておけばrebootしてもほぼ大丈夫。


■ほぼ大丈夫?とは
[root@ip-10-0-0-20 ~]# cp -pr /var /tmp/
やった後に、EBSを/varにマウントしてさらに、
MySQLインストール、Apache、PHPインストールしちゃって
[root@ip-10-0-0-20 ~]# mv /tmp/var/* /var/
やるとアウトです。

なんでかって? /varの状況変わってるから。あたりまえやん。

なので、EBSを/varにマウント直前に/varを退避し、
マウント直後に戻すのがよいでしょう。

嵌るよ。嵌るかも。フツー嵌らんか…。すみません、以上です。

2012年5月5日土曜日

AWS(EC2) SSH公開鍵設定

AWSでセキュリティを高めるために踏み台(Gateway)サーバを設け、内部のサーバには踏み台経由でしかSSHアクセスさせない構成を取ることが考えられます。(ってかSecurity Groupでするんやけど。) その際、ローカルサブネット間でSSH通信を行うための設定をまとめました。そうです。何をいまさらです。踏み台サーバで秘密鍵と公開鍵を作成して公開鍵を内部サーバにぶち込んで終わりです。

■構成概要

GatewayサーバIP:10.0.8.250
Web01サーバIP:10.0.8.10


■Gatewayサーバにて秘密鍵(id_rsa)と公開鍵(id_rsa.pub)の生成
[ec2-user@ip-10-0-8-250 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ec2-user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/ec2-user/.ssh/id_rsa.
Your public key has been saved in /home/ec2-user/.ssh/id_rsa.pub.
The key fingerprint is:
b8:2f:b5:4b:6d:5f:e4:bd:9a:f4:e2:f2:85:17:76:d1 ec2-user@ip-10-0-8-250
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|         .   .   |
|      . o S  o E |
|       .  +  +   |
|    .   . O O .  |
|       . *.@ =   |
|        ..+=*    |
+-----------------+
[ec2-user@ip-10-0-8-250 ~]$ ll .ssh/
total 12
-rw------- 1 ec2-user ec2-user  400 May  2 03:18 authorized_keys
-rw------- 1 ec2-user ec2-user 1743 May  2 07:28 id_rsa
-rw-r--r-- 1 ec2-user ec2-user  406 May  2 07:28 id_rsa.pub
[ec2-user@ip-10-0-8-250 ~]$ cat .ssh/id_rsa.pub
ssh-rsa AAAAAAB3NzaC1yc2EAAA(中略)j3Nhm5RH9doQTZ/8Q== ec2-user@ip-10-0-8-250
[ec2-user@ip-10-0-8-250 ~]$
※公開鍵のパスワード忘れんように。


■公開鍵をWeb01サーバの.ssh/authorized_keysに追加
※初期のみSecurityGroupでSSH許可
※Gatewayサーバで作成したid_rsa.pubをFTP等で送るのめんどくさいんでクリップボード経由で作成。だからvi。
[ec2-user@ip-10-0-8-10 ~]$ vi id_rsa.pub
[ec2-user@ip-10-0-8-10 ~]$ cat id_rsa.pub >> .ssh/authorized_keys


■GatewayサーバからWeb01サーバに接続
[ec2-user@ip-10-0-8-250 ~]$ ssh 10.0.8.10
The authenticity of host '10.0.8.10 (10.0.8.10)' can't be established.
RSA key fingerprint is 25:23:55:1b:e7:34:8c:d8:c8:43:ef:31:0e:84:c8:6a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.8.10' (RSA) to the list of known hosts.
Enter passphrase for key '/home/ec2-user/.ssh/id_rsa': ←公開鍵のパスワード
Last login: Sat May  2 07:26:04 2012 from pc1.slb-unet.ocn.ne.jp

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

See /usr/share/doc/system-release/ for latest release notes.
There are 11 security update(s) out of 22 total update(s) available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-10-0-8-10 ~]$

接続成功! --以上。--

2012年5月3日木曜日

AWS ec2_api_toolsインストール

ec2_api_toolsはEC2をコマンドラインで管理するためのツールです。
使用するためにはx509証明書等の準備が必要なためその辺りの手順をまとめてみました。

■環境情報
・Operating system: Amazon Linux等 
・ec2_api_tools: 1.5.4.0 2012-05-01


■秘密鍵作成
[root@tanyao-aws02 ~]# mkdir -p /opt/ec2-api-tools/X.509/user01
[root@tanyao-aws02 ~]# cd /opt/ec2-api-tools/X.509/user01
[root@tanyao-aws02 user01]# openssl genrsa -out iam.key 2048
Generating RSA private key, 2048 bit long modulus
......................................................................................+++
..........................................+++
e is 65537 (0x10001)
[root@tanyao-aws02 user01]#


■秘密鍵からCSR (Certificate Signing Request: 証明書署名要求)を作成
[root@tanyao-aws02 user01]# openssl req -new -key iam.key -out iam.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:
State or Province Name (full name) [Berkshire]:
Locality Name (eg, city) [Newbury]:
Organization Name (eg, company) [My Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
[root@tanyao-aws02 user01]#
※何も入力せずすべてEnter


■証明書作成
[root@tanyao-aws02 user01]# openssl x509 -req -in iam.csr -signkey iam.key -out iam.pem
Signature ok
subject=/C=GB/ST=Berkshire/L=Newbury/O=My Company Ltd
Getting Private key
[root@tanyao-aws02 user01]# ll
total 12
-rw-r--r-- 1 root root  968 May 02 16:09 iam.csr
-rw-r--r-- 1 root root 1675 May 02 16:08 iam.key
-rw-r--r-- 1 root root 1127 May 02 16:10 iam.pem
[root@tanyao-aws02 user01]# cat iam.pem
-----BEGIN CERTIFICATE-----
MIIDFDCCAfwCCQDhPLbzkt2PyDAN6kouoroshi0BAQUFADBMMQswCQYDVQQGEwJH
QjESMBAGA1UECBMJQmVya3NoaXJlMRAwDgYDVQQHEwdOZXdidXJ5MRcwFQYDVQQK
(中略)
MbxkzKVcxBtQf20dtHh/lEpdep5gO8PrZXTpGGb90q2fhg6wZYakDpvw0jyMxVjz
bcCVZLs6obbstrBIErhRn5qas443rjF52
-----END CERTIFICATE-----
[root@tanyao-aws02 user01]#


■証明書登録
IAM > Users > ユーザ選択 > Security Credentials > Signing Certificates
Certificate ID: NAGW***********ZTCOYEQD7GETW2VEC76


■秘密鍵と証明書のファイル名にCertificate IDを使用すれば管理しやすい
[root@tanyao-aws02 user01]# mv iam.csr csr-NAGW***********ZTCOYEQD7GETW2VEC76.pem
[root@tanyao-aws02 user01]# mv iam.key pk-NAGW***********ZTCOYEQD7GETW2VEC76.pem
[root@tanyao-aws02 user01]# mv iam.pem cert-NAGW***********ZTCOYEQD7GETW2VEC76.pem


■Amazon EC2 API Tools準備
⇒JDKインストール
[root@tanyao-aws02 ~]# yum install java-1.6.0-openjdk
[root@tanyao-aws02 ~]# java -version
java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10.6) (rhel-1.25.1.10.6.el5_8-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)
[root@tanyao-aws02 ~]#

⇒Amazon EC2 API Tools取得
[root@tanyao-aws02 ~]# cd /opt/installer/
[root@tanyao-aws02 installer]# wget http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip
(中略)
2012-05-02 19:50:38 (1.89 MB/s) - `ec2-api-tools.zip' saved [13926491/13926491]

[root@tanyao-aws02 installer]#

⇒解凍&配置
[root@tanyao-aws02 installer]# unzip ec2-api-tools.zip
[root@tanyao-aws02 installer]# cp -pr ec2-api-tools-1.5.4.0/* /opt/ec2-api-tools/
[root@tanyao-aws02 installer]# ll /opt/ec2-api-tools/
total 100
drwxr-xr-x 2 root root 32768 May 02 03:35 bin
drwxr-xr-x 2 root root  4096 May 02 03:35 lib
-rw-r--r-- 1 root root  4852 May 02 01:59 license.txt
-rw-r--r-- 1 root root   539 May 02 01:59 notice.txt
-rw-r--r-- 1 root root 46468 May 02 01:59 THIRDPARTYLICENSE.TXT
drwxr-xr-x 3 root root  4096 May 02 19:45 X.509
[root@tanyao-aws02 installer]#

⇒環境変数設定
[root@tanyao-aws02 ~]# export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre
[root@tanyao-aws02 ~]# export EC2_HOME=/opt/ec2-api-tools
[root@tanyao-aws02 ~]# export PATH=$PATH:$EC2_HOME/bin
[root@tanyao-aws02 ~]# export EC2_PRIVATE_KEY=$EC2_HOME/X.509/user01/pk-NAGW***********ZTCOYEQD7GETW2VEC76.pem
[root@tanyao-aws02 ~]# export EC2_CERT=$EC2_HOME/X.509/user01/cert-NAGW***********ZTCOYEQD7GETW2VEC76.pem
[root@tanyao-aws02 ~]# ec2ver
1.5.4.0 2012-05-01
[root@tanyao-aws02 ~]# ec2-describe-regions
REGION  eu-west-1       ec2.eu-west-1.amazonaws.com
REGION  sa-east-1       ec2.sa-east-1.amazonaws.com
REGION  us-east-1       ec2.us-east-1.amazonaws.com
REGION  ap-northeast-1  ec2.ap-northeast-1.amazonaws.com
REGION  us-west-2       ec2.us-west-2.amazonaws.com
REGION  us-west-1       ec2.us-west-1.amazonaws.com
REGION  ap-southeast-1  ec2.ap-southeast-1.amazonaws.com
[root@tanyao-aws02 ~]#

2012年4月17日火曜日

AWS EC2インスタンスのルートボリュームのサイズ拡張

Quick Start等のAMIからEC2インスタンスを作成した場合、ルートボリュームの
デフォルトのサイズが割と小さいので、これを拡張したいと思った時の手順です。

■対象EC2
Amazon Linux等のLinux系OS
ルートボリュームを6GB→12GBに拡張


■Management Consoleでの作業
① rootボリュームを拡張したいEC2インスタンスを停止。
② rootボリュームのEBSからCreate Snapshotを実行。
③ Create Volumeで拡張したいボリュームサイズ(GB)を入力し②で作成したSnapshotを選択。
④ rootボリュームのEBSをDetach Volumeする。
⑤ ③で作成したEBSを/dev/sda1にAttach Volumeする。
⑥ EC2インスタンス起動。


■OS上での作業
resize2fsを行えば拡張した領域が見えるようになる。
[root@ip-10-0-1-10 ~]# df -h; resize2fs /dev/sda1; df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             5.7G  2.0G  3.6G  36% /
none                  850M     0  850M   0% /dev/shm
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
Performing an on-line resize of /dev/sda1 to 3145728 (4k) blocks.
The filesystem on /dev/sda1 is now 3145728 blocks long.

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              12G  2.0G  9.7G  18% /
none                  850M     0  850M   0% /dev/shm
[root@ip-10-0-1-10 ~]#