Elastic IPでお名前.comのドメインとEC2のインスタンスを紐づける

Elastic IP アドレスは、動的なクラウドコンピューティングのために設計された静的 IPv4 アドレス
Elastic IP アドレスを使用すると、アドレスをアカウント内の別のインスタンスに迅速に再マップして、インスタンスやソフトウェアのエラーを隠すことができる

IPv4:Internet Protocolの一種で、OSI参照モデルにおいてネットワーク層に位置付けられるプロトコル

インスタンスのサイドメニューから選択する

インスタンスに割り当てる

では、お名前.comで適当に、capital-technology.xyz を取得します。

Route53
Hosted zonesでお名前.comで取得したドメインを入力する。

create record setのvalueのところにEC2インスタンスを割り当てたElasticIPをかくらしい

で、create

お名前.com
対象のドメインのDNSレコードの設定

digする。

おおおおおおおおおおおおおおおおおおおおおおおおおおおおおお
what’s goin on?
とりあえず、ec2に紐づいたみたいだ!とりあえず。。よっしゃあああああああああああああああああ!

さて、では、つぎはec2でスクレイピングかな。
待て待て。落ち着け。

ec2でphpファイルが認識されない

/var/www/htmlのphpファイルがphpと認識されない。

php.iniを開きます。

short_open_tagをonにします。

short_open_tag = On  

httpdを再起動

# service httpd restart

来たー!
落ち着け、落ち着け

続いて、お名前.comで取得したドメインのルーティングを設定したい。

ec2にmysql5.7をインストール

rpmを入れて、community-serverを入れる。

sudo yum -y install http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
sudo yum -y install mysql-community-server

–versionでバージョンを確認する。

mysql --version

mysql –version
mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper

service start

$ sudo service mysqld start
Initializing MySQL database:                               [  OK  ]
Starting mysqld:                                           [  OK  ]

初期パスワードが自動生成されているらしい。mysqld.logをみる。

$ cat /var/log/mysqld.log

するとずらずらとログが表示されるので、中から、
A temporary password is generated for root@localhost:
を探して、mysql -u root -p でログイン。

$ mysql -u root -p

ログイン出来ました。

/etc/my.cnfに文字コードを追加します。

sudo service mysqld restart でrestart

passwordを変える。

ALTER USER root@localhost IDENTIFIED BY ''

mysql> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| performance_schema |
| sys |
+——————–+
4 rows in set (0.00 sec)

OK!来た!
次は、var/www/html のページ編集です。

>ec2-user が Apache ウェブサーバーのデフォルトルートディレクトリにあるファイルを管理できるようにするには、/var/www ディレクトリの所有権とアクセス許可を変更する必要がある。
なに!?

>EC2 インスタンスに www という名前のグループを追加し、そのグループに /var/www ディレクトリの
>所有権を付与してグループへの書き込み許可を追加します。
>そのグループの任意のメンバーは、ウェブサーバーに対してファイルの追加、削除、および変更ができるようになります。
なるほど!

ec2の環境を整える

開発系のツールを一括で入れられるそうだ!

sudo yum groupinstall 'Development tools' -y

何じゃこりゃ?

とりあえず、AWSでphpファイルまではきた。

php -vが5.3なのでバージョンを上げたい。
2.2系httpdを削除。2.4系を入れる。

sudo yum remove -y httpd
sudo yum remove -y httpd-tools

sudo yum -y install httpd24

php7.0を入れる

sudo yum -y install php70 php70-mbstring php70-pdo

来た aws php 7.0

調子出てきたので、cyberduckからec2にアクセスしてみる

sftp(sshによる暗号化FTP)接続を指定すると、SSH Private Keyでpemファイルを設定できるようになる。

きたー 大分進んだー 色々やりてー

ルートをみると、普通にlinuxじゃん。OKOK!テンション上がってきました!

/var/www/htmlでindex.phpをつくろうとしましたが、cannot create file index.phpと出ました。

どうやらパーミッション変更が必要のようですね。

awsのKMSとは

AWS Key Management Service (KMS) は、データの暗号化に使用する暗号化キーを簡単に作成および管理できるマネージド型サービスで、キーのセキュリティを保護するために FIPS 140-2 で検証されたハードウェアセキュリティモジュールを使用

FIPS 140-2:連邦情報処理規格140-2:暗号モジュールのセキュリティ要件

AWS Key Management Service は完全マネージド型のサービス。基盤となるインフラストラクチャの可用性、物理的セキュリティ、ハードウェアの管理を AWS が担当し、アプリケーションの暗号化ニーズに集中できる。

ec2にappacheを入れて起動しよう

まず、ec2にssl接続している状態。
httpdを入れる。

sudo yum -y install httpd

Dependency Installed:
apr.x86_64 0:1.5.2-5.13.amzn1
apr-util.x86_64 0:1.5.4-6.18.amzn1
apr-util-ldap.x86_64 0:1.5.4-6.18.amzn1
httpd-tools.x86_64 0:2.2.34-1.16.amzn1
Complete!

続いて、起動する。自動起動も一緒に設定する。

sudo service httpd start
sudo chkconfig httpd on

public ip addressでアクセス。
あれ?

セキュリティホールの設定が必要
consoleより、インスタンス→セキュリティグループ
http port80でルールを追加

再度ipアドレスでアクセスする。
ぎゃーーーーーーーーーーーーー

では、LAMP環境でも作っていきますかね。