ギャバンITサービス
お菓子の家が作れるシステムエンジニアです

AWSでDBサーバ作ってNavicatでインポート

今はmariadb/a5sql使ってるけど当時はmysql/Navicat。 ローカルLinuxにあるDBテーブルをNavicat使ってインポート実施。 yumできることを確認 # yum update タイムゾーンを設定(できるだけ最初にやるべき) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [root@ip-172-31-21-195 log]# date Sat Nov 12 21:04:51 UTC 2016 [root@ip-172-31-21-195 log]# strings /etc/localtime TZif2 TZif2 UTC0 [root@ip-172-31-21-195 log]# cp -p /etc/localtime /etc/localtime.org [root@ip-172-31-21-195 log]# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime [root@ip-172-31-21-195 log]# vi /etc/sysconfig/clock ZONE="Asia/Tokyo" UTC=false :wq mysqlをインストール # yum -y install mysql-server /etc/my.cnfができていることを確認 ...

AWSでEBSをマウント

OSを切り替えたいときに引っ越しが面倒なので、Linuxでは必ずデータ用ディスクを作ってマウント利用することにしている。 データ用ディスクの作成 500GBのcoldタイプディスクを作り、「アクション」からアタッチしておく。 デバイス確認 lsblkコマンドでデバイスを確認すると、xvdfとして作成されている。 ファイルシステムを作る mkfs -t ext4 /dev/xvdf ディスクを接続 マウントするシェルを作っておき実行してからdfでマウントの具合をみる。 その後、/etc/rc3.d/S99localから起動するようにしておくと、ディスク接続->任意のサービス起動の順番やタイミングをコントロールできる。 samba入れる 元サーバと権限をあわせておき、sambaを導入する。 # yum -y install samba sambaの設定 /etc/samba/smb.confを書き換える。 パスワード設定 OSユーザとsamba用にパスワードを設定。 1 2 passwd nari pdbedit -a nari sambaサービス起動 smbとnmbを開始し、常時起動に設定。 1 2 3 4 5 # service smb start # service nmb start # chkconfig smb on # chkconfig nmb on # chkconfig --list grep mb ...

AWSでphpのAPサーバ

