Aws | iii threetreeslight

May 1, 2018

Manage aws by terraform

blogを公開するまでの道のりは長い。 やっとciまで回るようになって一段落したので、インフラのための下ごしらえをする。 terraformの下ごしらえを兼ねて既存aws accountの資産を管理。 改めて Terraform Recommended Practices を読んであるべき像を模索しつつ構築してみる。 terraform workspace 以下に寄ると、 Terraform configurations * environments = workspaces. と切ったほうがよいとのこと。 https://www.terraform.io/docs/enterprise/guides/recommended-practices/part1.html Reproでも似た感じだが、より細かい気がする。 とりあえず単純なblogなわけなので、こんな感じかなぁ https://developer.chrome.com/extensions/getstarted

April 19, 2014

サクラVPS内のmysqlからRDSへの移行

サクラVPSとかでごにょごにょしていたサーバー群をそろそろAWSに移行します。 その段取りを順を追ってメモしてきます。 RDS - ParameterGroup, OptionsGroup RDSのmysqlはシステムのデフォルト値をconfigに適用してしまうので、UTF8を利用するためには、新たにparameter groupを作成する必要が有ります。 グループ作って 設定 InnoDBのチューニングを考えると、合わせてOptionsGroupも作っておく事をお勧めします。 ここら辺はCLIでやるのもあり。 RDS - Instance とりあえず作る。その際に気にしたポイントは以下の通り Amazon RDS for MySQL 月1メンテナンスが強制的に入るかもしれない。 InnoDBが安定 メンテナンス時もfailoverしてくれるので、エンドユーザーに提供しているサービスならMulti-AZ必須 Multi-AZ 配置 ストレージ容量は無停止でアップできるので小さく5GBでスタート ディスクへのIOがそんなになさそうならm1.small VPC exportしたDB Dumpimportしたいので、外部からのアクセスを許可するために、VPCのセキュリティグループを編集。 RDSにはdefaultセキュリティグループが適用されているはずなので、そこにmysqlのアクセスを所定のIPのみ通してあげます。 これで、 $ mysql -h foo.bar.rds.amazonaws.com -u foo -p -P3306 Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 24 Server version: 5.6.13-log MySQL Community Server (GPL) Copyright (c) 2000, 2011, Oracle and/or its affiliates. ... Read more

July 19, 2013

[AWS]お名前.comからRoute53へDNS乗せ換え + ネイキッドドメインへの転送設定

頭の中 静的ファイルだけであればS3で全然問題ない。むしろ快適。 でもS3だとネイキッドドメインが利用できない。 -> 折角だしroute53使えば良いんじゃね! それだけじゃないんですけどね。 why route53? お名前.comにてドメインを取得し、お名前.comのDNSサーバーを利用していましたが、以下の3点よりroute53を利用しようと思います。 レコード設定数の制限 フェイルオーバー機能が無い S3に展開した静的webにNakedDomainを設定できる 特に2点目については、使いたい理由の最たる理由(別のサービスでそうなる予定)。 サクラVPNを借りていれば、DNSがタダで使えるので1)が目的だったら、サクラで良くね?っていう意見も・・・。 正直に言うと、単に使いたいだけです。 コスト コスト的には、標準的サイトであるなら2.25USD/月 ≒ 225円/月程度で収まるんでなかろうか。 フェールオーバー等なければ1USD/月 ≒ 100円/月、年間1200円程度。 これで25個のホストを管理できれば安いもんかな? ホスト: 0.5 USD (25ホスト(ドメイン)まで) クエリ: 0.5 USD (100万クエリ毎) レイテンシーベースルーティングクエリ: 0.75 USD DNS フェイルオーバーのヘルスチェック: 0.5 USD -------------------------------------- 2.25 USD / month * 月100万クエリ以下である事 参考:Amazon Route 53 DNS移行 それでは早速、お名前.comからroute53へ移行します。 AWS コンソールからroute54へアクセス Create Hosted Zone 右ペインの”Domain Name”にドメイン名を入力 右ペインの”Create Hosted Zone”を押下 すると右ペイン上に“Delegation Set *:”にネームサーバー情報が記載されています。 お名前. ... Read more

December 18, 2012

[AWS]S3でhttpプロトコルを利用する

S3はデフォルトだとhttpsプロトコルとなり、httpプロトコルとhttpsプロトコルが混在してしまう。 これはセキュリティ的にまずい。 解決策としては、S3のバケットに独自ドメインを割り当てることでhttpプロトコルになる。 メモメモ

November 1, 2012

[AWS][CentOS]postgres9.2入れる

