「TypeScript の基礎から始める AWS CDK 開発入門」Webサーバにアクセス拒否される...
Q&A
Closed
解決したいこと
CDKで立てたWeb Serverにアクセスブロックされている原因が分からないので知りたいです。よろしくお願いします。
表題のワークショップを進めていた所、Apacheを入れたEC2をPublic Subnetに立ててアクセスしようとした所でブロックされました。コンソールで確認した所、SGは狙い通りに全てのIPからポート80のトラフィックを受け入れる設定に出来ています。
発生している問題・エラー
該当するソースコード
import { Stack, StackProps } from 'aws-cdk-lib';
import { Construct } from 'constructs';
import * as ec2 from "aws-cdk-lib/aws-ec2";
import { readFileSync } from "fs";
export class CdkWorkshopStack extends Stack {
constructor(scope: Construct, id: string, props?: StackProps) {
super(scope, id, props);
const vpc = new ec2.Vpc(this, "BlogVpc", {
ipAddresses: ec2.IpAddresses.cidr('10.0.0.0/16'),
});
const webServer1 = new ec2.Instance(this, "WordpressServer1", {
vpc,
instanceType: ec2.InstanceType.of(ec2.InstanceClass.T2, ec2.InstanceSize.SMALL),
machineImage: new ec2.AmazonLinuxImage({
generation: ec2.AmazonLinuxGeneration.AMAZON_LINUX_2,
}),
vpcSubnets: { subnetType: ec2.SubnetType.PUBLIC },
});
const script = readFileSync("./lib/resources/user-data.sh", "utf8");
webServer1.addUserData(script);
// port80, 全ての IP アドレスからのアクセスを許可
webServer1.connections.allowFromAnyIpv4(ec2.Port.tcp(80));
}
}
また、ユーザデータの設定で以下のuser-data.shを読み込ませています
#!/bin/bash
yum -y update
yum -y install php httpd mysql
PHP_VERSION=`php -v | head -n 1 | awk '{print $2}' | awk -F "." '{print $1}'`
while [ ${PHP_VERSION} -ne 7 ]
do
amazon-linux-extras install php7.4 -y
PHP_VERSION=`php -v | head -n 1 | awk '{print $2}' | awk -F "." '{print $1}'`
done
yum -y install php-mbstring php-xml
wget http://ja.wordpress.org/latest-ja.tar.gz -P /tmp/
tar zxvf /tmp/latest-ja.tar.gz -C /tmp
cp -r /tmp/wordpress/* /var/www/html/
chown apache:apache -R /var/www/html
systemctl enable httpd.service
systemctl start httpd.service
自分で試したこと
・SGの確認
・タイプミスの確認
0