当時はphp5あたりを利用。今はphp7.4。 yumできることを確認 1 # yum update タイムゾーンを設定(できるだけ最初にやるべき) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [root@ip-172-31-21-195 log]# date Sat Nov 12 21:04:51 UTC 2016 [root@ip-172-31-21-195 log]# strings /etc/localtime TZif2 TZif2 UTC0 [root@ip-172-31-21-195 log]# cp -p /etc/localtime /etc/localtime.org [root@ip-172-31-21-195 log]# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime [root@ip-172-31-21-195 log]# vi /etc/sysconfig/clock ZONE="Asia/Tokyo" UTC=false :wq php/sambaをインストール、conflictするときは相手方をremoveする 1 2 3 # yum -y install php56* Imagemagick # yum install php56-mysql* # yum -y install samba 衝突しているモジュールをいったんremove 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 [root@ip-10-0-1-30 script]# yum remove -y php-common 読み込んだプラグイン:priorities, update-motd, upgrade-helper 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ php55-common.x86_64 0:5.5.38-2.119.amzn1 を 削除 --> 依存性の処理をしています: php(api) = 20121113-64 のパッケージ: php55-pecl-jsonc-1.3.6-1.13.amzn1.x86_64 --> 依存性の処理をしています: php(zend-abi) = 20121212-64 のパッケージ: php55-pecl-jsonc-1.3.6-1.13.amzn1.x86_64 --> 依存性の処理をしています: php-bz2 のパッケージ: 1:php-pear-1.10.1-1.19.amzn1.noarch --> 依存性の処理をしています: php-ftp のパッケージ: 1:php-pear-1.10.1-1.19.amzn1.noarch --> 依存性の処理をしています: php-pcre のパッケージ: 1:php-pear-1.10.1-1.19.amzn1.noarch --> 依存性の処理をしています: php-tokenizer のパッケージ: 1:php-pear-1.10.1-1.19.amzn1.noarch --> 依存性の処理をしています: php-zlib のパッケージ: 1:php-pear-1.10.1-1.19.amzn1.noarch --> 依存性の処理をしています: php55-common(x86-64) = 5.5.38-2.119.amzn1 のパッケージ: php55-5.5.38-2.119.amzn1.x86_64 --> 依存性の処理をしています: php55-common(x86-64) = 5.5.38-2.119.amzn1 のパッケージ: php55-cli-5.5.38-2.119.amzn1.x86_64 --> 依存性の処理をしています: php55-common(x86-64) = 5.5.38-2.119.amzn1 のパッケージ: php55-process-5.5.38-2.119.amzn1.x86_64 --> 依存性の処理をしています: php55-common(x86-64) = 5.5.38-2.119.amzn1 のパッケージ: php55-xml-5.5.38-2.119.amzn1.x86_64 --> トランザクションの確認を実行しています。 ---> パッケージ php-pear.noarch 1:1.10.1-1.19.amzn1 を 削除 ---> パッケージ php55.x86_64 0:5.5.38-2.119.amzn1 を 削除 ---> パッケージ php55-cli.x86_64 0:5.5.38-2.119.amzn1 を 削除 ---> パッケージ php55-pecl-jsonc.x86_64 0:1.3.6-1.13.amzn1 を 削除 ---> パッケージ php55-process.x86_64 0:5.5.38-2.119.amzn1 を 削除 ---> パッケージ php55-xml.x86_64 0:5.5.38-2.119.amzn1 を 削除 --> 依存性解決を終了しました。 依存性を解決しました ==================================================================================================== Package アーキテクチャー バージョン リポジトリー 容量 ==================================================================================================== 削除中: php55-common x86_64 5.5.38-2.119.amzn1 @amzn-updates 7.5 M 依存性関連での削除をします: php-pear noarch 1:1.10.1-1.19.amzn1 @amzn-main 2.1 M php55 x86_64 5.5.38-2.119.amzn1 @amzn-updates 8.3 M php55-cli x86_64 5.5.38-2.119.amzn1 @amzn-updates 11 M php55-pecl-jsonc x86_64 1.3.6-1.13.amzn1 @amzn-main 96 k php55-process x86_64 5.5.38-2.119.amzn1 @amzn-updates 154 k php55-xml x86_64 5.5.38-2.119.amzn1 @amzn-updates 821 k トランザクションの要約 ==================================================================================================== 削除 1 パッケージ (+6 個の依存関係のパッケージ) インストール容量: 30 M Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction 削除中 : php55-5.5.38-2.119.amzn1.x86_64 1/7 削除中 : php55-xml-5.5.38-2.119.amzn1.x86_64 2/7 削除中 : php55-process-5.5.38-2.119.amzn1.x86_64 3/7 削除中 : php55-cli-5.5.38-2.119.amzn1.x86_64 4/7 削除中 : php55-common-5.5.38-2.119.amzn1.x86_64 5/7 警告: /etc/php-5.5.ini は /etc/php-5.5.ini.rpmsave として保存されました。 削除中 : php55-pecl-jsonc-1.3.6-1.13.amzn1.x86_64 6/7 削除中 : 1:php-pear-1.10.1-1.19.amzn1.noarch 7/7 警告: /etc/pear.conf は /etc/pear.conf.rpmsave として保存されました。 検証中 : php55-cli-5.5.38-2.119.amzn1.x86_64 1/7 検証中 : 1:php-pear-1.10.1-1.19.amzn1.noarch 2/7 検証中 : php55-xml-5.5.38-2.119.amzn1.x86_64 3/7 検証中 : php55-process-5.5.38-2.119.amzn1.x86_64 4/7 検証中 : php55-pecl-jsonc-1.3.6-1.13.amzn1.x86_64 5/7 検証中 : php55-common-5.5.38-2.119.amzn1.x86_64 6/7 検証中 : php55-5.5.38-2.119.amzn1.x86_64 7/7 削除しました: php55-common.x86_64 0:5.5.38-2.119.amzn1 依存性の削除をしました: php-pear.noarch 1:1.10.1-1.19.amzn1 php55.x86_64 0:5.5.38-2.119.amzn1 php55-cli.x86_64 0:5.5.38-2.119.amzn1 php55-pecl-jsonc.x86_64 0:1.3.6-1.13.amzn1 php55-process.x86_64 0:5.5.38-2.119.amzn1 php55-xml.x86_64 0:5.5.38-2.119.amzn1 完了しました! [root@ip-10-0-1-30 script]# 再度php-mysqlをインストール 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 [root@ip-10-0-1-30 script]# yum install php-mysql 読み込んだプラグイン:priorities, update-motd, upgrade-helper 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ php-mysql.x86_64 0:5.3.29-1.8.amzn1 を インストール --> 依存性の処理をしています: php-pdo(x86-64) = 5.3.29-1.8.amzn1 のパッケージ: php-mysql-5.3.29-1.8.amzn1.x86_64 --> 依存性の処理をしています: libmysqlclient.so.18(libmysqlclient_16)(64bit) のパッケージ: php-mysql-5.3.29-1.8.amzn1.x86_64 --> 依存性の処理をしています: libmysqlclient.so.18(libmysqlclient_18)(64bit) のパッケージ: php-mysql-5.3.29-1.8.amzn1.x86_64 --> 依存性の処理をしています: libmysqlclient.so.18()(64bit) のパッケージ: php-mysql-5.3.29-1.8.amzn1.x86_64 --> トランザクションの確認を実行しています。 ---> パッケージ mysql55-libs.x86_64 0:5.5.52-1.13.amzn1 を インストール ---> パッケージ php-pdo.x86_64 0:5.3.29-1.8.amzn1 を インストール --> 依存性の処理をしています: php-common(x86-64) = 5.3.29-1.8.amzn1 のパッケージ: php-pdo-5.3.29-1.8.amzn1.x86_64 --> トランザクションの確認を実行しています。 ---> パッケージ php-common.x86_64 0:5.3.29-1.8.amzn1 を インストール --> 依存性解決を終了しました。 依存性を解決しました ==================================================================================================== Package アーキテクチャー バージョン リポジトリー 容量 ==================================================================================================== インストール中: php-mysql x86_64 5.3.29-1.8.amzn1 amzn-main 178 k 依存性関連でのインストールをします: mysql55-libs x86_64 5.5.52-1.13.amzn1 amzn-updates 815 k php-common x86_64 5.3.29-1.8.amzn1 amzn-main 1.0 M php-pdo x86_64 5.3.29-1.8.amzn1 amzn-main 170 k トランザクションの要約 ==================================================================================================== インストール 1 パッケージ (+3 個の依存関係のパッケージ) 総ダウンロード容量: 2.2 M インストール容量: 9.9 M Is this ok [y/d/N]: y Downloading packages: (1/4): mysql55-libs-5.5.52-1.13.amzn1.x86_64.rpm | 815 kB 00:00 (2/4): php-common-5.3.29-1.8.amzn1.x86_64.rpm | 1.0 MB 00:00 (3/4): php-mysql-5.3.29-1.8.amzn1.x86_64.rpm | 178 kB 00:00 (4/4): php-pdo-5.3.29-1.8.amzn1.x86_64.rpm | 170 kB 00:00 ---------------------------------------------------------------------------------------------------- 合計 1.4 MB/s | 2.2 MB 00:00:01 Running transaction check Running transaction test Transaction test succeeded Running transaction インストール中 : mysql55-libs-5.5.52-1.13.amzn1.x86_64 1/4 インストール中 : php-common-5.3.29-1.8.amzn1.x86_64 2/4 インストール中 : php-pdo-5.3.29-1.8.amzn1.x86_64 3/4 インストール中 : php-mysql-5.3.29-1.8.amzn1.x86_64 4/4 検証中 : php-common-5.3.29-1.8.amzn1.x86_64 1/4 検証中 : php-mysql-5.3.29-1.8.amzn1.x86_64 2/4 検証中 : php-pdo-5.3.29-1.8.amzn1.x86_64 3/4 検証中 : mysql55-libs-5.5.52-1.13.amzn1.x86_64 4/4 インストール: php-mysql.x86_64 0:5.3.29-1.8.amzn1 依存性関連をインストールしました: mysql55-libs.x86_64 0:5.5.52-1.13.amzn1 php-common.x86_64 0:5.3.29-1.8.amzn1 php-pdo.x86_64 0:5.3.29-1.8.amzn1 完了しました! [root@ip-10-0-1-30 script]# php入れたところ ...

