创建定制VPC AWS里一般默认有一个VPC,如果直接使用的话,可以省去很多麻烦。如果创建定制VPC,所有的组件需要各个创建,可以了解各个组件的细节。如果创建定制的VPC,会新创建一个默认的Route Table,Network ACL,和Security Group。不会创建Subnet和Internet Gateway。 创建一个定制的VPC并取名为XiongTestVPC, IPv4 CIDR block为10.0.0.0/16,如下图所示: 这里默认创建了Network ACL是允许所有的流量进出, 也就是所有的Source和Destination都是0.0.0.0/0允许。 以下未知,是否要设置DNS resolution和DNS hostnames为Enabled? DNS resolution Enabled DNS hostnames Enabled 在VPC里创建两个Subnet 首先创建公用Subnet,名字为XiongPublicSubnet,VPC选择新定制的VPC-->XiongTestVPC,IPv4 CIDR block为10.0.1.0/24,这里Availability Zone选择ap-southeast-1a。 ==注意==: 这里选择了ap-southeast-1a,如果在另一个帐户里也选择了ap-southeast-1a,这两个Availability Zone并不一定是同一个,因为AWS会随机分配,这样可以保证不会有大多数用户选择同一个Availability Zone。创建公用Subnet如下图所示: 对于公有的Subnet,改变设置公有的Subnet的自动分配公有地址,在Action --> Modify auto-assign IP settings里,如下图所示: 同理,创建另一个私有的Subnet,名字为XiongPrivateSubnet,VPC选择新定制的VPC-->XiongTestVPC,IPv4 CIDR block为10.0.2.0/24,这里Availability Zone选择ap-southeast-1b。 这里创建的两个Subnet, 默认Route Table里只能访问本地,需要在后面关联能够访问外网的Route Table,Network ACL默认为前面新创建的VPC所默认生成的Network ACL。 创建Internet Gateway 创建一个名为XiongTestInternetGateway的Internet Gateway,并把它附加到新创建的定制VPC上。如下图所示: ==注意==:一个VPC只能附加一个Internet gateway。 创建额外的Route table访问外部 创建额外的Route table 在创建定制VPC的时候,会默认创建一个Route table为主Route Table,这个默认创建的Route Table只能访问本地,是私有的(private),不能访问外部,这个Route Table专门用于内部私有的Subnet。那么这里我们创建一个额外的Route table可以访问外部,取名为XiongRouteTablePublic,用于外部的公有的Subnet。如下图所示: 添加路由到Internet Gateway 在XiongRouteTablePublic这个公有的Route Table里添加两个(分别是IPV4和IPV6)指向前面新创建的可以访问外部的Internet Gateway, 也就是XiongTestInternetGateway,0.0.0.0/0为IPV4, ::/0为IPV6,如下图所示: 关联公有Subnet到额外的公有的Route table 关联公有Subnet也就是XiongPublicSubnet到额外的Route table也就是XiongRouteTablePublic,在Subnets > Edit route table association界面中,这样公有Subnet就可以访问外部公网我了。添加的地方如下图所示: 在定制VPC里创建一个新的Security Group (安全组) 在定制VPC XiongTestVPC 里创建一个新的Security Group (安全组),取名为XiongInternalSecurityGroup,用途为内部的EC2使用,默认的Inbound Rules为空,Outbound Rules为所有。 所以在Inbound Rules中添加内网的Subnet地址可以访问以下端口。 ICMP --> 0~65536 HTTP --> 80 HTTPS --> 443 MYSQL/Aurora --> 3306 SSH --> 22 如下图所示: ==注意==:Security Groups不能跨VPC。一个VPC里只能有一个Internet Gateway。 ==注意==:Security Groups是stateful,也就是说添加到Inbound的规则,也自动添加到Outbound上去。 在定制VPC里创建两个EC2 (公有和私有) 在定制VPC里创建两个EC2 (公有和私有),公有EC2可以访问外网,也可以被外网访问,例如Web Server,私有EC2只能内部才能访问,例如数据库服务器。 创建公有EC2 使用以下启动脚本: #!/bin/bash yum install httpd -y yum update -y service httpd start chkconfig httpd on echo "<html><h1>Hello Xiong, this is public EC2 Instance!</h1></html>" > /var/www/html/index.html 这里要选择, XiongTestVPC和XiongPublicSubnet,前面已经设置过XiongPublicSubnet会自动分配公网地址, 如下图所示: 创建私有EC2 再创建一个私有EC2,假如用作内部数据服务器,这里要选择, XiongTestVPC和XiongPrivateSubnet,前面已经设置过XiongPrivateSubnet 不会自动分配公网地址,

AWS Route53里使用Godady注册的域名

