AWS EC2 参考資料
ドメイン申請
手順
- EC2 の準備(EC2)
- ドメイン申請 (freenom)
- Route53 でホストゾーンを設定(EC2)
- NS レコードを freenom に登録 (freenom)
- web サーバーとテストページの設定
- VirtualHost の設定
- Elastic IP を EC2 へアタッチしてグローバル IP を固定する
- ドメイン名と IP を紐付けるレコード
- https://us-east-1.console.aws.amazon.com/route53/v2/hostedzones#
- レコード作成
参考資料
Apache httpd 起動
- web サーバーとテストページの設定
% sudo yum update -y //パッケージのアップデート
% sudo yum install httpd -y //Apache のインストール
% cd /var/www/html //テストページを保存するディレクトに移動(EC2 にアクセスした時にここにコンテンツが有れば表示されます)
% sudo touch index.html //新規ファイルを作成
% sudo vi index.html //Vi を使って前項で作ったファイルにコードを書きます
% sudo systemctl start httpd //Apache を起動
VirtualHost の設定
- /etc/httpd/conf.d/vhost.conf
NameVirtualHost *:80
DocumentRoot "/var/www/html/"
ServerName i-like-your-shoes.tk
- Apache を再起動
systemctl restart httpd
terraform の設定
$ aws configure --profile example
$ aws configure list
$ aws s3 ls
aws ssm get-parameters --names /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 --region ap-northeast-1
aws ssm get-parameters-by-path --path "/aws/service/ami-amazon-linux-latest" --region ap-northeast-1
aws ec2 describe-network-interfaces --region ap-northeast-1
- Here is an example of Terraform code to set up a basic VPC with EC2 and RDS in AWS:
provider "aws" {
region = "us-west-2"
}
resource "aws_vpc" "example" {
cidr_block = "10.0.0.0/16"
tags = {
Name = "example-vpc"
}
}
resource "aws_subnet" "example" {
cidr_block = "10.0.1.0/24"
vpc_id = aws_vpc.example.id
tags = {
Name = "example-subnet"
}
}
resource "aws_instance" "example" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
subnet_id = aws_subnet.example.id
tags = {
Name = "example-instance"
}
}
resource "aws_db_instance" "example" {
identifier = "example-db"
engine = "mysql"
engine_version = "5.7"
instance_class = "db.t2.micro"
name = "example-db"
username = "admin"
password = "password"
vpc_security_group_ids = [aws_vpc.example.default_security_group_id]
subnet_group_name = "example-db-subnet-group"
tags = {
Name = "example-db"
}
}
resource "aws_db_subnet_group" "example" {
name = "example-db-subnet-group"
subnet_ids = [aws_subnet.example.id]
}
This Terraform code creates a VPC with a CIDR block of 10.0.0.0/16, a subnet with a CIDR block of 10.0.1.0/24 in the VPC, an EC2 instance in the subnet, a RDS instance with a MySQL engine, and a database subnet group associated with the subnet.
Remember to replace the values of provider block, such as region, and configure the AWS CLI with the appropriate credentials before using Terraform.
-
- 変更したいルートテーブルのIDを特定します。例えば、ルートテーブルIDが「rtb-1234567890」である場合、次のようにコマンドを実行します。
-
- ルートテーブルのルートを変更します。例えば、192.0.2.0/24ネットワークに対するルートを変更する場合、次のようにコマンドを実行します。
aws ec2 describe-route-tables --filters "Name=route-table-id,Values=rtb-1234567890"
aws ec2 replace-route --route-table-id rtb-1234567890 --destination-cidr-block 192.0.2.0/24 --gateway-id <gateway-id>
aws ec2 describe-route-tables --filters "Name=vpc-id,Values=<VPC ID>" "Name=association.main,Values=true" --query 'RouteTables[].Routes[?DestinationCidrBlock == `0.0.0.0/0`].GatewayId' --output text