###### tags:`AWS`,`VPC`,`EC2` # カスタムVPC〜EC2インスタンスの作成 --- ### ◆ VPCの新規作成 1. VPCの作成をクリック 2. 以下を入力 名前タグ: 任意の名前 ==IPV4 CIDRブロック==: 最小「24」〜最大「16」 。==**10.0.0.0/16**で設定== IPV6 CIDRブロック: AWSが提供するIPV6。CIDR「/56」固定。==未使用== ==テナンシー==: ==デフォルト== 3. ネットワークを作成したら以下を設定 DHCPオプション:==AWS標準== DNS解決:==はい== DNSホスト名:==はい== パブリックDNSを使用する為。 ### ◆ サブネットの作成 1. ==VPC==→==サブネット==→==サブネットの作成== 2. 以下を設定 名前タグ: 任意 VPC: サブネットを割り当てるVPC AZ: サブネットを作成するアベイラビリティゾーン ==IPV4 CIDRブロック==: サブネットを割り当てるネットワーク範囲。**10.0.0.0/24**で設定。==ELBを設定する場合は「/28」の16アドレスで作成すると必要なIPアドレスが足らなくなります(20IPアドレスの空きが必要)== ### ◆ ルートテーブルの作成 1. ==VPC==→==ルートテーブル==→==ルートテーブルの作成== 2. 以下を設定し作成をクリック 名前タグ: 任意 VPC: ルートテーブルを割り当てるVPC 3. サブネットとルートテーブルを関連付ける 作成したルートテーブルで==サブネットの関連付け==タブを選択し==編集==。チェックをつけて==保存== **※関連付けを明示的に行わないと新しく作成したルートテーブルに自動的に関連付けられてしまう為、「メインルートテーブルの変更により通信ができなくなる」等の原因になります。** ### ◆ インターネットゲートウェイの作成 1. ==VPC==→==インターネットゲートウェイ==→==インターネットゲートウェイの作成== 2. ==名前タグ== を設定し作成 3. 作成したIGWを右クリックし==attached==に変更する 4. ルートテーブルにIGWを関連づける ==ルートテーブル==の==ルート==を編集し==追加==をクリック。デフォルトルートを追加、ターゲットを作成したIGWにし保存 ### ◆ EC2インスタンスの作成 #### 1. キーペアの作成 ==EC2ダッシュボード==→==キーペア==→==作成==→==保存(重要:盗まれたり無くしてしまう事がないように)== 既存の鍵を使用する場合はインポートすればOK #### 2. セキュリティグループを作成 ==EC2ダッシュボード==→==セキュリティグループ==→==作成==を選択 * Webサーバ用の設定 Nameタグは任意の名前:例)Web-DMZなど タイプ: SSH(22)、プロトコル:TCP、ソース(自身のグローバルIP) タイプ: HTTP(80)、プロトコル:TCP、ソース(0.0.0.0/0) * DB用の設定 Nameタグは任意の名前:例)Web-DBなど タイプ:mysql(3306)、プロトコル:TCP、ソース(webサーバ用DMZのグループID) #### 3. EC2起動 Ⅰ) カスタムVPC、サブネット、セキュリティグループを紐付け Ⅱ) ==パブリックIP==は「自動割り当て」 → EC2で利用できるグローバルIPは2種類あり上記の==パブリックIP==ともう1つが==ElasticIP==。 「パブリックIP」・・・ EC2の起動/停止の度に変更 「ElasticIP」・・・ 常に固定のグローバルIP(==有料==,個人的に使っているだけです) 詳細は [ElasticIPの利用](https://hackmd.io/V0GkxVpzQoqfoQlk_Q9Itg)を参照。 Ⅲ) キーペアは先ほど作成した物を割り当てる #### 4. sshでEC2へ接続 【MACの場合】 ターミナルを起動し.sshディレクトリ配下にconfigファイル作成で簡単接続可能 #### 5. 基本初期設定 * **yum update** ==sudo yum update -y== * **rootユーザパスワード設定** ==sudo passwd root== → 【パスワード入力】 * **locale** ==sudo localectl set-locale LANG=ja_JP.UTF8== * **システム日付/Local Time** ==sudo timedatectl set-timezone Asia/Tokyo== * **開発ツールインストール** ==sudo yum groupinstall -y "Development tools"== #### 6. EC2の初期設定 【webサーバ関連】 ##### 6−1. **epel/remiリポジトリのインストール&yum update** * パッケージダウンロード sudo wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm * パッケージインストール ==sudo rpm -ivh epel-release-latest-7.noarch.rpm== ==yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm== * リポジトリ(php7.2)有効化 ==sudo yum-config-manager --enable remi-php72== ##### 6-2. Apacheのインストール ==sudo yum install -y httpd24== → [httpd.confの詳細設定](https://hackmd.io/5dTdt4t3RfKdCe-ElVFohQ) ##### 6−3. phpのインストール ==sudo yum install -y httpd24 php72 php72-mysqlnd== 【インストール対象パッケージ例例】 ※自身の環境に合わせてください php72.x86_64 php72-php.x86_64 php72-php-cli.x86_64 php72-php-common.x86_64 php72-php-fpm.x86_64 php72-php-gd.x86_64 php72-php-json.x86_64 php72-php-mbstring.x86_64 php72-php-mysqlnd.x86_64 php72-php-pdo.x86_64 php72-runtime.x86_64 ##### 6−4. php -vの有効化(Link) sudo ln -s /usr/bin/php72 /usr/bin/php ##### 6-5. php.iniの設定 ① /etc/php.iniのバックアップを取る。 ② PHPの設定ファイルをカスタマイズする Wordpressバージョンやphpんpバージョンによって以下の内容を適宜変更する。 ==【お作法】upload_max_filesize < post_max_size < memory_limit のサイズ順位を守りましょう。== ```php memory_limit = 128M (メモリ使用量) post_max_size = 40M (送信全体のファイルサイズ) upload_max_filesize = 30M (アップロードファイル1つあたりのMAXサイズ) expose_php = Off (レスポンスヘッダからのPHPバージョン表示を無効化) ``` ##### 6-6. mysqlのインストール mysqlはcommunityからリポジトリをインストール。mysql8はdisableしmysql-5.7パッケージをインストール。 [RDSの設定](https://hackmd.io/2SggeZbrSlG5ALdPMBlZ1A) へ続く
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.