AWS的Route53是可以注册域名的,但是如果在外部注册的域名怎么在Route53里使用呢,这里使用外网的DNS服务的Godaddy注册域名,并在AWS的Route53里使用。 注册域名并下载Zonefile 在Godaddy里注册域名xionghuilin.club,并在管理域名里下载Zonefile, 自动下载并命名为xionghuilin.club.txt 在Route53里创建hosted zone 在Route53里创建hosted zone,会自动生成SOA和NS,如下: 在Godaddy中添加新生成的NS 以下四条NS需要添加到Godaddy中,xionghuilin.club的name server如下: ns-727.awsdns-26.net.

在AWS Ubuntu上安装和配置VNC并通过SSH隧道连接

在AWS Ubuntu上安装和配置tightvncserver, 并通过SSH隧道进行了远程桌面连接,记录下实验流程。 1,安装tightvncserver 由于已经安装了 xfce4 xfce4-goodies,所以此处不需要安装。以下指令安装tightvncserver。 sudo apt-get update sudo apt-get install tightvncserver 2,设置vncserver的密码,登录使用 如果没有设置用户名和密码,需要设置,我在先前的实验中已经设置了用记名ubuntu和密码,所以我这里不需要设置。设置用户名密码具体参见:连接AWS EC2 Linux instance Ubuntu远程桌面 设置vncserver的密码,这里密码最长为8个字符,设置密码的同时,系统对vncserver时行了相应的设置。 ncserver 3,设置VNC服务器 主要是设置VNC服务器启动时的执行的指令,VNC开始启动时,自动启动一个服务器例程,使用显示端口5901,VNC识别为 :1,同理新开的端口为:2,:3,依此类推,端口使用为5900+x。 要配置5901设置,首先停止在端口5901上运行的例程, vncserver -kill :1 配置 xstartup 文件,首先备份原始的文件以防以后用到, mv ~/.vnc/xstartup ~/.vnc/xstartup.bak 创建一个新的xstartup 文件, emacs ~/.vnc/xstartup 在文件中加入以下三行内容, #!/bin/bash xrdb $HOME/.Xresources startxfce4 & 第一行指令xrdb $HOME/.Xresources告诉GUI的框架读取服务器的.Xresources文件,.Xresources是用户改变图形桌面设置,例如终端颜色,字符指针风格和字体等。 第二行指令告诉服务器启动XFCE,能够通过相应图形界面软件管理服务器。 修改为可执行, sudo chmod +x ~/.vnc/xstartup 4,设置VNC服务文件 为了更好地控制VNC服务器,将其配置成Ubuntu的VCN服务,更加方便地进行start,stop, restart操作。 创建一个新的服务文件vncserver, sudo emacs /etc/init.d/vncserver 第一部分是声明一些VNC会用到的通用的设置,例如用户名和分辨率等。 #!/bin/bash PATH="$PATH:/usr/bin/" export USER="ubuntu" DISPLAY="1" DEPTH="16" GEOMETRY="1024x768" OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY} -localhost" .

连接AWS EC2 Linux instance Ubuntu远程桌面

创建了AWS EC2 Linux instance Ubuntu,记录下通过本地Windows远程访问AWS Ubuntu桌面的方法。 1, 更新,升级和安装准备 sudo apt-get update sudo apt-get upgrade 2,配置sshd_config允许密码访问 sudo emacs /etc/ssh/sshd_config 将 PasswordAuthentication 选项设置为yes # Change to no to disable tunnelled clear text passwords #PasswordAuthentication no PasswordAuthentication yes 3,重启SSH伺服让配置生效 sudo /etc/init.d/ssh restart 4,为用户名ubuntu设置密码 sudo –i passwd ubuntu su ubuntu 5,为Ubuntu Linux Instance安装桌面功能 大概需要十多分钟, export DEBIAN_FRONTEND=noninteractive sudo -E apt-get update sudo -E apt-get install -y ubuntu-desktop 6,安装XRDP和其它xfce4资源 sudo apt-get install xfce4 xrdp sudo apt-get install xfce4 xfce4-goodies 7,设置xfce4为RDP连接的默认window manager echo xfce4-session > ~/.xsession 8,拷贝.xsession 到 /etc/skel 目录 这样新的用户名被创建的时候,xfce4 自动被设置为默认的 window manager sudo cp /home/ubuntu/.xsession /etc/skel 9,修改xrdp.ini配置文件 当进行远程连接时允许改变主机端口,在 [xrdp1]区 port=-1 改为: port=ask-1 10,重启xrdp sudo service xrdp restart 11,在本地Windows端进行连接 打开Remote Desktop Connection, 输入Public DNS,点连接, 在“Login to xrdp”界面输入sesman-Xvnc, ubuntu和先前设置的密码,端口设置为-1,点OK 连接成功如下图所示: 参考链接: 1, Connect to an Amazon EC2 Linux instance with desktop functionality from Windows 2, How-to-set-up-gui-on-amazon-ec2-ubuntu-server