[解決済み] EIP:AddressLimitExceeded
2022-02-12 16:34:03
質問
RStudio Server 用の EC2 インスタンスをスピンアップする CloudFormation テンプレートがあります。
AWSTemplateFormatVersion: 2010-09-09
Description: Sets up an RStudio and Shiny environment on AWS
Parameters:
InstanceType:
Type: String
Description: Instance type for RStudio. Default is t2.micro.
AllowedValues:
- t2.micro
- t2.small
- t2.medium
- t2.large
- t2.xlarge
- t2.2xlarge
- m4.large
- m4.xlarge
- m4.2xlarge
- m4.4xlarge
- m4.10xlarge
- m4.16xlarge
- c4.large
- c4.xlarge
- c4.2xlarge
- c4.4xlarge
- c4.8xlarge
- r4.large
- r4.xlarge
- r4.2xlarge
- r4.4xlarge
- r4.8xlarge
- r4.16xlarge
- g2.2xlarge
- g2.8xlarge
- p2.xlarge
- p2.8xlarge
- p2.16xlarge
- g3.4xlarge
- g3.8xlarge
- g3.16xlarge
ConstraintDescription: Valid instance type in the t2, m4, c4, r4, g2, p2, and g3 families
Default: t2.micro
ImageId:
Type: AWS::EC2::Image::Id
Description: Amazon Linux Image ID. Default is for 2017.03.01 (HVM). N.B. If you want more storage then you should update your image
Default: ami-4fffc834
VpcId:
Type: AWS::EC2::VPC::Id
Description: VPC this server will reside in
InitialUser:
Type: String
Description: User Name for RStudio
InitialPassword:
Type: String
Description: Password for RStudio. Please keep in your records as this will not be echoed in the CloudFormation Console
NoEcho: True
RStatsS3Bucket:
Type: String
Description: Name of the S3 bucket
KeyPair:
Type: "AWS::EC2::KeyPair::KeyName"
Description: Amazon EC2 Key Pair
SubnetId:
Type: "AWS::EC2::Subnet::Id"
Description: Subnet ID your instance will launch in. Should be Internet accessible for the purposes of this demo.
Resources:
RStatsS3ReadPolicy:
Type: AWS::IAM::Policy
Properties:
PolicyName: RStatsS3ReadPolicy
PolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Action:
- "s3:ListBucket"
Resource:
- !Sub "arn:aws:s3:::${RStatsS3Bucket}"
- Effect: Allow
Action:
- "s3:PutObject"
- "s3:GetObject"
- "s3:DeleteObject"
Resource:
- !Sub "arn:aws:s3:::${RStatsS3Bucket}/*"
Roles:
- !Ref RStatsS3ReadRole
RStatsS3ReadRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Principal:
Service:
- "ec2.amazonaws.com"
Action:
- "sts:AssumeRole"
RstatsEC2SecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
SecurityGroupIngress:
- CidrIp: "0.0.0.0/0"
FromPort: 22
ToPort: 22
IpProtocol: tcp
- CidrIp: "0.0.0.0/0"
FromPort: 8787
ToPort: 8787
IpProtocol: tcp
- CidrIp: "0.0.0.0/0"
FromPort: 3838
ToPort: 3838
IpProtocol: tcp
GroupDescription: RStudio and Shiny Security Group
VpcId: !Ref VpcId
RStatsEIP:
Type: AWS::EC2::EIP
Properties:
Domain: !Ref VpcId
RStatsEIPAssociation:
Type: AWS::EC2::EIPAssociation
Properties:
AllocationId: !GetAtt RStatsEIP.AllocationId
NetworkInterfaceId: !Ref RStatsNetworkInterface
RStatsNetworkInterface:
Type: AWS::EC2::NetworkInterface
Properties:
SubnetId: !Ref SubnetId
Description: Interface for RStudio Connection
GroupSet:
- !Ref RstatsEC2SecurityGroup
SourceDestCheck: true
RStatsEC2Instance:
Type: AWS::EC2::Instance
DependsOn: RStatsEIPAssociation
Properties:
ImageId: !Ref ImageId
InstanceType: !Ref InstanceType
KeyName: !Ref KeyPair
NetworkInterfaces:
- NetworkInterfaceId: !Ref RStatsNetworkInterface
DeviceIndex: 0
Tags:
- Key: Name
Value: RStudio
UserData:
Fn::Base64: !Sub |
#!/bin/bash
#install R
yum install -y R
#install RStudio-Server 1.0.153 (2017-07-20)
wget https://download2.rstudio.org/server/centos6/x86_64/rstudio-server-rhel-1.2.1335-x86_64.rpm
yum install -y --nogpgcheck rstudio-server-rhel-1.2.1335-x86_64.rpm
rm rstudio-server-rhel-1.2.1335-x86_64.rpm
#install shiny and shiny-server (2017-08-25)
R -e "install.packages('shiny', repos='http://cran.rstudio.com/')"
wget https://download3.rstudio.org/centos6.3/x86_64/shiny-server-1.5.9.923-x86_64.rpm
yum install -y --nogpgcheck shiny-server-1.5.9.923-x86_64.rpm
#add user(s)
useradd ${InitialUser}
echo ${InitialUser}:${InitialPassword} | chpasswd
# install curl
yum install -y curl-devel
# Use Shiny server
/opt/shiny-server/bin/deploy-example user-dirs
mkdir /home/${InitialUser}/ShinyApps
# copy in some test data
cp -R /opt/shiny-server/samples/sample-apps/hello /home/${InitialUser}/ShinyApps/
Outputs:
RStudioURL:
Value: !Join [":", [!GetAtt RStatsEC2Instance.PublicDnsName, "8787"]]
ShinyStudioURL:
Value: !Join [":", [!GetAtt RStatsEC2Instance.PublicDnsName, !Sub "3838/${InitialUser}/MyApp"]]
PublicIp:
Value: !GetAtt RStatsEC2Instance.PublicIp
このテンプレートで5つのインスタンスをスピンアップしました。このテンプレートで5つのインスタンスを起動しましたが、このエラーが発生しました。
The maximum number of addresses has been reached. (Service: AmazonEC2; Status Code: 400; Error Code: AddressLimitExceeded; Request ID: 6c8acda5-b399-4239-aa30-265a4371bc6d)
AmazonのプールからさらにIPアドレスを作成しようとしたのですが、このようなエラーに見舞われました。
The maximum number of addresses has been reached.
すでに持っているアドレスを再利用できますか?
解決方法を教えてください。
Elastic IPの主な用途は、HAソリューションとして、インスタンスに障害が発生した場合に、あるインスタンスから別のインスタンスにIPを移動することを可能にすることです。
もし、RStudioインスタンスが一般に到達可能であれば、起動時にパブリックIP(Elastic IPではない)を有効にしてください。これは次のように行います。
AssociatePublicIpAddress
を、該当する
AWS::EC2::NetworkInterface
.
関連
-
[解決済み】S3 Bucket アクションがどのリソースにも適用されない
-
[解決済み] s3 - HeadObject 操作を呼び出すときに、エラーが発生しました (403)。Forbidden
-
[解決済み] aws cloudformationはリストでFn::Joinを使用します。
-
[解決済み] Amazon Redshift - CSVからのCOPY - 行に二重引用符が一つある - CSVの引用符の書式が無効である エラー
-
[解決済み] SQSとRabbitMQの比較
-
[解決済み] AWS SNSとAWS SQSのFIFOキューを統合することは可能か?
-
[解決済み] AWS 0.0.0.0/0と::/0の意味は何ですか?
-
[解決済み] amazon dynamodbのパーティションキーとソートキーの違いは何ですか?
-
[解決済み] EC2でインスタンスを削除するには?
-
[解決済み】FilezillaとSFTPを使用してAmazon EC2のファイルディレクトリに接続する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] AMI保管コスト
-
[解決済み] AWS ElasticsearchとAWS Redshiftの違いは何ですか?
-
[解決済み] as select in redshiftに挿入する。
-
[解決済み] amazon cloudfront と amazon s3 transfer acceleration の違いは何ですか?
-
[解決済み] リクエストに含まれるセキュリティトークンの有効期限が切れている
-
[解決済み] プライマリネームサーバが親に登録されていない
-
[解決済み] AWS SNSとAWS SQSのFIFOキューを統合することは可能か?
-
[解決済み] AWS CLIでワイルドカードを使用してファイル群を`cp`するにはどうすればよいですか。
-
[解決済み] aws-cliでdynamodbのitemを返却する方法
-
[解決済み] AWSプライベートリンクとVPCエンドポイント