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

2016年12月20日火曜日

クラウドN (cloudn)でのサーバ構築


クラウドといえばAWSしか使ったことがないので、主にAWSと比較しながら備忘録的にメモ。
FLATタイプでCentOS 7の場合。


AWSと同じようなところ

  • セキュリティグループの受信規則は、記述されていないものはDENYなので(デフォルトは設定なし=全て拒否)、許可するものを設定する。
  • セキュリティグループの送信規則は逆にデフォルトALLOWなので、禁止したい場合のみ設定する。
  • サーバ(Compute)を起動すると、サーバに対してグローバルIPが与えられる。
  • サーバにはデフォルトでPython 2.7が入っていた。


AWSと違うところ
(良いところ)

  • データ転送量についての課金が無い。
  • サービスが少ないので管理コンソールがシンプル。
  • 接続元IPアドレスによる管理コンソールのアクセス制限が簡単。
  • サーバ起動時に指定したhost名がサーバ内にも適用される。
  • 一番小さいインスタンスでもデフォルトでswapがある。
(悪いところ)
  • サーバ停止中でも課金される。(稼働中よりは安いが。)
  • サーバ削除のプロテクト設定が無いのがちょっと怖い。
  • 管理コンソール等のタイムゾーンがUTC。
  • 管理コンソールで意味不明な部分がある。(OpenStackの仕様をしらべればいいのか...?)
  • サーバ起動後にセキュリティグループを変更できない。
  • サーバはデフォルトでrootのSSHログインが可能。鍵ファイルではなくパスワード認証。
    ※パスワードはサーバ登録時に生成され、管理コンソール上で1度だけ表示される。管理コンソールからリセットもできる。リセットするとsshdの設定(SSHのrootログイン禁止、パスワード認証禁止、鍵ファイルによる認証の許可など)も初期化される。
  • サーバのテンプレート(AWSでいうところのAMI)を作る前に、手動でサーバを停止しないといけない。
(その他)
  • サーバのSELinuxはデフォルトで有効。
  • SMTPはpostfixが入っている。



本番用テンプレートを作る時にまずやることのメモ
CentOS 7のコマンドがCentOS 6から色々変わってるので慣れないと...。

  • タイムゾーンの設定(/root/tzconfigurator.shという対話形式の設定ツールが用意されているが、itamaeと相性が悪い?)
  • yum update
  • Linuxユーザーの追加(SSH用公開鍵のセットも)
  • rootのSSHログイン禁止
  • SSHのパスワード認証の禁止と、鍵認証の許可
  • メール送信先の変更(/etc/aliasesの編集)

以下は必要に応じて




参考



2011年11月16日水曜日

Windows 7で Poderosaの接続履歴が保存されない問題

Windows7でPoderosaを使い始めたが、なぜか接続の履歴が保存されないので、毎回ユーザー名や鍵ファイルを指定しなければならないのが面倒。
そして試してみたら接続の履歴だけでなく、あらゆる設定が保存されていないことが判明。

対策は、Poderosaを起動する時に管理者として実行すること。

管理者として実行したら、接続の履歴も設定も保存される。
毎回管理者として実行するのは面倒なので、新しい接続設定を残したい場合や、その他の設定を変えたい場合のみやれば良いと思う。

あるいは、インストールする時にProgram Filesじゃないとこに入れればよかったのかもね。

2011年3月18日金曜日

AWS CloudFormationで PHP Hello World Applicationを作成してみた

AWS(Amazon Web Services)のCloudFormationの「PHP Hello World Application」に関する情報があまりないので試してみた。


まずはAWS Management Consoleから「PHP Hello World Application + SSH enabled」のstackを作成。
場所はAsia/Pacific 東京リージョンを選択できた。
インスタンスタイプはMicroインスタンス、OperatorEmailには自分のメールアドレスを記入した。


しばらくすると、こんなのが作成された。

  • S3
    • 空のバケットが作成された(バックアップ用?)
  • EC2
    • Root Device Typeがebsのインスタンスが1つ作成された
    • EBSのCapacityは8GiB
    • Security Groupが1つ作成された
      • SSHとHTTP(ポート番号は8888)のポートで、ともにIPアドレス制限無し
    • Load Balancerが起動した
      • 80番ポートを待ち受けてインスタンスの8888番ポートに向ける
    • Elastic IPは作成されなかった
  • CloudWatch
    • Alarmが3つ作成された
      • RequestLatencyAlarmHigh
      • CPUAlarmHigh
      • TooManyUnhealthyHostsAlarm
    • 閾値に達したら登録したメールアドレスにメールで知らせてくれるようだ
  • CloudFormation
    • stackが1つ作成された(そりゃそうだ)
  • RDS
    • DB Instanceが1つ作成された
      • DB Engine Versionは5.1.50
      • DB Instance Classはdb.m1.small
      • DB Storageは5GiB
      • Backup Windowは15:00~15:30(日本時間?)
      • Maintenance Windowは日曜14:00~14:30(これも日本時間?)
    • DB Security Groupが1つ作成された
      • 上記のEC2 Security Groupが適用されている
    • DB Parameter Groupのcharacter_set関連は「engine-default」になっているが、UTF-8使えるのかな?
  • SNS
    • CloudWatchのメール通知用のTopicが1つ作成された


EC2のLoadBalancerのドメインにHTTPでアクセスすると、Wellcomeメッセージとともにphpinfoが表示された。
phpinfoによるとバージョンは下記の通り。
  • Apache : 2.2.16
  • PHP : 5.3.3

SSHでアクセス(SSHのログインユーザーはrootでなく"ec2-user"なので注意。"ec2-user"はsudoができる)してみると、/var/www/html の中には index.php しかなかった。
ユーザー"ec2-user"のviはPHPのソースがハイライトされて見やすい。(少し目がチカチカするが。)

PHP拡張については主なものは入っているが、mbstringが入っていない。
yumで入れたら普通にインストールできた。
sudo yum install php-mbstring

mbstringを有効にするためにApacheを再起動。
すると、アクセスできなくなった。EC2のLoadBalancerからインスタンスが外れている。
SNSからのアラートメールもいくつも送られてきてる。

調べてみると、httpd.confでポート番号が80になっていた
8888に変更して再起動。

これでアクセスできるようになった。mbstringも使えるようになった。


使い終わったら、AWS Management ConsoleでCloudFormationのstackを削除。
するとCloudFormationが作った一連のものをきれいに削除してくれた。
例外はS3で、S3だけはバケットが残っていた。


あとこれは今回の調査に直接関係ないが、AWS Management ConsoleのS3とEC2が重くなった気がする。(この前の改善の影響?)


結論
ささっとPHP実行環境を作りたいなら、これもありかもしれないと思った。
RDSを使いたいかどうかは状況によるけど、CloudWatchとかSNSの設定が楽なのは便利そう。

ブログ アーカイブ

tags