プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • AWS
  • 【AWS】EC2「ユーザーデータ」、「インスタンスメタデータ」について
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【AWS】EC2「ユーザーデータ」、「インスタンスメタデータ」について

12.28

  • miyabisan2
  • コメントを書く

この記事は1分で読めます

ユーザーデータとは?

EC2が初回に実行するスクリプトの事で実行権限はroot権限になります。

用途

初回起動時に特定の目的を達成したい場合に使われます。

例

1
yum update

どこで設定できるか?

EC2作成時に「高度な詳細」の中で設定することが可能です。

記述形式

下記のいずれかから選ぶことが可能です。

  • シェルスクリプト形式
  • cloud-init形式

シェルスクリプト形式

1行目は「#!/bin/bash」から始まります。

1
2
3
4
#!/bin/bash
yum update -y
amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2
yum install -y httpd mariadb-server

cloud-init形式

1行目は「#cloud-config」から始まります。

1
2
3
4
5
6
7
8
9
10
11
12
#cloud-config
repo_update: true
repo_upgrade: all
 
packages:
- httpd
- mariadb-server
 
runcmd:
- [ sh, -c, "amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2" ]
- systemctl start httpd
- sudo systemctl enable httpd

実行ログ

なお、下記の場所にユーザーデータで実行したスクリプトのログが出力されています。

1
/var/log/cloud-init-output.log

インスタンスメタデータ

インスタンスの中に埋め込まれたデータ

例

  • EC2のIPアドレス
  • EC2のホストネーム
  • EC2が利用しているAMIのID番号

コマンド

下記コマンドでEC2メタデータを取得することができます。

1
ec2-metadata -オプション

また、curlコマンドで取得することも可能だったりします。

「ec2-metadataコマンド」と「curlコマンド」の使い分け

ec2-metadataコマンドは簡潔ですが、取得結果に余計な文字列も入ってきてしまいます。目視確認するときのみ使うようにしましょう。curlコマンドは取得結果が簡潔なのでプログラムでそのままデータ処理したい場合等に使うようにしましょう。例えば、上記でご紹介させていただいたユーザーデータでホスト名を設定するという処理でホスト名をcurlで取得して設定するというようなこともしたりします。

なお、ec2-metadataコマンドはAmazon Linuxではデフォルトでインストールされていますが、その他のOSの場合はクラウドユーティルズというソフトウェアをインストールする必要があるので注意です。

スポンサーリンク
  • 2020 12.28
  • miyabisan2
  • コメントを書く
  • AWS
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2020 06.09

    【AWS】EC2の構築手順、SSH設定手順

  2. 2020 12.31

    【AWS】「アーキテクチャ」の種類(モノリシック、SOA、マイクロサービス、サーバレス)

  3. 2021 01.16

    【AWS】「ストレージ」(S3、EFS、Glacier、Storage Gatewayなど)

  4. 2021 01.11

    【AWS】「AWS CLI」、初期設定、コマンドの基本、環境別設定(prod、dev)

  5. 2020 12.29

    【AWS】「CloudFormation」の概要、書き方

  6. 2020 12.29

    【AWS】EBSの基本、EC2へ「EBS」をマウントする手順

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【AWS】EC2の「インスタンスタイプ」、「購入オプシ…

【AWS】EBSの基本、EC2へ「EBS」をマウントす…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー