VPC作成からの流れ　メモ



1.VPC
を作成してください。 IP アドレスは 10.0.0.0/16 とします。
2.サブネットを 3 つ作成 
IP アドレスは以下の通りとします。
10.0.1.0/24 (パブリックサブネット),
10.0.11.0/24 (プライベートサブネット 1),
10.0.13.0/24 (プライベートサブネット 2)

3.プライベートサブネット 1 内に EC2 を作成 .SSH 接続を行う。
4.EC2 に appche をインストールし、 test1.html を公開する。
※プライマリ IP は「 10.0.1.10 」とする。

以下の手順に従って、AWS CLIを使用してVPC、サブネット、EC2インスタンスを作成し、Apacheをインストールして`test1.html`を公開することができます。

### 1. VPCの作成
```bash
aws ec2 create-vpc --cidr-block 10.0.0.0/16
```

### 2. サブネットの作成
```bash
# パブリックサブネット
aws ec2 create-subnet --vpc-id <VPC_ID> --cidr-block 10.0.1.0/24

# プライベートサブネット1
aws ec2 create-subnet --vpc-id <VPC_ID> --cidr-block 10.0.11.0/24

# プライベートサブネット2
aws ec2 create-subnet --vpc-id <VPC_ID> --cidr-block 10.0.13.0/24
```

### 3. EC2インスタンスの作成とSSH接続
```bash
# キーペアの作成
aws ec2 create-key-pair --key-name MyKeyPair --query 'KeyMaterial' --output text > MyKeyPair.pem
chmod 400 MyKeyPair.pem

# セキュリティグループの作成
aws ec2 create-security-group --group-name MySecurityGroup --description "My security group" --vpc-id <VPC_ID>

# セキュリティグループにルールを追加
aws ec2 authorize-security-group-ingress --group-id <SECURITY_GROUP_ID> --protocol tcp --port 22 --cidr 0.0.0.0/0

# EC2インスタンスの作成
aws ec2 run-instances --image-id ami-0abcdef1234567890 --count 1 --instance-type t2.micro --key-name MyKeyPair --security-group-ids <SECURITY_GROUP_ID> --subnet-id <SUBNET_ID_PRIVATE_1> --private-ip-address 10.0.1.10

# インスタンスIDを取得
INSTANCE_ID=$(aws ec2 describe-instances --filters "Name=private-ip-address,Values=10.0.1.10" --query "Reservations[*].Instances[*].InstanceId" --output text)

# インスタンスにSSH接続
ssh -i "MyKeyPair.pem" ec2-user@10.0.1.10
```

### 4. Apacheのインストールと`test1.html`の公開
```bash
# Apacheのインストール
sudo yum update -y
sudo yum install -y httpd

# Apacheを起動し、自動起動を設定
sudo systemctl start httpd
sudo systemctl enable httpd

# test1.htmlを作成
echo "<html><body><h1>Test Page</h1></body></html>" | sudo tee /var/www/html/test1.html

# Apacheのステータスを確認
sudo systemctl status httpd
```

これで、`http://10.0.1.10/test1.html`にアクセスすると、`test1.html`が表示されるはずです。



1.
プライベートサブネット 1 とプライベートサブネット 2 の
サブネットグループを作成してください。
2.
プライベートサブネット 1 に RDS を作成してください。
3.RDS
には MySQL をインストールしてください。
4.
iadb データベース、 renshu テーブルを作成してください。
※
カラムの値は「 id 」「 name 」とする。
5.
sato,tanaka,suzuki の値を renshu テーブルに入れる。
6.
SELECT にて データを一覧表示してください。


以下の手順に従って、AWS CLIを使用してプライベートサブネットグループを作成し、RDSインスタンスをセットアップし、MySQLデータベースを作成してデータを挿入および表示することができます。

### 1. サブネットグループの作成
```bash
aws rds create-db-subnet-group \
    --db-subnet-group-name my-subnet-group \
    --db-subnet-group-description "My DB Subnet Group" \
    --subnet-ids <SUBNET_ID_PRIVATE_1> <SUBNET_ID_PRIVATE_2>
```

### 2. プライベートサブネット1にRDSインスタンスを作成
```bash
aws rds create-db-instance \
    --db-instance-identifier mydbinstance \
    --db-instance-class db.t2.micro \
    --engine mysql \
    --master-username admin \
    --master-user-password mypassword \
    --allocated-storage 20 \
    --db-subnet-group-name my-subnet-group \
    --vpc-security-group-ids <SECURITY_GROUP_ID>
```

### 3. MySQLデータベースの作成とテーブルの設定
まず、RDSインスタンスに接続します。RDSインスタンスのエンドポイントを取得し、MySQLクライアントを使用して接続します。
```bash
# RDSインスタンスのエンドポイントを取得
ENDPOINT=$(aws rds describe-db-instances --db-instance-identifier mydbinstance --query "DBInstances[0].Endpoint.Address" --output text)

# MySQLクライアントを使用して接続
mysql -h $ENDPOINT -u admin -p
```

### 4. データベースとテーブルの作成
```sql
CREATE DATABASE iadb;
USE iadb;

CREATE TABLE renshu (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL
);
```

### 5. データの挿入
```sql
INSERT INTO renshu (name) VALUES ('sato'), ('tanaka'), ('suzuki');
```

### 6. データの一覧表示
```sql
SELECT * FROM renshu;
```

これで、`renshu`テーブルにデータが挿入され、`SELECT`文を使用してデータを一覧表示することができます。