AWSでVPN接続とamazon linux

2016年頃に初めてVPN接続でクラウド使い始めたときの記録。 ルータでVPN接続する仕組みを勉強したかったので、けっこう頑張ってやってたけど、2か月もせずGoogle cloudに引っ越した。 業務利用ではawsが選ばれるんだろうけど、個人的にはGoogle cloudのほうが扱いやすい。 ルータはyamaha rtx1200。tera termで接続できるのは知ってたけど、どんなふうに設定するのか、どう扱えばいいのかという知識は皆無。 ネットにも情報はあるけど1冊本買って昼休みに勉強した。 設定はコマンドラインが多いのに、ブラウザで設定もできるっていう敷居の低さに飛びついて勉強し始めた。 一般家庭のルータが1万円程度なのに対し、発売されて数か月以内に7万円弱で買ったから授業料としてはけっこう高い。 マンションが契約しているプロバイダに依頼してルータのMACアドレスに紐づくよう固定IPも取った。なんと無料で固定IP提供してくれる。 とても助かる。 VPC作成 VPCとはawsの中のネットワーク。最初にこれを作っておいて、この中にec2インスタンスを作るらしい。 外部からどのポートでの接続を許可する、なんて設定を入れて初めて接続できるようになる。 まずは左下のネットワーキングにあるVPCを選ぶ 「VPCウィザードの開始」を選択 step1:プライベートのサブネットへ自前環境と接続できるタイプを選択 step2:特に変更せず step3:VPN接続する自前環境の固定IPと名前を入力し、ルーティングに「動的」を選択してから「VPCの作成」を押して数分待つ 作成完了してOK VPCが作成されたことを確認してから、左下の「VPN接続」を選ぶ 「設定のダウンロード」を選択する ベンダーをyamahaにすると自動的にプラットフォームとソフトウェアが入るが、rev10.1.16+とある 作業時のローカル環境のファームウェア状態 公開バージョンの確認 firmware release for Yamaha Network Products www.rtpro.yamaha.co.jp 公開されているファームウェアのバージョン 設定例のページにある ファームウェアバージョン ダウンロードした結果をルータでコマンド実行 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 # tunnel select 2 # ipsec ike encryption 2 aes-cbc # ipsec ike group 2 modp1024 # ipsec ike hash 2 sha # ipsec ike pre-shared-key 2 text (キー値) # ipsec tunnel 201 # ipsec sa policy 201 2 esp aes-cbc sha-hmac # ipsec ike duration ipsec-sa 2 3600 # ipsec ike pfs 2 on # ipsec tunnel outer df-bit clear # ipsec ike keepalive use 2 on dpd 10 3 # ipsec ike local address 2 172.16.xx.xx # ipsec ike remote address 2 52.197.xx.xx # ip tunnel address 169.254.xx.xx/xx # ip tunnel remote address 169.254.xx.xx # ip tunnel tcp mss limit 1387 # tunnel enable 2 # tunnel select none # ipsec auto refresh on # bgp use on # bgp autonomous-system 65000 # bgp neighbor 2 10124 169.254.xx.xx hold-time=30 local-address=169.254.xx.xx # bgp import filter 2 equal 0.0.0.0/0 # bgp import 10124 static filter 2 # tunnel select 3 # ipsec ike encryption 3 aes-cbc # ipsec ike group 3 modp1024 # ipsec ike hash 3 sha # ipsec ike pre-shared-key 3 text (キー値) # ipsec tunnel 202 # ipsec sa policy 202 3 esp aes-cbc sha-hmac # ipsec ike duration ipsec-sa 3 3600 # ipsec ike pfs 3 on # ipsec tunnel outer df-bit clear # ipsec ike keepalive use 3 on dpd 10 3 # ipsec ike local address 3 172.16.xx.xx # ipsec ike remote address 3 52.198.xx.xx # ip tunnel address 169.254.xx.xx/xx # ip tunnel remote address 169.254.xx.xx # ip tunnel tcp mss limit 1387 # tunnel enable 3 # tunnel select none # ipsec auto refresh on # bgp use on # bgp autonomous-system 65000 # bgp neighbor 3 10124 169.254.xx.xx hold-time=30 local-address=169.254.xx.xx # bgp import filter 3 equal 0.0.0.0/0 # bgp import 10124 static filter 3 # bgp configure refresh # save セーブ中... CONFIG0 終了 # トンネルがつながった様子 ...

