Is domain required?
Is domain necessary for a website? Can't we see websites using the public ip address of the machine-like 65.2.10.98? I am unable to get a free domain name. I have tried freenom but it always shows domain not available. If it's necessary to have a domain please tell me a website from where I can get just a domain name for free because I have a Linux server up and running in AWS
Yes. You can use a public IP address for your website.
Domain names are solely meant for us humans to better find what we are looking for in the world wide web.
example.com is easier than 93.184.216.34
.
But it is not a requirement to have a domain.
Although, I want to point out that IP addresses, especially IPv4 addresses are not as static as you think. You did not provide any details, but if you are not willing to pay for a domain I guess you are using the free tier EC2 instances. If you reboot/terminate such an instance, the IPv4 is likely to change. So your website is not available under the old IPv4 address anymore. Domains solve this problem because you can just point the domain to the new IPv4 address.
Since you are using AWS, and seems to not mind any form of domain name, try CloudFront. It will give you a default domain name like so:
http://d111111abcdef8.cloudfront.net/
You can configure your EC2 as the origin for the CloudFront distribution. It has added benefits of DDoS and CDN too.