- 初心者・新人研修
AWS CodebuildからRDSやEC2に接続する方法
- VB.NET
AWS Codebuildから特定のリソースに接続するには、接続先のリソースと同じVPC内にある必要があります。今回はCodebuildからRDSやEC2に接続する方法について紹介します。
NATゲートウェイの作成
【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc. 詳細はこちらから>
まずは接続先のリソースと同じVPC内でNATゲートウェイを作成します。サブネットはパブリックにしたいサブネットを選択します。Elastic IPを新たに割り当てます。
*該当VPC内に既にNATゲートウェイがある場合は作成不要です。
インターネットゲートウェイの作成
次に、インターネットゲートウェイを作成します。作成できたら、インターネットゲートウェイを該当するVPCにアタッチします。
*該当VPC内に既にインターネットゲートウェイがある場合は作成不要です。
ルートテーブルの編集
先ほど作成したNATゲートウェイをプライベートサブネットが関連付けされているルートテーブルのルートに追加します。また、先ほど作成したインターネットゲートウェイをパブリックサブネットが関連付けされているルートテーブルのルートに追加します。送信先は両方とも0.0.0.0/0に設定します。
Codebuildサービスロールの修正
Codebuildを同じVPCに入れるには権限を付与する必要があります。接続元となるCodebuildのサービスロールに新たなインラインポリシーを作成します。ポリシーは下記の通りですが、「Resource」を指定する部分は実際に利用するリソースのIDに置き換えてください。
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Action”: [
“ec2:CreateNetworkInterface”,
“ec2:DescribeDhcpOptions”,
“ec2:DescribeNetworkInterfaces”,
“ec2:DeleteNetworkInterface”,
“ec2:DescribeSubnets”,
“ec2:DescribeSecurityGroups”,
“ec2:DescribeVpcs”
],
“Resource”: “*”
},
{
“Effect”: “Allow”,
“Action”: [
“ec2:CreateNetworkInterfacePermission”
],
“Resource”: “arn:aws:ec2:リージョン:AWSアカウントID:network-interface/*”,
“Condition”: {
“StringEquals”: {
“ec2:AuthorizedService”: “codebuild.amazonaws.com”
},
“ArnEquals”: {
“ec2:Subnet”: [
“arn:aws:ec2:リージョン:AWSアカウントID:subnet/利用したいプライベートサブネットID”
]
}
}
}
]
}
CodebuildにVPCを追加
上記のサービスロールの編集ができたら、Codebuildを接続したいリソースと同じVPCに追加します。Codebuildの「編集」から「環境」の追加設定からVPCを設定できます。
サブネットはプライベートサブネットを選択します。数はいくつでも構いません。また、こちらで選択したプライベートサブネットは、サービスロールを修正する際に設定したインラインポリシーで許可したプライベートサブネットになります。
セキュリティグループはリソース(RDSやEC2)に接続できるセキュリティグループを選択します。
VPCを設定できたら、「VPC設定の確認」ボタンを押して、スクショのように「インターネットに接続されています」という表示が出たら大丈夫です。
ここまで設定できたら、CodebuildからRDSやEC2に接続できるようになります。
【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>