herokuをdev環境やstagingとして使う事出来るので、postgresを使う事にする。 CentOSリポジトリの物は古いので、新しいのをとってきていれる $ sudo rpm -ivh http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-centos92-9.2-6.noarch.rpm 警告: /http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-centos92-9.2-6.noarch.rpm: ヘッダ V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY 準備中... ########################################### [100%] 1:pgdg-centos92 ########################################### [100%] $ yum list | grep postgres bacula-director-postgresql.x86_64 5.0.0-9.el6 base bacula-storage-postgresql.x86_64 5.0.0-9.el6 base check_postgres.noarch 2.19.0-1.rhel6 pgdg92 freeradius-postgresql.x86_64 2.1.12-4.el6_3 updates postgresql.i686 8.4.13-1.el6_3 updates postgresql.x86_64 8.4.13-1.el6_3 updates postgresql-contrib.x86_64 8.4.13-1.el6_3 updates postgresql-devel.i686 8.4.13-1.el6_3 updates postgresql-devel.x86_64 8.4.13-1.el6_3 updates postgresql-docs.x86_64 8.4.13-1.el6_3 updates postgresql-jdbc. ... Read more

November 1, 2012

[AWS][CentOS]とりあえずRailsを入れる

必要なパッケージを入れまくる gitやコンパイラ、sslやhttpd, curl, readline, opensslなどずさーっと。 amiの中にゴロゴロ入ってましたが。。。  # yum -y install git yum -y install make yum -y install gcc yum -y install gcc-c++ yum -y install zlib-devel yum -y install curl yum -y install curl-devel yum -y install readline-devel # yum -y install openssl  [webadmin]rvm入れる $ \curl -L https://get.rvm.io | bash -s stable –ruby We trust you have received the usual lecture from the local System Administrator. ... Read more

November 1, 2012

[AWS][CentOS]何となくシンガポールにサーバーを作ってsshログインまで

EC2をシンガポールリージョン(東京より安いので)にCentOS6.3を立ててとりあえず最低限の設定してみる。 KeyPairを作成 webadminって名前で作ってみる。webadmin.pemの権限は400で。  セキュリティグループの作成 web / All public facing web (port 80 and 443( instances ) rule : tcp / port : 22 / source :0.0.0.0/0 rule : tcp / port : 80 / source :0.0.0.0/0 rule : tcp / port : 443 / source :0.0.0.0/0 AMIの選定 2012年11月1日現在最新のCentOS6.3のAMIを選定 ami-92084bc0 を利用してコンソールからlaunch! Elastic IPsの作成とassociate コンソールから作ってインスタンスに割当  sshでログイン ssh ./webadmin.pem root@xxx. ... Read more

October 19, 2012

[AWS]ec2-ami-toolsとec2-api-toolsをmacにインストールする

現在、AWSを利用してサービスをくみ上げているのですが、レイテンシーを少しでも軽減するために各リージョンにサーバーを用意しようと思います。 上記に伴い、別リージョンに同じサーバーを立てるため、ami-toolsとapi-toolsをインストールしました。其の手順をメモ。 AWSのサイトから証明書と鍵を入手します。 鍵の配置と権限変更 $ mkidr ~/.ec2 $ mv pk-.pem cert-.pem ~/.ec2 $ chmod 600 ~/.ec2/*.pem ec2-ami-toolsとec2-api-toolsをhomebrewでインストール $ brew search ec2 ec2-ami-tools ec2-api-tools $ brew install ec2-api-tools Software installed with other package managers causes known problems for Homebrew. If a formula fails to build, uninstall MacPorts/Fink and try again. ==> Downloading http://ec2-downloads.s3.amazonaws.com/ec2-api-tools-1.5.2.5.zip
 ######################################################################## 100.0% ==> Caveats Before you can use these tools you must export some variables to your $SHELL and download your X. ... Read more

July 27, 2012

[rails][AWS][assets sync]assets precompileによるサーバー負荷軽減について

assets precompileはサーバー上で実行すると意外に負荷が掛かる(らしい) ということで、出来ればローカルでprecompileしたときに、サーバーに展開してくれるのが望ましい。 そういうときに役立つのが、assets sync gemになる。 assets sync gemは、local環境で以下のコマンド実行時した際に、 $ bundle exec rake assets:precompile precompileにて生成されたハッシュダイジェスト付きのファイルをS3サーバーやheroku上にupdする事が出来る。 注意点としては、RAILS_ENV 環境変数を設定しておく必要が有る。 $ export $RAILS_ENV=localhost