AWSを使わない理由

awsは2016年頃に試験利用。今はGoogle cloudのみ利用。 月額料金が高いか安いかは、使ったり消費したものに対しての対価が高いか安いかで考えてます。ルータ1個7万円が自分の勉強材料には安いと感じたけど、使ってないのに請求されると腹が立つ。価格表に書いてあることが実現されてることを確認しながら使ってます。 当時のAWSは時間単位課金で秒単位じゃなかった。61分使っても120分の請求が来るのは理解できなかった(今はLinuxなら秒単位あるらしい) ローカルルータに対するVPNの対抗先を作ってしまうだけで課金、接続して通信したらさらに課金(今はどうなんだろ) VPNの対抗先を接続の都度、作成・削除する方法が見つけられなかった(これも今は何か手があるのかな、googleはgcloudコマンドでvpnトンネルを都度作成・削除できる) amazon s3よりもgoogle driveのほうが実データとバックアップ保管にかかる費用が安かった (ただしGoogle Cloud Storageもgoogle driveより高く性能出なかった) (Google Cloudからgoogle driveへのrcloneによる転送はめちゃ速い) (awsはec2とs3使って1か月約5000円=年6万円ぐらいかかるのが、google cloud月1500円+google drive 2TB/年額13,000円 = 1500 x 12 + 13000 = 31,000円程度で済む) google driveはPCやスマホの「ドライブ」アプリで簡単に見れるけど、amazon s3/google driveはそうはいかなかった (PCならs3もgoogle driveも見れる cyberduck が便利) amazon linuxはcentosっぽいんだけどイマイチ好きになれなかった (dockerの挙動がおかしいから今はもうcentos使うのやめてubuntuにした) 当時のawsにはお試しがなく、テスト利用で月6000円払ったのに対し、googleはお試し$300があったのでテストしてawsより安い確証が得られた