0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【EKS】ワーカーノードにユーザデータを設定する【CloudFormation】

Posted at

業務で EKS を使用したインフラ構築の案件があった。EKS 自体は他の案件でやったことがあったので今回もおなじように構築しようとしたら、「プロキシ設定しないとインターネットに接続できません。」と言われた。ほぅ、プロキシの設定ってどうやるねん、もっというと、EKS のワーカーノードにプロキシの設定ってどうやんねん、と大変困った。まぁ、ワーカノードってEC2インスタンス群なので、ユーザデータにプロキシ設定書いてあげればいいかって感じだったが、EKS のワーカノード設定画面にユーザデータ設定項目がない!!もしかして、ワーカノードのインスタンにユーザデータの設定って出来ないの?

CloudFormationを使用してワーカノードにユーザデータを設定する

ワーカノードにどうやってユーザデータを設定すればいいかは、そのものずばりでプロキシの設定方法とともに公式ページに記載がある。よくあるケースなのかな?

つまりは CloudFormation を利用してユーザデータを設定するのである。CloudFormation を使用したワーカノードの作成サンプルも提供されているのでそれを参考にしユーザデータの挿入の箇所をプロキシ設定用に変更すればよい。

~~省略~~
      InstanceType: !Ref NodeInstanceType
      KeyName: !Ref KeyName
      SecurityGroups:
        - Ref: NodeSecurityGroup
      UserData: !Base64
        "Fn::Sub": |
          Content-Type: multipart/mixed; boundary="==BOUNDARY=="
          MIME-Version:  1.0
          --==BOUNDARY==
          Content-Type: text/cloud-boothook; charset="us-ascii"
          
          #Set the proxy hostname and port
          PROXY="proxy.local:3128"
          MAC=$(curl -s http://169.254.169.254/latest/meta-data/mac/)
          VPC_CIDR=$(curl -s http://169.254.169.254/latest/meta-data/network/interfaces/macs/$MAC/vpc-ipv4-cidr-blocks | xargs | tr ' ' ',')
          
          #Create the docker systemd directory
          mkdir -p /etc/systemd/system/docker.service.d
          
          #Configure yum to use the proxy
          cloud-init-per instance yum_proxy_config cat << EOF >> /etc/yum.conf
          proxy=http://$PROXY
          EOF
~~省略~~

CloudFormation 楽しい

実は CloudFormation を触るのは今回が始めてだった。名前と機能は知っていたが覚えることが多そうで学習コストが高めたっだので敬遠していた。今回しかたなく触ってみたのだが、こりゃ便利だわ。各サービスの設定値や依存関係がぱっと見で把握できし、コードで管理しているので、いつ・誰が作成しても同じ構成になる。これからは IaC も勉強しなきゃですな。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?